apigatewayv2

package
v2.0.0-beta.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Api

type Api struct {
	pulumi.CustomResourceState

	// The URI of the API, of the form `{api-id}.execute-api.{region}.amazonaws.com`.
	ApiEndpoint pulumi.StringOutput `pulumi:"apiEndpoint"`
	// An [API key selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions).
	// Valid values: `$context.authorizer.usageIdentifierKey`, `$request.header.x-api-key`. Defaults to `$request.header.x-api-key`.
	// Applicable for WebSocket APIs.
	ApiKeySelectionExpression pulumi.StringPtrOutput `pulumi:"apiKeySelectionExpression"`
	// The ARN of the API.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the API.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ARN prefix to be used in an [`lambda.Permission`](https://www.terraform.io/docs/providers/aws/r/lambda_permission.html)'s `sourceArn` attribute
	// or in an [`iam.Policy`](https://www.terraform.io/docs/providers/aws/r/iam_policy.html) to authorize access to the [`@connections` API](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-how-to-call-websocket-api-connections.html).
	// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-control-access-iam.html) for details.
	ExecutionArn pulumi.StringOutput `pulumi:"executionArn"`
	// The name of the API.
	Name pulumi.StringOutput `pulumi:"name"`
	// The API protocol. Valid values: `HTTP`, `WEBSOCKET`.
	ProtocolType pulumi.StringOutput `pulumi:"protocolType"`
	// The [route selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-route-selection-expressions) for the API.
	// Defaults to `$request.method $request.path`.
	RouteSelectionExpression pulumi.StringPtrOutput `pulumi:"routeSelectionExpression"`
	// A mapping of tags to assign to the API.
	Tags pulumi.MapOutput `pulumi:"tags"`
	// A version identifier for the API.
	Version pulumi.StringPtrOutput `pulumi:"version"`
}

Manages an Amazon API Gateway Version 2 API.

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

func GetApi

func GetApi(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApiState, opts ...pulumi.ResourceOption) (*Api, error)

GetApi gets an existing Api resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewApi

func NewApi(ctx *pulumi.Context,
	name string, args *ApiArgs, opts ...pulumi.ResourceOption) (*Api, error)

NewApi registers a new resource with the given unique name, arguments, and options.

type ApiArgs

type ApiArgs struct {
	// An [API key selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions).
	// Valid values: `$context.authorizer.usageIdentifierKey`, `$request.header.x-api-key`. Defaults to `$request.header.x-api-key`.
	// Applicable for WebSocket APIs.
	ApiKeySelectionExpression pulumi.StringPtrInput
	// The description of the API.
	Description pulumi.StringPtrInput
	// The name of the API.
	Name pulumi.StringPtrInput
	// The API protocol. Valid values: `HTTP`, `WEBSOCKET`.
	ProtocolType pulumi.StringInput
	// The [route selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-route-selection-expressions) for the API.
	// Defaults to `$request.method $request.path`.
	RouteSelectionExpression pulumi.StringPtrInput
	// A mapping of tags to assign to the API.
	Tags pulumi.MapInput
	// A version identifier for the API.
	Version pulumi.StringPtrInput
}

The set of arguments for constructing a Api resource.

func (ApiArgs) ElementType

func (ApiArgs) ElementType() reflect.Type

type ApiState

type ApiState struct {
	// The URI of the API, of the form `{api-id}.execute-api.{region}.amazonaws.com`.
	ApiEndpoint pulumi.StringPtrInput
	// An [API key selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions).
	// Valid values: `$context.authorizer.usageIdentifierKey`, `$request.header.x-api-key`. Defaults to `$request.header.x-api-key`.
	// Applicable for WebSocket APIs.
	ApiKeySelectionExpression pulumi.StringPtrInput
	// The ARN of the API.
	Arn pulumi.StringPtrInput
	// The description of the API.
	Description pulumi.StringPtrInput
	// The ARN prefix to be used in an [`lambda.Permission`](https://www.terraform.io/docs/providers/aws/r/lambda_permission.html)'s `sourceArn` attribute
	// or in an [`iam.Policy`](https://www.terraform.io/docs/providers/aws/r/iam_policy.html) to authorize access to the [`@connections` API](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-how-to-call-websocket-api-connections.html).
	// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-control-access-iam.html) for details.
	ExecutionArn pulumi.StringPtrInput
	// The name of the API.
	Name pulumi.StringPtrInput
	// The API protocol. Valid values: `HTTP`, `WEBSOCKET`.
	ProtocolType pulumi.StringPtrInput
	// The [route selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-route-selection-expressions) for the API.
	// Defaults to `$request.method $request.path`.
	RouteSelectionExpression pulumi.StringPtrInput
	// A mapping of tags to assign to the API.
	Tags pulumi.MapInput
	// A version identifier for the API.
	Version pulumi.StringPtrInput
}

func (ApiState) ElementType

func (ApiState) ElementType() reflect.Type

type Authorizer

type Authorizer struct {
	pulumi.CustomResourceState

	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// The required credentials as an IAM role for API Gateway to invoke the authorizer.
	// Supported only for `REQUEST` authorizers.
	AuthorizerCredentialsArn pulumi.StringPtrOutput `pulumi:"authorizerCredentialsArn"`
	// The authorizer type. Valid values: `JWT`, `REQUEST`.
	// For WebSocket APIs, specify `REQUEST` for a Lambda function using incoming request parameters.
	// For HTTP APIs, specify `JWT` to use JSON Web Tokens.
	AuthorizerType pulumi.StringOutput `pulumi:"authorizerType"`
	// The authorizer's Uniform Resource Identifier (URI).
	// For `REQUEST` authorizers this must be a well-formed Lambda function URI, such as the `invokeArn` attribute of the [`lambda.Function`](https://www.terraform.io/docs/providers/aws/r/lambda_function.html) resource.
	// Supported only for `REQUEST` authorizers.
	AuthorizerUri pulumi.StringPtrOutput `pulumi:"authorizerUri"`
	// The identity sources for which authorization is requested.
	// For `REQUEST` authorizers the value is a list of one or more mapping expressions of the specified request parameters.
	// For `JWT` authorizers the single entry specifies where to extract the JSON Web Token (JWT) from inbound requests.
	IdentitySources pulumi.StringArrayOutput `pulumi:"identitySources"`
	// The configuration of a JWT authorizer. Required for the `JWT` authorizer type.
	// Supported only for HTTP APIs.
	JwtConfiguration AuthorizerJwtConfigurationPtrOutput `pulumi:"jwtConfiguration"`
	// The name of the authorizer.
	Name pulumi.StringOutput `pulumi:"name"`
}

Manages an Amazon API Gateway Version 2 authorizer. More information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).

func GetAuthorizer

func GetAuthorizer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AuthorizerState, opts ...pulumi.ResourceOption) (*Authorizer, error)

GetAuthorizer gets an existing Authorizer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAuthorizer

func NewAuthorizer(ctx *pulumi.Context,
	name string, args *AuthorizerArgs, opts ...pulumi.ResourceOption) (*Authorizer, error)

NewAuthorizer registers a new resource with the given unique name, arguments, and options.

type AuthorizerArgs

type AuthorizerArgs struct {
	// The API identifier.
	ApiId pulumi.StringInput
	// The required credentials as an IAM role for API Gateway to invoke the authorizer.
	// Supported only for `REQUEST` authorizers.
	AuthorizerCredentialsArn pulumi.StringPtrInput
	// The authorizer type. Valid values: `JWT`, `REQUEST`.
	// For WebSocket APIs, specify `REQUEST` for a Lambda function using incoming request parameters.
	// For HTTP APIs, specify `JWT` to use JSON Web Tokens.
	AuthorizerType pulumi.StringInput
	// The authorizer's Uniform Resource Identifier (URI).
	// For `REQUEST` authorizers this must be a well-formed Lambda function URI, such as the `invokeArn` attribute of the [`lambda.Function`](https://www.terraform.io/docs/providers/aws/r/lambda_function.html) resource.
	// Supported only for `REQUEST` authorizers.
	AuthorizerUri pulumi.StringPtrInput
	// The identity sources for which authorization is requested.
	// For `REQUEST` authorizers the value is a list of one or more mapping expressions of the specified request parameters.
	// For `JWT` authorizers the single entry specifies where to extract the JSON Web Token (JWT) from inbound requests.
	IdentitySources pulumi.StringArrayInput
	// The configuration of a JWT authorizer. Required for the `JWT` authorizer type.
	// Supported only for HTTP APIs.
	JwtConfiguration AuthorizerJwtConfigurationPtrInput
	// The name of the authorizer.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Authorizer resource.

func (AuthorizerArgs) ElementType

func (AuthorizerArgs) ElementType() reflect.Type

type AuthorizerJwtConfiguration

type AuthorizerJwtConfiguration struct {
	// A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list.
	Audiences []string `pulumi:"audiences"`
	// The base domain of the identity provider that issues JSON Web Tokens, such as the `endpoint` attribute of the [`cognito.UserPool`](https://www.terraform.io/docs/providers/aws/r/cognito_user_pool.html) resource.
	Issuer *string `pulumi:"issuer"`
}

type AuthorizerJwtConfigurationArgs

type AuthorizerJwtConfigurationArgs struct {
	// A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list.
	Audiences pulumi.StringArrayInput `pulumi:"audiences"`
	// The base domain of the identity provider that issues JSON Web Tokens, such as the `endpoint` attribute of the [`cognito.UserPool`](https://www.terraform.io/docs/providers/aws/r/cognito_user_pool.html) resource.
	Issuer pulumi.StringPtrInput `pulumi:"issuer"`
}

func (AuthorizerJwtConfigurationArgs) ElementType

func (AuthorizerJwtConfigurationArgs) ToAuthorizerJwtConfigurationOutput

func (i AuthorizerJwtConfigurationArgs) ToAuthorizerJwtConfigurationOutput() AuthorizerJwtConfigurationOutput

func (AuthorizerJwtConfigurationArgs) ToAuthorizerJwtConfigurationOutputWithContext

func (i AuthorizerJwtConfigurationArgs) ToAuthorizerJwtConfigurationOutputWithContext(ctx context.Context) AuthorizerJwtConfigurationOutput

func (AuthorizerJwtConfigurationArgs) ToAuthorizerJwtConfigurationPtrOutput

func (i AuthorizerJwtConfigurationArgs) ToAuthorizerJwtConfigurationPtrOutput() AuthorizerJwtConfigurationPtrOutput

func (AuthorizerJwtConfigurationArgs) ToAuthorizerJwtConfigurationPtrOutputWithContext

func (i AuthorizerJwtConfigurationArgs) ToAuthorizerJwtConfigurationPtrOutputWithContext(ctx context.Context) AuthorizerJwtConfigurationPtrOutput

type AuthorizerJwtConfigurationInput

type AuthorizerJwtConfigurationInput interface {
	pulumi.Input

	ToAuthorizerJwtConfigurationOutput() AuthorizerJwtConfigurationOutput
	ToAuthorizerJwtConfigurationOutputWithContext(context.Context) AuthorizerJwtConfigurationOutput
}

AuthorizerJwtConfigurationInput is an input type that accepts AuthorizerJwtConfigurationArgs and AuthorizerJwtConfigurationOutput values. You can construct a concrete instance of `AuthorizerJwtConfigurationInput` via:

AuthorizerJwtConfigurationArgs{...}

type AuthorizerJwtConfigurationOutput

type AuthorizerJwtConfigurationOutput struct{ *pulumi.OutputState }

func (AuthorizerJwtConfigurationOutput) Audiences

A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list.

func (AuthorizerJwtConfigurationOutput) ElementType

func (AuthorizerJwtConfigurationOutput) Issuer

The base domain of the identity provider that issues JSON Web Tokens, such as the `endpoint` attribute of the [`cognito.UserPool`](https://www.terraform.io/docs/providers/aws/r/cognito_user_pool.html) resource.

func (AuthorizerJwtConfigurationOutput) ToAuthorizerJwtConfigurationOutput

func (o AuthorizerJwtConfigurationOutput) ToAuthorizerJwtConfigurationOutput() AuthorizerJwtConfigurationOutput

func (AuthorizerJwtConfigurationOutput) ToAuthorizerJwtConfigurationOutputWithContext

func (o AuthorizerJwtConfigurationOutput) ToAuthorizerJwtConfigurationOutputWithContext(ctx context.Context) AuthorizerJwtConfigurationOutput

func (AuthorizerJwtConfigurationOutput) ToAuthorizerJwtConfigurationPtrOutput

func (o AuthorizerJwtConfigurationOutput) ToAuthorizerJwtConfigurationPtrOutput() AuthorizerJwtConfigurationPtrOutput

func (AuthorizerJwtConfigurationOutput) ToAuthorizerJwtConfigurationPtrOutputWithContext

func (o AuthorizerJwtConfigurationOutput) ToAuthorizerJwtConfigurationPtrOutputWithContext(ctx context.Context) AuthorizerJwtConfigurationPtrOutput

type AuthorizerJwtConfigurationPtrInput

type AuthorizerJwtConfigurationPtrInput interface {
	pulumi.Input

	ToAuthorizerJwtConfigurationPtrOutput() AuthorizerJwtConfigurationPtrOutput
	ToAuthorizerJwtConfigurationPtrOutputWithContext(context.Context) AuthorizerJwtConfigurationPtrOutput
}

AuthorizerJwtConfigurationPtrInput is an input type that accepts AuthorizerJwtConfigurationArgs, AuthorizerJwtConfigurationPtr and AuthorizerJwtConfigurationPtrOutput values. You can construct a concrete instance of `AuthorizerJwtConfigurationPtrInput` via:

		 AuthorizerJwtConfigurationArgs{...}

 or:

		 nil

type AuthorizerJwtConfigurationPtrOutput

type AuthorizerJwtConfigurationPtrOutput struct{ *pulumi.OutputState }

func (AuthorizerJwtConfigurationPtrOutput) Audiences

A list of the intended recipients of the JWT. A valid JWT must provide an aud that matches at least one entry in this list.

func (AuthorizerJwtConfigurationPtrOutput) Elem

func (AuthorizerJwtConfigurationPtrOutput) ElementType

func (AuthorizerJwtConfigurationPtrOutput) Issuer

The base domain of the identity provider that issues JSON Web Tokens, such as the `endpoint` attribute of the [`cognito.UserPool`](https://www.terraform.io/docs/providers/aws/r/cognito_user_pool.html) resource.

func (AuthorizerJwtConfigurationPtrOutput) ToAuthorizerJwtConfigurationPtrOutput

func (o AuthorizerJwtConfigurationPtrOutput) ToAuthorizerJwtConfigurationPtrOutput() AuthorizerJwtConfigurationPtrOutput

func (AuthorizerJwtConfigurationPtrOutput) ToAuthorizerJwtConfigurationPtrOutputWithContext

func (o AuthorizerJwtConfigurationPtrOutput) ToAuthorizerJwtConfigurationPtrOutputWithContext(ctx context.Context) AuthorizerJwtConfigurationPtrOutput

type AuthorizerState

type AuthorizerState struct {
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// The required credentials as an IAM role for API Gateway to invoke the authorizer.
	// Supported only for `REQUEST` authorizers.
	AuthorizerCredentialsArn pulumi.StringPtrInput
	// The authorizer type. Valid values: `JWT`, `REQUEST`.
	// For WebSocket APIs, specify `REQUEST` for a Lambda function using incoming request parameters.
	// For HTTP APIs, specify `JWT` to use JSON Web Tokens.
	AuthorizerType pulumi.StringPtrInput
	// The authorizer's Uniform Resource Identifier (URI).
	// For `REQUEST` authorizers this must be a well-formed Lambda function URI, such as the `invokeArn` attribute of the [`lambda.Function`](https://www.terraform.io/docs/providers/aws/r/lambda_function.html) resource.
	// Supported only for `REQUEST` authorizers.
	AuthorizerUri pulumi.StringPtrInput
	// The identity sources for which authorization is requested.
	// For `REQUEST` authorizers the value is a list of one or more mapping expressions of the specified request parameters.
	// For `JWT` authorizers the single entry specifies where to extract the JSON Web Token (JWT) from inbound requests.
	IdentitySources pulumi.StringArrayInput
	// The configuration of a JWT authorizer. Required for the `JWT` authorizer type.
	// Supported only for HTTP APIs.
	JwtConfiguration AuthorizerJwtConfigurationPtrInput
	// The name of the authorizer.
	Name pulumi.StringPtrInput
}

func (AuthorizerState) ElementType

func (AuthorizerState) ElementType() reflect.Type

type Integration

type Integration struct {
	pulumi.CustomResourceState

	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// The ID of the VPC link for a private integration. Supported only for HTTP APIs.
	ConnectionId pulumi.StringPtrOutput `pulumi:"connectionId"`
	// The type of the network connection to the integration endpoint. Valid values: `INTERNET`, `VPC_LINK`. Default is `INTERNET`.
	ConnectionType pulumi.StringPtrOutput `pulumi:"connectionType"`
	// How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`. Supported only for WebSocket APIs.
	ContentHandlingStrategy pulumi.StringPtrOutput `pulumi:"contentHandlingStrategy"`
	// The credentials required for the integration, if any.
	CredentialsArn pulumi.StringPtrOutput `pulumi:"credentialsArn"`
	// The description of the integration.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The integration's HTTP method. Must be specified if `integrationType` is not `MOCK`.
	IntegrationMethod pulumi.StringPtrOutput `pulumi:"integrationMethod"`
	// The [integration response selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-integration-response-selection-expressions) for the integration.
	IntegrationResponseSelectionExpression pulumi.StringOutput `pulumi:"integrationResponseSelectionExpression"`
	// The integration type of an integration.
	// Valid values: `AWS`, `AWS_PROXY`, `HTTP`, `HTTP_PROXY`, `MOCK`.
	IntegrationType pulumi.StringOutput `pulumi:"integrationType"`
	// The URI of the Lambda function for a Lambda proxy integration, when `integrationType` is `AWS_PROXY`.
	// For an `HTTP` integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
	IntegrationUri pulumi.StringPtrOutput `pulumi:"integrationUri"`
	// The pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the `requestTemplates` attribute.
	// Valid values: `WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`. Default is `WHEN_NO_MATCH`. Supported only for WebSocket APIs.
	PassthroughBehavior pulumi.StringPtrOutput `pulumi:"passthroughBehavior"`
	// The [format of the payload](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format) sent to an integration. Valid values: `1.0`, `2.0`. Default is `1.0`.
	PayloadFormatVersion pulumi.StringPtrOutput `pulumi:"payloadFormatVersion"`
	// A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
	RequestTemplates pulumi.StringMapOutput `pulumi:"requestTemplates"`
	// The [template selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-template-selection-expressions) for the integration.
	TemplateSelectionExpression pulumi.StringPtrOutput `pulumi:"templateSelectionExpression"`
	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
	TimeoutMilliseconds pulumi.IntPtrOutput `pulumi:"timeoutMilliseconds"`
}

Manages an Amazon API Gateway Version 2 integration. More information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api.html).

func GetIntegration

func GetIntegration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IntegrationState, opts ...pulumi.ResourceOption) (*Integration, error)

GetIntegration gets an existing Integration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewIntegration

func NewIntegration(ctx *pulumi.Context,
	name string, args *IntegrationArgs, opts ...pulumi.ResourceOption) (*Integration, error)

NewIntegration registers a new resource with the given unique name, arguments, and options.

type IntegrationArgs

type IntegrationArgs struct {
	// The API identifier.
	ApiId pulumi.StringInput
	// The ID of the VPC link for a private integration. Supported only for HTTP APIs.
	ConnectionId pulumi.StringPtrInput
	// The type of the network connection to the integration endpoint. Valid values: `INTERNET`, `VPC_LINK`. Default is `INTERNET`.
	ConnectionType pulumi.StringPtrInput
	// How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`. Supported only for WebSocket APIs.
	ContentHandlingStrategy pulumi.StringPtrInput
	// The credentials required for the integration, if any.
	CredentialsArn pulumi.StringPtrInput
	// The description of the integration.
	Description pulumi.StringPtrInput
	// The integration's HTTP method. Must be specified if `integrationType` is not `MOCK`.
	IntegrationMethod pulumi.StringPtrInput
	// The integration type of an integration.
	// Valid values: `AWS`, `AWS_PROXY`, `HTTP`, `HTTP_PROXY`, `MOCK`.
	IntegrationType pulumi.StringInput
	// The URI of the Lambda function for a Lambda proxy integration, when `integrationType` is `AWS_PROXY`.
	// For an `HTTP` integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
	IntegrationUri pulumi.StringPtrInput
	// The pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the `requestTemplates` attribute.
	// Valid values: `WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`. Default is `WHEN_NO_MATCH`. Supported only for WebSocket APIs.
	PassthroughBehavior pulumi.StringPtrInput
	// The [format of the payload](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format) sent to an integration. Valid values: `1.0`, `2.0`. Default is `1.0`.
	PayloadFormatVersion pulumi.StringPtrInput
	// A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
	RequestTemplates pulumi.StringMapInput
	// The [template selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-template-selection-expressions) for the integration.
	TemplateSelectionExpression pulumi.StringPtrInput
	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
	TimeoutMilliseconds pulumi.IntPtrInput
}

The set of arguments for constructing a Integration resource.

func (IntegrationArgs) ElementType

func (IntegrationArgs) ElementType() reflect.Type

type IntegrationState

type IntegrationState struct {
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// The ID of the VPC link for a private integration. Supported only for HTTP APIs.
	ConnectionId pulumi.StringPtrInput
	// The type of the network connection to the integration endpoint. Valid values: `INTERNET`, `VPC_LINK`. Default is `INTERNET`.
	ConnectionType pulumi.StringPtrInput
	// How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`. Supported only for WebSocket APIs.
	ContentHandlingStrategy pulumi.StringPtrInput
	// The credentials required for the integration, if any.
	CredentialsArn pulumi.StringPtrInput
	// The description of the integration.
	Description pulumi.StringPtrInput
	// The integration's HTTP method. Must be specified if `integrationType` is not `MOCK`.
	IntegrationMethod pulumi.StringPtrInput
	// The [integration response selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-integration-response-selection-expressions) for the integration.
	IntegrationResponseSelectionExpression pulumi.StringPtrInput
	// The integration type of an integration.
	// Valid values: `AWS`, `AWS_PROXY`, `HTTP`, `HTTP_PROXY`, `MOCK`.
	IntegrationType pulumi.StringPtrInput
	// The URI of the Lambda function for a Lambda proxy integration, when `integrationType` is `AWS_PROXY`.
	// For an `HTTP` integration, specify a fully-qualified URL. For an HTTP API private integration, specify the ARN of an Application Load Balancer listener, Network Load Balancer listener, or AWS Cloud Map service.
	IntegrationUri pulumi.StringPtrInput
	// The pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the `requestTemplates` attribute.
	// Valid values: `WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`. Default is `WHEN_NO_MATCH`. Supported only for WebSocket APIs.
	PassthroughBehavior pulumi.StringPtrInput
	// The [format of the payload](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-lambda.html#http-api-develop-integrations-lambda.proxy-format) sent to an integration. Valid values: `1.0`, `2.0`. Default is `1.0`.
	PayloadFormatVersion pulumi.StringPtrInput
	// A map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client. Supported only for WebSocket APIs.
	RequestTemplates pulumi.StringMapInput
	// The [template selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-template-selection-expressions) for the integration.
	TemplateSelectionExpression pulumi.StringPtrInput
	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds or 29 seconds.
	TimeoutMilliseconds pulumi.IntPtrInput
}

func (IntegrationState) ElementType

func (IntegrationState) ElementType() reflect.Type

type Model

type Model struct {
	pulumi.CustomResourceState

	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// The content-type for the model, for example, `application/json`.
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	// The description of the model.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the model. Must be alphanumeric.
	Name pulumi.StringOutput `pulumi:"name"`
	// The schema for the model. This should be a [JSON schema draft 4](https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
	Schema pulumi.StringOutput `pulumi:"schema"`
}

Manages an Amazon API Gateway Version 2 [model](https://docs.aws.amazon.com/apigateway/latest/developerguide/models-mappings.html#models-mappings-models).

func GetModel

func GetModel(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ModelState, opts ...pulumi.ResourceOption) (*Model, error)

GetModel gets an existing Model resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewModel

func NewModel(ctx *pulumi.Context,
	name string, args *ModelArgs, opts ...pulumi.ResourceOption) (*Model, error)

NewModel registers a new resource with the given unique name, arguments, and options.

type ModelArgs

type ModelArgs struct {
	// The API identifier.
	ApiId pulumi.StringInput
	// The content-type for the model, for example, `application/json`.
	ContentType pulumi.StringInput
	// The description of the model.
	Description pulumi.StringPtrInput
	// The name of the model. Must be alphanumeric.
	Name pulumi.StringPtrInput
	// The schema for the model. This should be a [JSON schema draft 4](https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
	Schema pulumi.StringInput
}

The set of arguments for constructing a Model resource.

func (ModelArgs) ElementType

func (ModelArgs) ElementType() reflect.Type

type ModelState

type ModelState struct {
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// The content-type for the model, for example, `application/json`.
	ContentType pulumi.StringPtrInput
	// The description of the model.
	Description pulumi.StringPtrInput
	// The name of the model. Must be alphanumeric.
	Name pulumi.StringPtrInput
	// The schema for the model. This should be a [JSON schema draft 4](https://tools.ietf.org/html/draft-zyp-json-schema-04) model.
	Schema pulumi.StringPtrInput
}

func (ModelState) ElementType

func (ModelState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL