RestApiPolicyArgs

data class RestApiPolicyArgs(val policy: Output<String>? = null, val restApiId: Output<String>? = null) : ConvertibleToJava<RestApiPolicyArgs>

Provides an API Gateway REST API Policy.

Note: Amazon API Gateway Version 1 resources are used for creating and deploying REST APIs. To create and deploy WebSocket and HTTP APIs, use Amazon API Gateway Version 2 resources.

Example Usage

Basic

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigateway.RestApi;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.apigateway.RestApiPolicy;
import com.pulumi.aws.apigateway.RestApiPolicyArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var testRestApi = new RestApi("testRestApi");
final var testPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(GetPolicyDocumentStatementArgs.builder()
.effect("Allow")
.principals(GetPolicyDocumentStatementPrincipalArgs.builder()
.type("AWS")
.identifiers("*")
.build())
.actions("execute-api:Invoke")
.resources(testRestApi.executionArn())
.conditions(GetPolicyDocumentStatementConditionArgs.builder()
.test("IpAddress")
.variable("aws:SourceIp")
.values("123.123.123.123/32")
.build())
.build())
.build());
var testRestApiPolicy = new RestApiPolicy("testRestApiPolicy", RestApiPolicyArgs.builder()
.restApiId(testRestApi.id())
.policy(testPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(testPolicyDocument -> testPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
.build());
}
}

Import

aws_api_gateway_rest_api_policy can be imported by using the REST API ID, e.g.,

$ pulumi import aws:apigateway/restApiPolicy:RestApiPolicy example 12345abcde

Constructors

Link copied to clipboard
constructor(policy: Output<String>? = null, restApiId: Output<String>? = null)

Properties

Link copied to clipboard
val policy: Output<String>? = null

JSON formatted policy document that controls access to the API Gateway.

Link copied to clipboard
val restApiId: Output<String>? = null

ID of the REST API.

Functions

Link copied to clipboard
open override fun toJava(): RestApiPolicyArgs