aws-apigateway.RestAPI
Explore with Pulumi AI
The RestAPI component offers a simple interface for creating a fully functional API Gateway REST API. The REST API can define any number of routes, each of which maps a path and HTTP method to one of (1) an event hander route that invokes a Lambda Function (2) a local path route which uploads local files into an S3 bucket and serves them or (3) an integration target such as an HTTP proxy or service integration.
Create RestAPI Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new RestAPI(name: string, args?: RestAPIArgs, opts?: ComponentResourceOptions);@overload
def RestAPI(resource_name: str,
            args: Optional[RestAPIArgs] = None,
            opts: Optional[ResourceOptions] = None)
@overload
def RestAPI(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            api_key_source: Optional[APIKeySource] = None,
            binary_media_types: Optional[Sequence[str]] = None,
            description: Optional[str] = None,
            disable_execute_api_endpoint: Optional[bool] = None,
            gateway_responses: Optional[Mapping[str, SwaggerGatewayResponseArgs]] = None,
            request_validator: Optional[RequestValidator] = None,
            routes: Optional[Sequence[RouteArgs]] = None,
            stage_name: Optional[str] = None,
            static_routes_bucket: Optional[pulumi_aws.s3.Bucket] = None,
            swagger_string: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None)func NewRestAPI(ctx *Context, name string, args *RestAPIArgs, opts ...ResourceOption) (*RestAPI, error)public RestAPI(string name, RestAPIArgs? args = null, ComponentResourceOptions? opts = null)
public RestAPI(String name, RestAPIArgs args)
public RestAPI(String name, RestAPIArgs args, ComponentResourceOptions options)
type: aws-apigateway:RestAPI
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
 - The unique name of the resource.
 - args RestAPIArgs
 - The arguments to resource properties.
 - opts ComponentResourceOptions
 - Bag of options to control resource's behavior.
 
- resource_name str
 - The unique name of the resource.
 - args RestAPIArgs
 - The arguments to resource properties.
 - opts ResourceOptions
 - Bag of options to control resource's behavior.
 
- ctx Context
 - Context object for the current deployment.
 - name string
 - The unique name of the resource.
 - args RestAPIArgs
 - The arguments to resource properties.
 - opts ResourceOption
 - Bag of options to control resource's behavior.
 
- name string
 - The unique name of the resource.
 - args RestAPIArgs
 - The arguments to resource properties.
 - opts ComponentResourceOptions
 - Bag of options to control resource's behavior.
 
- name String
 - The unique name of the resource.
 - args RestAPIArgs
 - The arguments to resource properties.
 - options ComponentResourceOptions
 - Bag of options to control resource's behavior.
 
Constructor example
The following reference example uses placeholder values for all input properties.
var restAPIResource = new AwsApiGateway.RestAPI("restAPIResource", new()
{
    ApiKeySource = AwsApiGateway.APIKeySource.HEADER,
    BinaryMediaTypes = new()
    {
        "string",
    },
    Description = "string",
    DisableExecuteApiEndpoint = false,
    GatewayResponses = 
    {
        { "string", new AwsApiGateway.Inputs.SwaggerGatewayResponseArgs
        {
            ResponseParameters = 
            {
                { "string", "string" },
            },
            ResponseTemplates = 
            {
                { "string", "string" },
            },
            StatusCode = 0,
        } },
    },
    RequestValidator = AwsApiGateway.RequestValidator.ALL,
    Routes = new()
    {
        new AwsApiGateway.Inputs.RouteArgs
        {
            Path = "string",
            Data = "any",
            ContentType = "string",
            ApiKeyRequired = false,
            EventHandler = function,
            IamAuthEnabled = false,
            Index = "string",
            LocalPath = "string",
            Method = AwsApiGateway.Method.ANY,
            Authorizers = new()
            {
                new AwsApiGateway.Inputs.AuthorizerArgs
                {
                    ParameterName = "string",
                    AuthType = "string",
                    AuthorizerName = "string",
                    AuthorizerResultTtlInSeconds = 0,
                    Handler = function,
                    IdentitySource = new()
                    {
                        "string",
                    },
                    IdentityValidationExpression = "string",
                    MethodsToAuthorize = new()
                    {
                        "string",
                    },
                    ParameterLocation = "string",
                    ProviderARNs = new()
                    {
                        "string",
                    },
                    Type = "string",
                },
            },
            RequestValidator = AwsApiGateway.RequestValidator.ALL,
            RequiredParameters = new()
            {
                new AwsApiGateway.Inputs.RequiredParameterArgs
                {
                    In = "string",
                    Name = "string",
                },
            },
            Target = new AwsApiGateway.Inputs.TargetArgs
            {
                Type = AwsApiGateway.IntegrationType.Aws,
                ConnectionId = "string",
                ConnectionType = AwsApiGateway.IntegrationConnectionType.INTERNET,
                HttpMethod = "ANY",
                PassthroughBehaviour = AwsApiGateway.IntegrationPassthroughBehavior.When_no_match,
                Uri = "string",
            },
        },
    },
    StageName = "string",
    StaticRoutesBucket = bucket,
    SwaggerString = "string",
    Tags = 
    {
        { "string", "string" },
    },
});
example, err := awsapigateway.NewRestAPI(ctx, "restAPIResource", &awsapigateway.RestAPIArgs{
	ApiKeySource: awsapigateway.APIKeySourceHEADER,
	BinaryMediaTypes: []pulumi.String{
		pulumi.String("string"),
	},
	Description:               pulumi.String("string"),
	DisableExecuteApiEndpoint: pulumi.Bool(false),
	GatewayResponses: map[string]apigateway.SwaggerGatewayResponseArgs{
		"string": &apigateway.SwaggerGatewayResponseArgs{
			ResponseParameters: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			ResponseTemplates: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			StatusCode: pulumi.Float64(0),
		},
	},
	RequestValidator: awsapigateway.RequestValidatorALL,
	Routes: []apigateway.RouteArgs{
		{
			Path:           "string",
			Data:           "any",
			ContentType:    "string",
			ApiKeyRequired: false,
			EventHandler:   pulumi.Any(function),
			IamAuthEnabled: false,
			Index:          "string",
			LocalPath:      "string",
			Method:         awsapigateway.MethodANY,
			Authorizers: []apigateway.AuthorizerArgs{
				{
					ParameterName:                "string",
					AuthType:                     "string",
					AuthorizerName:               "string",
					AuthorizerResultTtlInSeconds: 0,
					Handler:                      pulumi.Any(function),
					IdentitySource: []string{
						"string",
					},
					IdentityValidationExpression: "string",
					MethodsToAuthorize: []string{
						"string",
					},
					ParameterLocation: "string",
					ProviderARNs: []pulumi.String{
						pulumi.String("string"),
					},
					Type: "string",
				},
			},
			RequestValidator: awsapigateway.RequestValidatorALL,
			RequiredParameters: []apigateway.RequiredParameterArgs{
				{
					In:   pulumi.String("string"),
					Name: pulumi.String("string"),
				},
			},
			Target: {
				Type:                 awsapigateway.IntegrationTypeAws,
				ConnectionId:         pulumi.String("string"),
				ConnectionType:       awsapigateway.IntegrationConnectionTypeINTERNET,
				HttpMethod:           pulumi.String("ANY"),
				PassthroughBehaviour: awsapigateway.IntegrationPassthroughBehavior_When_no_match,
				Uri:                  pulumi.String("string"),
			},
		},
	},
	StageName:          pulumi.String("string"),
	StaticRoutesBucket: pulumi.Any(bucket),
	SwaggerString:      pulumi.String("string"),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
var restAPIResource = new RestAPI("restAPIResource", RestAPIArgs.builder()
    .apiKeySource("HEADER")
    .binaryMediaTypes("string")
    .description("string")
    .disableExecuteApiEndpoint(false)
    .gatewayResponses(Map.of("string", Map.ofEntries(
        Map.entry("responseParameters", Map.of("string", "string")),
        Map.entry("responseTemplates", Map.of("string", "string")),
        Map.entry("statusCode", 0)
    )))
    .requestValidator("ALL")
    .routes(RouteArgs.builder()
        .path("string")
        .data("any")
        .contentType("string")
        .apiKeyRequired(false)
        .eventHandler(function)
        .iamAuthEnabled(false)
        .index("string")
        .localPath("string")
        .method("ANY")
        .authorizers(AuthorizerArgs.builder()
            .parameterName("string")
            .authType("string")
            .authorizerName("string")
            .authorizerResultTtlInSeconds(0)
            .handler(function)
            .identitySource("string")
            .identityValidationExpression("string")
            .methodsToAuthorize("string")
            .parameterLocation("string")
            .providerARNs("string")
            .type("string")
            .build())
        .requestValidator("ALL")
        .requiredParameters(RequiredParameterArgs.builder()
            .in("string")
            .name("string")
            .build())
        .target(TargetArgs.builder()
            .type("aws")
            .connectionId("string")
            .connectionType("INTERNET")
            .httpMethod("ANY")
            .passthroughBehaviour("when_no_match")
            .uri("string")
            .build())
        .build())
    .stageName("string")
    .staticRoutesBucket(bucket)
    .swaggerString("string")
    .tags(Map.of("string", "string"))
    .build());
rest_api_resource = aws_apigateway.RestAPI("restAPIResource",
    api_key_source=aws_apigateway.APIKeySource.HEADER,
    binary_media_types=["string"],
    description="string",
    disable_execute_api_endpoint=False,
    gateway_responses={
        "string": {
            "response_parameters": {
                "string": "string",
            },
            "response_templates": {
                "string": "string",
            },
            "status_code": 0,
        },
    },
    request_validator=aws_apigateway.RequestValidator.ALL,
    routes=[{
        "path": "string",
        "data": "any",
        "content_type": "string",
        "api_key_required": False,
        "event_handler": function,
        "iam_auth_enabled": False,
        "index": "string",
        "local_path": "string",
        "method": aws_apigateway.Method.ANY,
        "authorizers": [{
            "parameter_name": "string",
            "auth_type": "string",
            "authorizer_name": "string",
            "authorizer_result_ttl_in_seconds": 0,
            "handler": function,
            "identity_source": ["string"],
            "identity_validation_expression": "string",
            "methods_to_authorize": ["string"],
            "parameter_location": "string",
            "provider_arns": ["string"],
            "type": "string",
        }],
        "request_validator": aws_apigateway.RequestValidator.ALL,
        "required_parameters": [{
            "in_": "string",
            "name": "string",
        }],
        "target": {
            "type": aws_apigateway.IntegrationType.AWS,
            "connection_id": "string",
            "connection_type": aws_apigateway.IntegrationConnectionType.INTERNET,
            "http_method": "ANY",
            "passthrough_behaviour": aws_apigateway.IntegrationPassthroughBehavior.WHEN_NO_MATCH,
            "uri": "string",
        },
    }],
    stage_name="string",
    static_routes_bucket=bucket,
    swagger_string="string",
    tags={
        "string": "string",
    })
const restAPIResource = new aws_apigateway.RestAPI("restAPIResource", {
    apiKeySource: aws_apigateway.APIKeySource.HEADER,
    binaryMediaTypes: ["string"],
    description: "string",
    disableExecuteApiEndpoint: false,
    gatewayResponses: {
        string: {
            responseParameters: {
                string: "string",
            },
            responseTemplates: {
                string: "string",
            },
            statusCode: 0,
        },
    },
    requestValidator: aws_apigateway.RequestValidator.ALL,
    routes: [{
        path: "string",
        data: "any",
        contentType: "string",
        apiKeyRequired: false,
        eventHandler: _function,
        iamAuthEnabled: false,
        index: "string",
        localPath: "string",
        method: aws_apigateway.Method.ANY,
        authorizers: [{
            parameterName: "string",
            authType: "string",
            authorizerName: "string",
            authorizerResultTtlInSeconds: 0,
            handler: _function,
            identitySource: ["string"],
            identityValidationExpression: "string",
            methodsToAuthorize: ["string"],
            parameterLocation: "string",
            providerARNs: ["string"],
            type: "string",
        }],
        requestValidator: aws_apigateway.RequestValidator.ALL,
        requiredParameters: [{
            "in": "string",
            name: "string",
        }],
        target: {
            type: aws_apigateway.IntegrationType.Aws,
            connectionId: "string",
            connectionType: aws_apigateway.IntegrationConnectionType.INTERNET,
            httpMethod: "ANY",
            passthroughBehaviour: aws_apigateway.IntegrationPassthroughBehavior.When_no_match,
            uri: "string",
        },
    }],
    stageName: "string",
    staticRoutesBucket: bucket,
    swaggerString: "string",
    tags: {
        string: "string",
    },
});
type: aws-apigateway:RestAPI
properties:
    apiKeySource: HEADER
    binaryMediaTypes:
        - string
    description: string
    disableExecuteApiEndpoint: false
    gatewayResponses:
        string:
            responseParameters:
                string: string
            responseTemplates:
                string: string
            statusCode: 0
    requestValidator: ALL
    routes:
        - apiKeyRequired: false
          authorizers:
            - authType: string
              authorizerName: string
              authorizerResultTtlInSeconds: 0
              handler: ${function}
              identitySource:
                - string
              identityValidationExpression: string
              methodsToAuthorize:
                - string
              parameterLocation: string
              parameterName: string
              providerARNs:
                - string
              type: string
          contentType: string
          data: any
          eventHandler: ${function}
          iamAuthEnabled: false
          index: string
          localPath: string
          method: ANY
          path: string
          requestValidator: ALL
          requiredParameters:
            - in: string
              name: string
          target:
            connectionId: string
            connectionType: INTERNET
            httpMethod: ANY
            passthroughBehaviour: when_no_match
            type: aws
            uri: string
    stageName: string
    staticRoutesBucket: ${bucket}
    swaggerString: string
    tags:
        string: string
RestAPI Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The RestAPI resource accepts the following input properties:
- Api
Key Pulumi.Source Aws Api Gateway. APIKey Source  - The source for the apikey. This can either be a HEADER or AUTHORIZER. If 
apiKeyRequiredis set to true on a route, and this is not defined the value will default to HEADER. - Binary
Media List<string>Types  - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the body argument, this corresponds to the x-amazon-apigateway-binary-media-types extension. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
 - Description string
 - Description of the REST API.
 - Disable
Execute boolApi Endpoint  - Whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to false.
 - Gateway
Responses Dictionary<string, Pulumi.Aws Api Gateway. Inputs. Swagger Gateway Response Args>  - Define custom gateway responses for the API. This can be used to properly enable CORS for Lambda Authorizers.
 - Request
Validator Pulumi.Aws Api Gateway. Request Validator  - Request Validator specifies the validator to use at the API level. Note method level validators override this.
 - Routes
List<Pulumi.
Aws Api Gateway. Inputs. Route>  Routes to use to initialize the APIGateway. These will be used to create the Swagger specification for the API.
Either
swaggerStringorroutesmust be specified.- Stage
Name string - The stage name for your API. This will get added as a base path to your API url.
 - Static
Routes Pulumi.Bucket Aws. S3. Bucket  Bucket to use for placing resources for static resources. If not provided a default one will be created on your behalf if any
StaticRoutes are provided.This type is defined in the AWS Classic package.
- Swagger
String string A Swagger specification already in string form to use to initialize the APIGateway. Note that you must manually provide permission for any route targets to be invoked by API Gateway when using
swaggerString.Either
swaggerStringorroutesmust be specified.- Dictionary<string, string>
 - 'Map of tags to assign to the resource. If configured with a provider 
defaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- Api
Key APIKeySource Source  - The source for the apikey. This can either be a HEADER or AUTHORIZER. If 
apiKeyRequiredis set to true on a route, and this is not defined the value will default to HEADER. - Binary
Media []stringTypes  - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the body argument, this corresponds to the x-amazon-apigateway-binary-media-types extension. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
 - Description string
 - Description of the REST API.
 - Disable
Execute boolApi Endpoint  - Whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to false.
 - Gateway
Responses map[string]SwaggerGateway Response Args  - Define custom gateway responses for the API. This can be used to properly enable CORS for Lambda Authorizers.
 - Request
Validator RequestValidator  - Request Validator specifies the validator to use at the API level. Note method level validators override this.
 - Routes
[]Route
Args  Routes to use to initialize the APIGateway. These will be used to create the Swagger specification for the API.
Either
swaggerStringorroutesmust be specified.- Stage
Name string - The stage name for your API. This will get added as a base path to your API url.
 - Static
Routes BucketBucket  Bucket to use for placing resources for static resources. If not provided a default one will be created on your behalf if any
StaticRoutes are provided.This type is defined in the AWS Classic package.
- Swagger
String string A Swagger specification already in string form to use to initialize the APIGateway. Note that you must manually provide permission for any route targets to be invoked by API Gateway when using
swaggerString.Either
swaggerStringorroutesmust be specified.- map[string]string
 - 'Map of tags to assign to the resource. If configured with a provider 
defaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- api
Key APIKeySource Source  - The source for the apikey. This can either be a HEADER or AUTHORIZER. If 
apiKeyRequiredis set to true on a route, and this is not defined the value will default to HEADER. - binary
Media List<String>Types  - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the body argument, this corresponds to the x-amazon-apigateway-binary-media-types extension. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
 - description String
 - Description of the REST API.
 - disable
Execute BooleanApi Endpoint  - Whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to false.
 - gateway
Responses Map<String,SwaggerGateway Response Args>  - Define custom gateway responses for the API. This can be used to properly enable CORS for Lambda Authorizers.
 - request
Validator RequestValidator  - Request Validator specifies the validator to use at the API level. Note method level validators override this.
 - routes List<Route>
 Routes to use to initialize the APIGateway. These will be used to create the Swagger specification for the API.
Either
swaggerStringorroutesmust be specified.- stage
Name String - The stage name for your API. This will get added as a base path to your API url.
 - static
Routes BucketBucket  Bucket to use for placing resources for static resources. If not provided a default one will be created on your behalf if any
StaticRoutes are provided.This type is defined in the AWS Classic package.
- swagger
String String A Swagger specification already in string form to use to initialize the APIGateway. Note that you must manually provide permission for any route targets to be invoked by API Gateway when using
swaggerString.Either
swaggerStringorroutesmust be specified.- Map<String,String>
 - 'Map of tags to assign to the resource. If configured with a provider 
defaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- api
Key APIKeySource Source  - The source for the apikey. This can either be a HEADER or AUTHORIZER. If 
apiKeyRequiredis set to true on a route, and this is not defined the value will default to HEADER. - binary
Media string[]Types  - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the body argument, this corresponds to the x-amazon-apigateway-binary-media-types extension. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
 - description string
 - Description of the REST API.
 - disable
Execute booleanApi Endpoint  - Whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to false.
 - gateway
Responses {[key: string]: SwaggerGateway Response Args}  - Define custom gateway responses for the API. This can be used to properly enable CORS for Lambda Authorizers.
 - request
Validator RequestValidator  - Request Validator specifies the validator to use at the API level. Note method level validators override this.
 - routes Route[]
 Routes to use to initialize the APIGateway. These will be used to create the Swagger specification for the API.
Either
swaggerStringorroutesmust be specified.- stage
Name string - The stage name for your API. This will get added as a base path to your API url.
 - static
Routes pulumiBucket Awss3Bucket  Bucket to use for placing resources for static resources. If not provided a default one will be created on your behalf if any
StaticRoutes are provided.This type is defined in the AWS Classic package.
- swagger
String string A Swagger specification already in string form to use to initialize the APIGateway. Note that you must manually provide permission for any route targets to be invoked by API Gateway when using
swaggerString.Either
swaggerStringorroutesmust be specified.- {[key: string]: string}
 - 'Map of tags to assign to the resource. If configured with a provider 
defaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- api_
key_ APIKeysource Source  - The source for the apikey. This can either be a HEADER or AUTHORIZER. If 
apiKeyRequiredis set to true on a route, and this is not defined the value will default to HEADER. - binary_
media_ Sequence[str]types  - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the body argument, this corresponds to the x-amazon-apigateway-binary-media-types extension. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
 - description str
 - Description of the REST API.
 - disable_
execute_ boolapi_ endpoint  - Whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to false.
 - gateway_
responses Mapping[str, SwaggerGateway Response Args]  - Define custom gateway responses for the API. This can be used to properly enable CORS for Lambda Authorizers.
 - request_
validator RequestValidator  - Request Validator specifies the validator to use at the API level. Note method level validators override this.
 - routes
Sequence[Route
Args]  Routes to use to initialize the APIGateway. These will be used to create the Swagger specification for the API.
Either
swaggerStringorroutesmust be specified.- stage_
name str - The stage name for your API. This will get added as a base path to your API url.
 - static_
routes_ pulumi_bucket aws.s3. Bucket  Bucket to use for placing resources for static resources. If not provided a default one will be created on your behalf if any
StaticRoutes are provided.This type is defined in the AWS Classic package.
- swagger_
string str A Swagger specification already in string form to use to initialize the APIGateway. Note that you must manually provide permission for any route targets to be invoked by API Gateway when using
swaggerString.Either
swaggerStringorroutesmust be specified.- Mapping[str, str]
 - 'Map of tags to assign to the resource. If configured with a provider 
defaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
- api
Key "HEADER" | "AUTHORIZER"Source  - The source for the apikey. This can either be a HEADER or AUTHORIZER. If 
apiKeyRequiredis set to true on a route, and this is not defined the value will default to HEADER. - binary
Media List<String>Types  - List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the body argument, this corresponds to the x-amazon-apigateway-binary-media-types extension. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
 - description String
 - Description of the REST API.
 - disable
Execute BooleanApi Endpoint  - Whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to false.
 - gateway
Responses Map<Property Map> - Define custom gateway responses for the API. This can be used to properly enable CORS for Lambda Authorizers.
 - request
Validator "ALL" | "PARAMS_ONLY" | "BODY_ONLY" - Request Validator specifies the validator to use at the API level. Note method level validators override this.
 - routes List<Property Map>
 Routes to use to initialize the APIGateway. These will be used to create the Swagger specification for the API.
Either
swaggerStringorroutesmust be specified.- stage
Name String - The stage name for your API. This will get added as a base path to your API url.
 - static
Routes aws:s3:BucketBucket  Bucket to use for placing resources for static resources. If not provided a default one will be created on your behalf if any
StaticRoutes are provided.This type is defined in the AWS Classic package.
- swagger
String String A Swagger specification already in string form to use to initialize the APIGateway. Note that you must manually provide permission for any route targets to be invoked by API Gateway when using
swaggerString.Either
swaggerStringorroutesmust be specified.- Map<String>
 - 'Map of tags to assign to the resource. If configured with a provider 
defaultTagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. 
Outputs
All input properties are implicitly available as output properties. Additionally, the RestAPI resource produces the following output properties:
- Api
Pulumi.
Aws. Api Gateway. Rest Api  The underlying RestAPI resource.
This type is defined in the AWS Classic package.
- Deployment
Pulumi.
Aws. Api Gateway. Deployment  The underlying Deployment resource.
This type is defined in the AWS Classic package.
- Stage
Pulumi.
Aws. Api Gateway. Stage  The underlying Stage resource.
This type is defined in the AWS Classic package.
- Url string
 - The URL where the Rest API is exposed.
 - Api
Policy Pulumi.Aws. Api Gateway. Rest Api Policy  The underlying RestAPIPolicy resource.
This type is defined in the AWS Classic package.
- Api
Rest
Api  The underlying RestAPI resource.
This type is defined in the AWS Classic package.
- Deployment Deployment
 The underlying Deployment resource.
This type is defined in the AWS Classic package.
- Stage Stage
 The underlying Stage resource.
This type is defined in the AWS Classic package.
- Url string
 - The URL where the Rest API is exposed.
 - Api
Policy RestApi Policy  The underlying RestAPIPolicy resource.
This type is defined in the AWS Classic package.
- api
Rest
Api  The underlying RestAPI resource.
This type is defined in the AWS Classic package.
- deployment Deployment
 The underlying Deployment resource.
This type is defined in the AWS Classic package.
- stage Stage
 The underlying Stage resource.
This type is defined in the AWS Classic package.
- url String
 - The URL where the Rest API is exposed.
 - api
Policy RestApi Policy  The underlying RestAPIPolicy resource.
This type is defined in the AWS Classic package.
- api
pulumi
Awsapigateway Rest Api  The underlying RestAPI resource.
This type is defined in the AWS Classic package.
- deployment
pulumi
Awsapigateway Deployment  The underlying Deployment resource.
This type is defined in the AWS Classic package.
- stage
pulumi
Awsapigateway Stage  The underlying Stage resource.
This type is defined in the AWS Classic package.
- url string
 - The URL where the Rest API is exposed.
 - api
Policy pulumiAwsapigateway Rest Api Policy  The underlying RestAPIPolicy resource.
This type is defined in the AWS Classic package.
- api
pulumi_
aws.apigateway. Rest Api  The underlying RestAPI resource.
This type is defined in the AWS Classic package.
- deployment
pulumi_
aws.apigateway. Deployment  The underlying Deployment resource.
This type is defined in the AWS Classic package.
- stage
pulumi_
aws.apigateway. Stage  The underlying Stage resource.
This type is defined in the AWS Classic package.
- url str
 - The URL where the Rest API is exposed.
 - api_
policy pulumi_aws.apigateway. Rest Api Policy  The underlying RestAPIPolicy resource.
This type is defined in the AWS Classic package.
- api
aws:apigateway:Rest
Api  The underlying RestAPI resource.
This type is defined in the AWS Classic package.
- deployment aws:apigateway:Deployment
 The underlying Deployment resource.
This type is defined in the AWS Classic package.
- stage aws:apigateway:Stage
 The underlying Stage resource.
This type is defined in the AWS Classic package.
- url String
 - The URL where the Rest API is exposed.
 - api
Policy aws:apigateway:RestApi Policy  The underlying RestAPIPolicy resource.
This type is defined in the AWS Classic package.
Supporting Types
APIKeySource, APIKeySourceArgs    
- HEADER
 - HEADER
 - AUTHORIZER
 - AUTHORIZER
 
- APIKey
Source HEADER  - HEADER
 - APIKey
Source AUTHORIZER  - AUTHORIZER
 
- HEADER
 - HEADER
 - AUTHORIZER
 - AUTHORIZER
 
- HEADER
 - HEADER
 - AUTHORIZER
 - AUTHORIZER
 
- HEADER
 - HEADER
 - AUTHORIZER
 - AUTHORIZER
 
- "HEADER"
 - HEADER
 - "AUTHORIZER"
 - AUTHORIZER
 
Authorizer, AuthorizerArgs  
- Parameter
Name string - parameterName is the name of the header or query parameter containing the authorization token. Must be "Unused" for multiple identity sources.
 - Auth
Type string - Specifies the authorization mechanism for the client. Typical values are "oauth2" or "custom".
 - string
 - The name for the Authorizer to be referenced as. This must be unique for each unique authorizer within the API. If no name if specified, a name will be generated for you.
 - double
 - The number of seconds during which the resulting IAM policy is cached. Default is 300s. You can set this value to 0 to disable caching. Max value is 3600s. Note - if you are sharing an authorizer across more than one route you will want to disable the cache or else it will cause problems for you.
 - Handler
Pulumi.
Aws. Lambda. Function  The authorizerHandler specifies information about the authorizing Lambda.
This type is defined in the AWS Classic package.
- Identity
Source List<string> - List of mapping expressions of the request parameters as the identity source. This indicates where in the request identity information is expected. Applicable for the authorizer of the "request" type only. Example: ["method.request.header.HeaderAuth1", "method.request.querystring.QueryString1"]
 - Identity
Validation stringExpression  - A regular expression for validating the token as the incoming identity. It only invokes the authorizer's lambda if there is a match, else it will return a 401. This does not apply to REQUEST Lambda Authorizers. Example: "^x-[a-z]+".
 - List<string>
 - For method authorization, you can define resource servers and custom scopes by specifying the "resource-server/scope". e.g. ["com.hamuta.movies/drama.view", "http://my.resource.com/file.read"] For more information on resource servers and custom scopes visit the AWS documentation - https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-define-resource-servers.html
 - Parameter
Location string - Defines where in the request API Gateway should look for identity information. The value must be "header" or "query". If there are multiple identity sources, the value must be "header".
 - Provider
ARNs List<string> - The ARNs of the Cognito User Pools to use.
 - Type string
 - The type of the authorizer. This value must be one of the following:
- "token", for an authorizer with the caller identity embedded in an authorization token
 - "request", for an authorizer with the caller identity contained in request parameters
 
 
- Parameter
Name string - parameterName is the name of the header or query parameter containing the authorization token. Must be "Unused" for multiple identity sources.
 - Auth
Type string - Specifies the authorization mechanism for the client. Typical values are "oauth2" or "custom".
 - string
 - The name for the Authorizer to be referenced as. This must be unique for each unique authorizer within the API. If no name if specified, a name will be generated for you.
 - float64
 - The number of seconds during which the resulting IAM policy is cached. Default is 300s. You can set this value to 0 to disable caching. Max value is 3600s. Note - if you are sharing an authorizer across more than one route you will want to disable the cache or else it will cause problems for you.
 - Handler Function
 The authorizerHandler specifies information about the authorizing Lambda.
This type is defined in the AWS Classic package.
- Identity
Source []string - List of mapping expressions of the request parameters as the identity source. This indicates where in the request identity information is expected. Applicable for the authorizer of the "request" type only. Example: ["method.request.header.HeaderAuth1", "method.request.querystring.QueryString1"]
 - Identity
Validation stringExpression  - A regular expression for validating the token as the incoming identity. It only invokes the authorizer's lambda if there is a match, else it will return a 401. This does not apply to REQUEST Lambda Authorizers. Example: "^x-[a-z]+".
 - []string
 - For method authorization, you can define resource servers and custom scopes by specifying the "resource-server/scope". e.g. ["com.hamuta.movies/drama.view", "http://my.resource.com/file.read"] For more information on resource servers and custom scopes visit the AWS documentation - https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-define-resource-servers.html
 - Parameter
Location string - Defines where in the request API Gateway should look for identity information. The value must be "header" or "query". If there are multiple identity sources, the value must be "header".
 - Provider
ARNs []string - The ARNs of the Cognito User Pools to use.
 - Type string
 - The type of the authorizer. This value must be one of the following:
- "token", for an authorizer with the caller identity embedded in an authorization token
 - "request", for an authorizer with the caller identity contained in request parameters
 
 
- parameter
Name String - parameterName is the name of the header or query parameter containing the authorization token. Must be "Unused" for multiple identity sources.
 - auth
Type String - Specifies the authorization mechanism for the client. Typical values are "oauth2" or "custom".
 - String
 - The name for the Authorizer to be referenced as. This must be unique for each unique authorizer within the API. If no name if specified, a name will be generated for you.
 - Double
 - The number of seconds during which the resulting IAM policy is cached. Default is 300s. You can set this value to 0 to disable caching. Max value is 3600s. Note - if you are sharing an authorizer across more than one route you will want to disable the cache or else it will cause problems for you.
 - handler Function
 The authorizerHandler specifies information about the authorizing Lambda.
This type is defined in the AWS Classic package.
- identity
Source List<String> - List of mapping expressions of the request parameters as the identity source. This indicates where in the request identity information is expected. Applicable for the authorizer of the "request" type only. Example: ["method.request.header.HeaderAuth1", "method.request.querystring.QueryString1"]
 - identity
Validation StringExpression  - A regular expression for validating the token as the incoming identity. It only invokes the authorizer's lambda if there is a match, else it will return a 401. This does not apply to REQUEST Lambda Authorizers. Example: "^x-[a-z]+".
 - List<String>
 - For method authorization, you can define resource servers and custom scopes by specifying the "resource-server/scope". e.g. ["com.hamuta.movies/drama.view", "http://my.resource.com/file.read"] For more information on resource servers and custom scopes visit the AWS documentation - https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-define-resource-servers.html
 - parameter
Location String - Defines where in the request API Gateway should look for identity information. The value must be "header" or "query". If there are multiple identity sources, the value must be "header".
 - provider
ARNs List<String> - The ARNs of the Cognito User Pools to use.
 - type String
 - The type of the authorizer. This value must be one of the following:
- "token", for an authorizer with the caller identity embedded in an authorization token
 - "request", for an authorizer with the caller identity contained in request parameters
 
 
- parameter
Name string - parameterName is the name of the header or query parameter containing the authorization token. Must be "Unused" for multiple identity sources.
 - auth
Type string - Specifies the authorization mechanism for the client. Typical values are "oauth2" or "custom".
 - string
 - The name for the Authorizer to be referenced as. This must be unique for each unique authorizer within the API. If no name if specified, a name will be generated for you.
 - number
 - The number of seconds during which the resulting IAM policy is cached. Default is 300s. You can set this value to 0 to disable caching. Max value is 3600s. Note - if you are sharing an authorizer across more than one route you will want to disable the cache or else it will cause problems for you.
 - handler
pulumi
Awslambda Function  The authorizerHandler specifies information about the authorizing Lambda.
This type is defined in the AWS Classic package.
- identity
Source string[] - List of mapping expressions of the request parameters as the identity source. This indicates where in the request identity information is expected. Applicable for the authorizer of the "request" type only. Example: ["method.request.header.HeaderAuth1", "method.request.querystring.QueryString1"]
 - identity
Validation stringExpression  - A regular expression for validating the token as the incoming identity. It only invokes the authorizer's lambda if there is a match, else it will return a 401. This does not apply to REQUEST Lambda Authorizers. Example: "^x-[a-z]+".
 - string[]
 - For method authorization, you can define resource servers and custom scopes by specifying the "resource-server/scope". e.g. ["com.hamuta.movies/drama.view", "http://my.resource.com/file.read"] For more information on resource servers and custom scopes visit the AWS documentation - https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-define-resource-servers.html
 - parameter
Location string - Defines where in the request API Gateway should look for identity information. The value must be "header" or "query". If there are multiple identity sources, the value must be "header".
 - provider
ARNs string[] - The ARNs of the Cognito User Pools to use.
 - type string
 - The type of the authorizer. This value must be one of the following:
- "token", for an authorizer with the caller identity embedded in an authorization token
 - "request", for an authorizer with the caller identity contained in request parameters
 
 
- parameter_
name str - parameterName is the name of the header or query parameter containing the authorization token. Must be "Unused" for multiple identity sources.
 - auth_
type str - Specifies the authorization mechanism for the client. Typical values are "oauth2" or "custom".
 - str
 - The name for the Authorizer to be referenced as. This must be unique for each unique authorizer within the API. If no name if specified, a name will be generated for you.
 - float
 - The number of seconds during which the resulting IAM policy is cached. Default is 300s. You can set this value to 0 to disable caching. Max value is 3600s. Note - if you are sharing an authorizer across more than one route you will want to disable the cache or else it will cause problems for you.
 - handler
pulumi_
aws.lambda_. Function  The authorizerHandler specifies information about the authorizing Lambda.
This type is defined in the AWS Classic package.
- identity_
source Sequence[str] - List of mapping expressions of the request parameters as the identity source. This indicates where in the request identity information is expected. Applicable for the authorizer of the "request" type only. Example: ["method.request.header.HeaderAuth1", "method.request.querystring.QueryString1"]
 - identity_
validation_ strexpression  - A regular expression for validating the token as the incoming identity. It only invokes the authorizer's lambda if there is a match, else it will return a 401. This does not apply to REQUEST Lambda Authorizers. Example: "^x-[a-z]+".
 - Sequence[str]
 - For method authorization, you can define resource servers and custom scopes by specifying the "resource-server/scope". e.g. ["com.hamuta.movies/drama.view", "http://my.resource.com/file.read"] For more information on resource servers and custom scopes visit the AWS documentation - https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-define-resource-servers.html
 - parameter_
location str - Defines where in the request API Gateway should look for identity information. The value must be "header" or "query". If there are multiple identity sources, the value must be "header".
 - provider_
arns Sequence[str] - The ARNs of the Cognito User Pools to use.
 - type str
 - The type of the authorizer. This value must be one of the following:
- "token", for an authorizer with the caller identity embedded in an authorization token
 - "request", for an authorizer with the caller identity contained in request parameters
 
 
- parameter
Name String - parameterName is the name of the header or query parameter containing the authorization token. Must be "Unused" for multiple identity sources.
 - auth
Type String - Specifies the authorization mechanism for the client. Typical values are "oauth2" or "custom".
 - String
 - The name for the Authorizer to be referenced as. This must be unique for each unique authorizer within the API. If no name if specified, a name will be generated for you.
 - Number
 - The number of seconds during which the resulting IAM policy is cached. Default is 300s. You can set this value to 0 to disable caching. Max value is 3600s. Note - if you are sharing an authorizer across more than one route you will want to disable the cache or else it will cause problems for you.
 - handler aws:lambda:Function
 The authorizerHandler specifies information about the authorizing Lambda.
This type is defined in the AWS Classic package.
- identity
Source List<String> - List of mapping expressions of the request parameters as the identity source. This indicates where in the request identity information is expected. Applicable for the authorizer of the "request" type only. Example: ["method.request.header.HeaderAuth1", "method.request.querystring.QueryString1"]
 - identity
Validation StringExpression  - A regular expression for validating the token as the incoming identity. It only invokes the authorizer's lambda if there is a match, else it will return a 401. This does not apply to REQUEST Lambda Authorizers. Example: "^x-[a-z]+".
 - List<String>
 - For method authorization, you can define resource servers and custom scopes by specifying the "resource-server/scope". e.g. ["com.hamuta.movies/drama.view", "http://my.resource.com/file.read"] For more information on resource servers and custom scopes visit the AWS documentation - https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-define-resource-servers.html
 - parameter
Location String - Defines where in the request API Gateway should look for identity information. The value must be "header" or "query". If there are multiple identity sources, the value must be "header".
 - provider
ARNs List<String> - The ARNs of the Cognito User Pools to use.
 - type String
 - The type of the authorizer. This value must be one of the following:
- "token", for an authorizer with the caller identity embedded in an authorization token
 - "request", for an authorizer with the caller identity contained in request parameters
 
 
IntegrationConnectionType, IntegrationConnectionTypeArgs      
- INTERNET
 - INTERNET
 - VPC_LINK
 - VPC_LINK
 
- Integration
Connection Type INTERNET  - INTERNET
 - Integration
Connection Type_VPC_LINK  - VPC_LINK
 
- INTERNET
 - INTERNET
 - VPC_LINK
 - VPC_LINK
 
- INTERNET
 - INTERNET
 - VPC_LINK
 - VPC_LINK
 
- INTERNET
 - INTERNET
 - VP_C_LINK
 - VPC_LINK
 
- "INTERNET"
 - INTERNET
 - "VPC_LINK"
 - VPC_LINK
 
IntegrationPassthroughBehavior, IntegrationPassthroughBehaviorArgs      
- When_
no_ match  - when_no_match
 - When_
no_ templates  - when_no_templates
 - Never
 - never
 
- Integration
Passthrough Behavior_When_ no_ match  - when_no_match
 - Integration
Passthrough Behavior_When_ no_ templates  - when_no_templates
 - Integration
Passthrough Behavior Never  - never
 
- When_
no_ match  - when_no_match
 - When_
no_ templates  - when_no_templates
 - Never
 - never
 
- When_
no_ match  - when_no_match
 - When_
no_ templates  - when_no_templates
 - Never
 - never
 
- WHEN_NO_MATCH
 - when_no_match
 - WHEN_NO_TEMPLATES
 - when_no_templates
 - NEVER
 - never
 
- "when_
no_ match"  - when_no_match
 - "when_
no_ templates"  - when_no_templates
 - "never"
 - never
 
IntegrationType, IntegrationTypeArgs    
- Aws
 - aws
 - Aws_
proxy  - aws_proxy
 - Http
 - http
 - Http_
proxy  - http_proxy
 - Mock
 - mock
 
- Integration
Type Aws  - aws
 - Integration
Type_Aws_ proxy  - aws_proxy
 - Integration
Type Http  - http
 - Integration
Type_Http_ proxy  - http_proxy
 - Integration
Type Mock  - mock
 
- Aws
 - aws
 - Aws_
proxy  - aws_proxy
 - Http
 - http
 - Http_
proxy  - http_proxy
 - Mock
 - mock
 
- Aws
 - aws
 - Aws_
proxy  - aws_proxy
 - Http
 - http
 - Http_
proxy  - http_proxy
 - Mock
 - mock
 
- AWS
 - aws
 - AWS_PROXY
 - aws_proxy
 - HTTP
 - http
 - HTTP_PROXY
 - http_proxy
 - MOCK
 - mock
 
- "aws"
 - aws
 - "aws_
proxy"  - aws_proxy
 - "http"
 - http
 - "http_
proxy"  - http_proxy
 - "mock"
 - mock
 
Method, MethodArgs  
- ANY
 - ANY
 - GET
 - GET
 - PUT
 - PUT
 - POST
 - POST
 - DELETE
 - DELETE
 - PATCH
 - PATCH
 - OPTIONS
 - OPTIONS
 - HEAD
 - HEAD
 
- Method
ANY  - ANY
 - Method
GET  - GET
 - Method
PUT  - PUT
 - Method
POST  - POST
 - Method
DELETE  - DELETE
 - Method
PATCH  - PATCH
 - Method
OPTIONS  - OPTIONS
 - Method
HEAD  - HEAD
 
- ANY
 - ANY
 - GET
 - GET
 - PUT
 - PUT
 - POST
 - POST
 - DELETE
 - DELETE
 - PATCH
 - PATCH
 - OPTIONS
 - OPTIONS
 - HEAD
 - HEAD
 
- ANY
 - ANY
 - GET
 - GET
 - PUT
 - PUT
 - POST
 - POST
 - DELETE
 - DELETE
 - PATCH
 - PATCH
 - OPTIONS
 - OPTIONS
 - HEAD
 - HEAD
 
- ANY
 - ANY
 - GET
 - GET
 - PUT
 - PUT
 - POST
 - POST
 - DELETE
 - DELETE
 - PATCH
 - PATCH
 - OPTIONS
 - OPTIONS
 - HEAD
 - HEAD
 
- "ANY"
 - ANY
 - "GET"
 - GET
 - "PUT"
 - PUT
 - "POST"
 - POST
 - "DELETE"
 - DELETE
 - "PATCH"
 - PATCH
 - "OPTIONS"
 - OPTIONS
 - "HEAD"
 - HEAD
 
RequestValidator, RequestValidatorArgs    
- ALL
 - ALL
 - PARAMS_ONLY
 - PARAMS_ONLY
 - BODY_ONLY
 - BODY_ONLY
 
- Request
Validator ALL  - ALL
 - Request
Validator_PARAMS_ONLY  - PARAMS_ONLY
 - Request
Validator_BODY_ONLY  - BODY_ONLY
 
- ALL
 - ALL
 - PARAMS_ONLY
 - PARAMS_ONLY
 - BODY_ONLY
 - BODY_ONLY
 
- ALL
 - ALL
 - PARAMS_ONLY
 - PARAMS_ONLY
 - BODY_ONLY
 - BODY_ONLY
 
- ALL
 - ALL
 - PARAM_S_ONLY
 - PARAMS_ONLY
 - BOD_Y_ONLY
 - BODY_ONLY
 
- "ALL"
 - ALL
 - "PARAMS_ONLY"
 - PARAMS_ONLY
 - "BODY_ONLY"
 - BODY_ONLY
 
RequiredParameter, RequiredParameterArgs    
Route, RouteArgs  
- Path string
 - The path on the API that will serve this route. If not prefixed with 
/, then a/will be added automatically to the beginning. - Api
Key boolRequired  - If true, an API key will be required for this route. The source for the API Key can be set at the API level and by default, the source will be the HEADER.
 - 
List<Pulumi.
Aws Api Gateway. Inputs. Authorizer>  - Authorizers allows you to define Lambda authorizers be applied for authorization when the the route is called.
 - Content
Type string - The 
content-typeto serve the file as. Only valid whenlocalPathpoints to a file. IflocalPathpoints to a directory, the content types for all files will be inferred. - Data object
 - A raw Swagger object to include verbatim in the integration for this path.
 - Event
Handler Pulumi.Aws. Lambda. Function  A Lambda function which will handle the route for the given path and method.
This type is defined in the AWS Classic package.
- Iam
Auth boolEnabled  - By default, the route method auth type is set to 
NONE. If true, the auth type will be set toAWS_IAM. - Index string | bool
 - By default a 
localPathhosting static content will also serve 'index.html' in response to a request on a directory. To disable this passfalseor supply a new index document name. - Local
Path string - The local path on disk to create static S3 resources for. Files will be uploaded into S3 objects, and directories will be recursively walked into.
 - Method
Pulumi.
Aws Api Gateway. Method  - The REST method of the route to match. Only valid with 
eventHandlerordataroutes. - Request
Validator Pulumi.Aws Api Gateway. Request Validator  - Request Validator specifies the validator to use at the method level. This will override anything defined at the API level.
 - Required
Parameters List<Pulumi.Aws Api Gateway. Inputs. Required Parameter>  - Required Parameters to validate. If the request validator is set to ALL or PARAMS_ONLY, api gateway will validate these before sending traffic to the event handler.
 - Target
Pulumi.
Aws Api Gateway. Inputs. Target  - The target for an integration route (see https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-integration-types.html).
 
- Path string
 - The path on the API that will serve this route. If not prefixed with 
/, then a/will be added automatically to the beginning. - Api
Key boolRequired  - If true, an API key will be required for this route. The source for the API Key can be set at the API level and by default, the source will be the HEADER.
 - []Authorizer
 - Authorizers allows you to define Lambda authorizers be applied for authorization when the the route is called.
 - Content
Type string - The 
content-typeto serve the file as. Only valid whenlocalPathpoints to a file. IflocalPathpoints to a directory, the content types for all files will be inferred. - Data interface{}
 - A raw Swagger object to include verbatim in the integration for this path.
 - Event
Handler Function A Lambda function which will handle the route for the given path and method.
This type is defined in the AWS Classic package.
- Iam
Auth boolEnabled  - By default, the route method auth type is set to 
NONE. If true, the auth type will be set toAWS_IAM. - Index string | bool
 - By default a 
localPathhosting static content will also serve 'index.html' in response to a request on a directory. To disable this passfalseor supply a new index document name. - Local
Path string - The local path on disk to create static S3 resources for. Files will be uploaded into S3 objects, and directories will be recursively walked into.
 - Method Method
 - The REST method of the route to match. Only valid with 
eventHandlerordataroutes. - Request
Validator RequestValidator  - Request Validator specifies the validator to use at the method level. This will override anything defined at the API level.
 - Required
Parameters []RequiredParameter  - Required Parameters to validate. If the request validator is set to ALL or PARAMS_ONLY, api gateway will validate these before sending traffic to the event handler.
 - Target Target
 - The target for an integration route (see https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-integration-types.html).
 
- path String
 - The path on the API that will serve this route. If not prefixed with 
/, then a/will be added automatically to the beginning. - api
Key BooleanRequired  - If true, an API key will be required for this route. The source for the API Key can be set at the API level and by default, the source will be the HEADER.
 - List<Authorizer>
 - Authorizers allows you to define Lambda authorizers be applied for authorization when the the route is called.
 - content
Type String - The 
content-typeto serve the file as. Only valid whenlocalPathpoints to a file. IflocalPathpoints to a directory, the content types for all files will be inferred. - data Object
 - A raw Swagger object to include verbatim in the integration for this path.
 - event
Handler Function A Lambda function which will handle the route for the given path and method.
This type is defined in the AWS Classic package.
- iam
Auth BooleanEnabled  - By default, the route method auth type is set to 
NONE. If true, the auth type will be set toAWS_IAM. - index String | Boolean
 - By default a 
localPathhosting static content will also serve 'index.html' in response to a request on a directory. To disable this passfalseor supply a new index document name. - local
Path String - The local path on disk to create static S3 resources for. Files will be uploaded into S3 objects, and directories will be recursively walked into.
 - method Method
 - The REST method of the route to match. Only valid with 
eventHandlerordataroutes. - request
Validator RequestValidator  - Request Validator specifies the validator to use at the method level. This will override anything defined at the API level.
 - required
Parameters List<RequiredParameter>  - Required Parameters to validate. If the request validator is set to ALL or PARAMS_ONLY, api gateway will validate these before sending traffic to the event handler.
 - target Target
 - The target for an integration route (see https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-integration-types.html).
 
- path string
 - The path on the API that will serve this route. If not prefixed with 
/, then a/will be added automatically to the beginning. - api
Key booleanRequired  - If true, an API key will be required for this route. The source for the API Key can be set at the API level and by default, the source will be the HEADER.
 - Authorizer[]
 - Authorizers allows you to define Lambda authorizers be applied for authorization when the the route is called.
 - content
Type string - The 
content-typeto serve the file as. Only valid whenlocalPathpoints to a file. IflocalPathpoints to a directory, the content types for all files will be inferred. - data any
 - A raw Swagger object to include verbatim in the integration for this path.
 - event
Handler pulumiAwslambda Function  A Lambda function which will handle the route for the given path and method.
This type is defined in the AWS Classic package.
- iam
Auth booleanEnabled  - By default, the route method auth type is set to 
NONE. If true, the auth type will be set toAWS_IAM. - index string | boolean
 - By default a 
localPathhosting static content will also serve 'index.html' in response to a request on a directory. To disable this passfalseor supply a new index document name. - local
Path string - The local path on disk to create static S3 resources for. Files will be uploaded into S3 objects, and directories will be recursively walked into.
 - method Method
 - The REST method of the route to match. Only valid with 
eventHandlerordataroutes. - request
Validator RequestValidator  - Request Validator specifies the validator to use at the method level. This will override anything defined at the API level.
 - required
Parameters RequiredParameter[]  - Required Parameters to validate. If the request validator is set to ALL or PARAMS_ONLY, api gateway will validate these before sending traffic to the event handler.
 - target Target
 - The target for an integration route (see https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-integration-types.html).
 
- path str
 - The path on the API that will serve this route. If not prefixed with 
/, then a/will be added automatically to the beginning. - api_
key_ boolrequired  - If true, an API key will be required for this route. The source for the API Key can be set at the API level and by default, the source will be the HEADER.
 - Sequence[Authorizer]
 - Authorizers allows you to define Lambda authorizers be applied for authorization when the the route is called.
 - content_
type str - The 
content-typeto serve the file as. Only valid whenlocalPathpoints to a file. IflocalPathpoints to a directory, the content types for all files will be inferred. - data Any
 - A raw Swagger object to include verbatim in the integration for this path.
 - event_
handler pulumi_aws.lambda_. Function  A Lambda function which will handle the route for the given path and method.
This type is defined in the AWS Classic package.
- iam_
auth_ boolenabled  - By default, the route method auth type is set to 
NONE. If true, the auth type will be set toAWS_IAM. - index str | bool
 - By default a 
localPathhosting static content will also serve 'index.html' in response to a request on a directory. To disable this passfalseor supply a new index document name. - local_
path str - The local path on disk to create static S3 resources for. Files will be uploaded into S3 objects, and directories will be recursively walked into.
 - method Method
 - The REST method of the route to match. Only valid with 
eventHandlerordataroutes. - request_
validator RequestValidator  - Request Validator specifies the validator to use at the method level. This will override anything defined at the API level.
 - required_
parameters Sequence[RequiredParameter]  - Required Parameters to validate. If the request validator is set to ALL or PARAMS_ONLY, api gateway will validate these before sending traffic to the event handler.
 - target Target
 - The target for an integration route (see https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-integration-types.html).
 
- path String
 - The path on the API that will serve this route. If not prefixed with 
/, then a/will be added automatically to the beginning. - api
Key BooleanRequired  - If true, an API key will be required for this route. The source for the API Key can be set at the API level and by default, the source will be the HEADER.
 - List<Property Map>
 - Authorizers allows you to define Lambda authorizers be applied for authorization when the the route is called.
 - content
Type String - The 
content-typeto serve the file as. Only valid whenlocalPathpoints to a file. IflocalPathpoints to a directory, the content types for all files will be inferred. - data Any
 - A raw Swagger object to include verbatim in the integration for this path.
 - event
Handler aws:lambda:Function A Lambda function which will handle the route for the given path and method.
This type is defined in the AWS Classic package.
- iam
Auth BooleanEnabled  - By default, the route method auth type is set to 
NONE. If true, the auth type will be set toAWS_IAM. - index String | Boolean
 - By default a 
localPathhosting static content will also serve 'index.html' in response to a request on a directory. To disable this passfalseor supply a new index document name. - local
Path String - The local path on disk to create static S3 resources for. Files will be uploaded into S3 objects, and directories will be recursively walked into.
 - method "ANY" | "GET" | "PUT" | "POST" | "DELETE" | "PATCH" | "OPTIONS" | "HEAD"
 - The REST method of the route to match. Only valid with 
eventHandlerordataroutes. - request
Validator "ALL" | "PARAMS_ONLY" | "BODY_ONLY" - Request Validator specifies the validator to use at the method level. This will override anything defined at the API level.
 - required
Parameters List<Property Map> - Required Parameters to validate. If the request validator is set to ALL or PARAMS_ONLY, api gateway will validate these before sending traffic to the event handler.
 - target Property Map
 - The target for an integration route (see https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-integration-types.html).
 
SwaggerGatewayResponse, SwaggerGatewayResponseArgs      
- Response
Parameters Dictionary<string, string> - Response
Templates Dictionary<string, string> - Status
Code double 
- Response
Parameters map[string]string - Response
Templates map[string]string - Status
Code float64 
- response
Parameters Map<String,String> - response
Templates Map<String,String> - status
Code Double 
- response
Parameters {[key: string]: string} - response
Templates {[key: string]: string} - status
Code number 
- response_
parameters Mapping[str, str] - response_
templates Mapping[str, str] - status_
code float 
- response
Parameters Map<String> - response
Templates Map<String> - status
Code Number 
Target, TargetArgs  
- Type
Pulumi.
Aws Api Gateway. Integration Type  Specifies an API method integration type. The valid value is one of the following:
aws: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.aws_proxy: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.http: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.http_proxy: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.mock: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
- Connection
Id string - The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.
 - Connection
Type Pulumi.Aws Api Gateway. Integration Connection Type  - The type of the network connection to the integration endpoint. The valid value is 
INTERNETfor connections through the public routable internet orVPC_LINKfor private connections between API Gateway and a network load balancer in a VPC. The default value isINTERNET. - Passthrough
Behaviour Pulumi.Aws Api Gateway. Integration Passthrough Behavior  Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation.
The valid value is one of the following:
WHEN_NO_MATCH: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
Defaults to
WHEN_NO_MATCHif unspecified.- Uri string
 Specifies Uniform Resource Identifier (URI) of the integration endpoint.
For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.
For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}.
- Type
Integration
Type  Specifies an API method integration type. The valid value is one of the following:
aws: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.aws_proxy: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.http: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.http_proxy: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.mock: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
- Connection
Id string - The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.
 - Connection
Type IntegrationConnection Type  - The type of the network connection to the integration endpoint. The valid value is 
INTERNETfor connections through the public routable internet orVPC_LINKfor private connections between API Gateway and a network load balancer in a VPC. The default value isINTERNET. - Passthrough
Behaviour IntegrationPassthrough Behavior  Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation.
The valid value is one of the following:
WHEN_NO_MATCH: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
Defaults to
WHEN_NO_MATCHif unspecified.- Uri string
 Specifies Uniform Resource Identifier (URI) of the integration endpoint.
For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.
For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}.
- type
Integration
Type  Specifies an API method integration type. The valid value is one of the following:
aws: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.aws_proxy: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.http: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.http_proxy: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.mock: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
- connection
Id String - The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.
 - connection
Type IntegrationConnection Type  - The type of the network connection to the integration endpoint. The valid value is 
INTERNETfor connections through the public routable internet orVPC_LINKfor private connections between API Gateway and a network load balancer in a VPC. The default value isINTERNET. - passthrough
Behaviour IntegrationPassthrough Behavior  Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation.
The valid value is one of the following:
WHEN_NO_MATCH: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
Defaults to
WHEN_NO_MATCHif unspecified.- uri String
 Specifies Uniform Resource Identifier (URI) of the integration endpoint.
For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.
For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}.
- type
Integration
Type  Specifies an API method integration type. The valid value is one of the following:
aws: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.aws_proxy: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.http: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.http_proxy: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.mock: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
- connection
Id string - The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.
 - connection
Type IntegrationConnection Type  - The type of the network connection to the integration endpoint. The valid value is 
INTERNETfor connections through the public routable internet orVPC_LINKfor private connections between API Gateway and a network load balancer in a VPC. The default value isINTERNET. - passthrough
Behaviour IntegrationPassthrough Behavior  Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation.
The valid value is one of the following:
WHEN_NO_MATCH: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
Defaults to
WHEN_NO_MATCHif unspecified.- uri string
 Specifies Uniform Resource Identifier (URI) of the integration endpoint.
For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.
For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}.
- type
Integration
Type  Specifies an API method integration type. The valid value is one of the following:
aws: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.aws_proxy: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.http: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.http_proxy: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.mock: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
- connection_
id str - The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.
 - connection_
type IntegrationConnection Type  - The type of the network connection to the integration endpoint. The valid value is 
INTERNETfor connections through the public routable internet orVPC_LINKfor private connections between API Gateway and a network load balancer in a VPC. The default value isINTERNET. - passthrough_
behaviour IntegrationPassthrough Behavior  Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation.
The valid value is one of the following:
WHEN_NO_MATCH: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
Defaults to
WHEN_NO_MATCHif unspecified.- uri str
 Specifies Uniform Resource Identifier (URI) of the integration endpoint.
For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.
For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}.
- type
"aws" | "aws_
proxy" | "http" | "http_ proxy" | "mock"  Specifies an API method integration type. The valid value is one of the following:
aws: for integrating the API method request with an AWS service action, including the Lambda function-invoking action. With the Lambda function-invoking action, this is referred to as the Lambda custom integration. With any other AWS service action, this is known as AWS integration.aws_proxy: for integrating the API method request with the Lambda function-invoking action with the client request passed through as-is. This integration is also referred to as the Lambda proxy integration.http: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC. This integration is also referred to as the HTTP custom integration.http_proxy: for integrating the API method request with an HTTP endpoint, including a private HTTP endpoint within a VPC, with the client request passed through as-is. This is also referred to as the HTTP proxy integration.mock: for integrating the API method request with API Gateway as a "loop-back" endpoint without invoking any backend.
- connection
Id String - The (id) of the VpcLink used for the integration when connectionType=VPC_LINK and undefined, otherwise.
 - connection
Type "INTERNET" | "VPC_LINK" - The type of the network connection to the integration endpoint. The valid value is 
INTERNETfor connections through the public routable internet orVPC_LINKfor private connections between API Gateway and a network load balancer in a VPC. The default value isINTERNET. - passthrough
Behaviour "when_no_ match" | "when_ no_ templates" | "never"  Specifies how the method request body of an unmapped content type will be passed through the integration request to the back end without transformation.
The valid value is one of the following:
WHEN_NO_MATCH: passes the method request body through the integration request to the back end without transformation when the method request content type does not match any content type associated with the mapping templates defined in the integration request.WHEN_NO_TEMPLATES: passes the method request body through the integration request to the back end without transformation when no mapping template is defined in the integration request. If a template is defined when this option is selected, the method request of an unmapped content-type will be rejected with an HTTP 415 Unsupported Media Type response.NEVER: rejects the method request with an HTTP 415 Unsupported Media Type response when either the method request content type does not match any content type associated with the mapping templates defined in the integration request or no mapping template is defined in the integration request.
Defaults to
WHEN_NO_MATCHif unspecified.- uri String
 Specifies Uniform Resource Identifier (URI) of the integration endpoint.
For HTTP or HTTP_PROXY integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification, for either standard integration, where connectionType is not VPC_LINK, or private integration, where connectionType is VPC_LINK. For a private HTTP integration, the URI is not used for routing.
For AWS or AWS_PROXY integrations, the URI is of the form arn:aws:apigateway:{region}:{subdomain.service|service}:path|action/{service_api}. Here, {Region} is the API Gateway region (e.g., us-east-1); {service} is the name of the integrated AWS service (e.g., s3); and {subdomain} is a designated subdomain supported by certain AWS service for fast host-name lookup. action can be used for an AWS service action-based API, using an Action={name}&{p1}={v1}&p2={v2}... query string. The ensuing {service_api} refers to a supported action {name} plus any required input parameters. Alternatively, path can be used for an AWS service path-based API. The ensuing service_api refers to the path to an AWS service resource, including the region of the integrated AWS service, if applicable. For example, for integration with the S3 API of GetObject, the uri can be either arn:aws:apigateway:us-west-2:s3:action/GetObject&Bucket={bucket}&Key={key} or arn:aws:apigateway:us-west-2:s3:path/{bucket}/{key}.
Package Details
- Repository
 - AWS API Gateway pulumi/pulumi-aws-apigateway
 - License
 - Apache-2.0