apigatewayv2

package
v3.5.0 Latest Latest
Warning

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

Go to latest
Published: Sep 25, 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"`
	// An OpenAPI specification that defines the set of routes and integrations to create as part of the HTTP APIs. Supported only for HTTP APIs.
	Body pulumi.StringPtrOutput `pulumi:"body"`
	// The cross-origin resource sharing (CORS) [configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html). Applicable for HTTP APIs.
	CorsConfiguration ApiCorsConfigurationPtrOutput `pulumi:"corsConfiguration"`
	// Part of _quick create_. Specifies any credentials required for the integration. Applicable for HTTP APIs.
	CredentialsArn pulumi.StringPtrOutput `pulumi:"credentialsArn"`
	// The description of the API.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Whether clients can invoke the API by using the default `execute-api` endpoint.
	// By default, clients can invoke the API with the default `{api_id}.execute-api.{region}.amazonaws.com endpoint`.
	// To require that clients use a custom domain name to invoke the API, disable the default endpoint.
	DisableExecuteApiEndpoint pulumi.BoolPtrOutput `pulumi:"disableExecuteApiEndpoint"`
	// The ARN prefix to be used in an `lambda.Permission`'s `sourceArn` attribute
	// or in an `iam.Policy` 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"`
	// Part of _quick create_. Specifies any [route key](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html). Applicable for HTTP APIs.
	RouteKey pulumi.StringPtrOutput `pulumi:"routeKey"`
	// 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 map of tags to assign to the API.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Part of _quick create_. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes.
	// For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN.
	// The type of the integration will be `HTTP_PROXY` or `AWS_PROXY`, respectively. Applicable for HTTP APIs.
	Target pulumi.StringPtrOutput `pulumi:"target"`
	// 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.

## Example Usage ### Basic WebSocket API

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewApi(ctx, "example", &apigatewayv2.ApiArgs{
			ProtocolType:             pulumi.String("WEBSOCKET"),
			RouteSelectionExpression: pulumi.String(fmt.Sprintf("%v%v", "$", "request.body.action")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Basic HTTP API

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewApi(ctx, "example", &apigatewayv2.ApiArgs{
			ProtocolType: pulumi.String("HTTP"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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
	// An OpenAPI specification that defines the set of routes and integrations to create as part of the HTTP APIs. Supported only for HTTP APIs.
	Body pulumi.StringPtrInput
	// The cross-origin resource sharing (CORS) [configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html). Applicable for HTTP APIs.
	CorsConfiguration ApiCorsConfigurationPtrInput
	// Part of _quick create_. Specifies any credentials required for the integration. Applicable for HTTP APIs.
	CredentialsArn pulumi.StringPtrInput
	// The description of the API.
	Description pulumi.StringPtrInput
	// Whether clients can invoke the API by using the default `execute-api` endpoint.
	// By default, clients can invoke the API with the default `{api_id}.execute-api.{region}.amazonaws.com endpoint`.
	// To require that clients use a custom domain name to invoke the API, disable the default endpoint.
	DisableExecuteApiEndpoint pulumi.BoolPtrInput
	// The name of the API.
	Name pulumi.StringPtrInput
	// The API protocol. Valid values: `HTTP`, `WEBSOCKET`.
	ProtocolType pulumi.StringInput
	// Part of _quick create_. Specifies any [route key](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html). Applicable for HTTP APIs.
	RouteKey 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 map of tags to assign to the API.
	Tags pulumi.StringMapInput
	// Part of _quick create_. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes.
	// For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN.
	// The type of the integration will be `HTTP_PROXY` or `AWS_PROXY`, respectively. Applicable for HTTP APIs.
	Target pulumi.StringPtrInput
	// 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 ApiCorsConfiguration

type ApiCorsConfiguration struct {
	// Whether credentials are included in the CORS request.
	AllowCredentials *bool `pulumi:"allowCredentials"`
	// The set of allowed HTTP headers.
	AllowHeaders []string `pulumi:"allowHeaders"`
	// The set of allowed HTTP methods.
	AllowMethods []string `pulumi:"allowMethods"`
	// The set of allowed origins.
	AllowOrigins []string `pulumi:"allowOrigins"`
	// The set of exposed HTTP headers.
	ExposeHeaders []string `pulumi:"exposeHeaders"`
	// The number of seconds that the browser should cache preflight request results.
	MaxAge *int `pulumi:"maxAge"`
}

type ApiCorsConfigurationArgs

type ApiCorsConfigurationArgs struct {
	// Whether credentials are included in the CORS request.
	AllowCredentials pulumi.BoolPtrInput `pulumi:"allowCredentials"`
	// The set of allowed HTTP headers.
	AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"`
	// The set of allowed HTTP methods.
	AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"`
	// The set of allowed origins.
	AllowOrigins pulumi.StringArrayInput `pulumi:"allowOrigins"`
	// The set of exposed HTTP headers.
	ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"`
	// The number of seconds that the browser should cache preflight request results.
	MaxAge pulumi.IntPtrInput `pulumi:"maxAge"`
}

func (ApiCorsConfigurationArgs) ElementType

func (ApiCorsConfigurationArgs) ElementType() reflect.Type

func (ApiCorsConfigurationArgs) ToApiCorsConfigurationOutput

func (i ApiCorsConfigurationArgs) ToApiCorsConfigurationOutput() ApiCorsConfigurationOutput

func (ApiCorsConfigurationArgs) ToApiCorsConfigurationOutputWithContext

func (i ApiCorsConfigurationArgs) ToApiCorsConfigurationOutputWithContext(ctx context.Context) ApiCorsConfigurationOutput

func (ApiCorsConfigurationArgs) ToApiCorsConfigurationPtrOutput

func (i ApiCorsConfigurationArgs) ToApiCorsConfigurationPtrOutput() ApiCorsConfigurationPtrOutput

func (ApiCorsConfigurationArgs) ToApiCorsConfigurationPtrOutputWithContext

func (i ApiCorsConfigurationArgs) ToApiCorsConfigurationPtrOutputWithContext(ctx context.Context) ApiCorsConfigurationPtrOutput

type ApiCorsConfigurationInput

type ApiCorsConfigurationInput interface {
	pulumi.Input

	ToApiCorsConfigurationOutput() ApiCorsConfigurationOutput
	ToApiCorsConfigurationOutputWithContext(context.Context) ApiCorsConfigurationOutput
}

ApiCorsConfigurationInput is an input type that accepts ApiCorsConfigurationArgs and ApiCorsConfigurationOutput values. You can construct a concrete instance of `ApiCorsConfigurationInput` via:

ApiCorsConfigurationArgs{...}

type ApiCorsConfigurationOutput

type ApiCorsConfigurationOutput struct{ *pulumi.OutputState }

func (ApiCorsConfigurationOutput) AllowCredentials

func (o ApiCorsConfigurationOutput) AllowCredentials() pulumi.BoolPtrOutput

Whether credentials are included in the CORS request.

func (ApiCorsConfigurationOutput) AllowHeaders

The set of allowed HTTP headers.

func (ApiCorsConfigurationOutput) AllowMethods

The set of allowed HTTP methods.

func (ApiCorsConfigurationOutput) AllowOrigins

The set of allowed origins.

func (ApiCorsConfigurationOutput) ElementType

func (ApiCorsConfigurationOutput) ElementType() reflect.Type

func (ApiCorsConfigurationOutput) ExposeHeaders

The set of exposed HTTP headers.

func (ApiCorsConfigurationOutput) MaxAge

The number of seconds that the browser should cache preflight request results.

func (ApiCorsConfigurationOutput) ToApiCorsConfigurationOutput

func (o ApiCorsConfigurationOutput) ToApiCorsConfigurationOutput() ApiCorsConfigurationOutput

func (ApiCorsConfigurationOutput) ToApiCorsConfigurationOutputWithContext

func (o ApiCorsConfigurationOutput) ToApiCorsConfigurationOutputWithContext(ctx context.Context) ApiCorsConfigurationOutput

func (ApiCorsConfigurationOutput) ToApiCorsConfigurationPtrOutput

func (o ApiCorsConfigurationOutput) ToApiCorsConfigurationPtrOutput() ApiCorsConfigurationPtrOutput

func (ApiCorsConfigurationOutput) ToApiCorsConfigurationPtrOutputWithContext

func (o ApiCorsConfigurationOutput) ToApiCorsConfigurationPtrOutputWithContext(ctx context.Context) ApiCorsConfigurationPtrOutput

type ApiCorsConfigurationPtrInput

type ApiCorsConfigurationPtrInput interface {
	pulumi.Input

	ToApiCorsConfigurationPtrOutput() ApiCorsConfigurationPtrOutput
	ToApiCorsConfigurationPtrOutputWithContext(context.Context) ApiCorsConfigurationPtrOutput
}

ApiCorsConfigurationPtrInput is an input type that accepts ApiCorsConfigurationArgs, ApiCorsConfigurationPtr and ApiCorsConfigurationPtrOutput values. You can construct a concrete instance of `ApiCorsConfigurationPtrInput` via:

        ApiCorsConfigurationArgs{...}

or:

        nil

type ApiCorsConfigurationPtrOutput

type ApiCorsConfigurationPtrOutput struct{ *pulumi.OutputState }

func (ApiCorsConfigurationPtrOutput) AllowCredentials

func (o ApiCorsConfigurationPtrOutput) AllowCredentials() pulumi.BoolPtrOutput

Whether credentials are included in the CORS request.

func (ApiCorsConfigurationPtrOutput) AllowHeaders

The set of allowed HTTP headers.

func (ApiCorsConfigurationPtrOutput) AllowMethods

The set of allowed HTTP methods.

func (ApiCorsConfigurationPtrOutput) AllowOrigins

The set of allowed origins.

func (ApiCorsConfigurationPtrOutput) Elem

func (ApiCorsConfigurationPtrOutput) ElementType

func (ApiCorsConfigurationPtrOutput) ExposeHeaders

The set of exposed HTTP headers.

func (ApiCorsConfigurationPtrOutput) MaxAge

The number of seconds that the browser should cache preflight request results.

func (ApiCorsConfigurationPtrOutput) ToApiCorsConfigurationPtrOutput

func (o ApiCorsConfigurationPtrOutput) ToApiCorsConfigurationPtrOutput() ApiCorsConfigurationPtrOutput

func (ApiCorsConfigurationPtrOutput) ToApiCorsConfigurationPtrOutputWithContext

func (o ApiCorsConfigurationPtrOutput) ToApiCorsConfigurationPtrOutputWithContext(ctx context.Context) ApiCorsConfigurationPtrOutput

type ApiMapping

type ApiMapping struct {
	pulumi.CustomResourceState

	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// The [API mapping key](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-mapping-template-reference.html).
	ApiMappingKey pulumi.StringPtrOutput `pulumi:"apiMappingKey"`
	// The domain name. Use the `apigatewayv2.DomainName` resource to configure a domain name.
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// The API stage. Use the `apigatewayv2.Stage` resource to configure an API stage.
	Stage pulumi.StringOutput `pulumi:"stage"`
}

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

## Example Usage ### Basic

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewApiMapping(ctx, "example", &apigatewayv2.ApiMappingArgs{
			ApiId:      pulumi.Any(aws_apigatewayv2_api.Example.Id),
			DomainName: pulumi.Any(aws_apigatewayv2_domain_name.Example.Id),
			Stage:      pulumi.Any(aws_apigatewayv2_stage.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetApiMapping

func GetApiMapping(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApiMappingState, opts ...pulumi.ResourceOption) (*ApiMapping, error)

GetApiMapping gets an existing ApiMapping 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 NewApiMapping

func NewApiMapping(ctx *pulumi.Context,
	name string, args *ApiMappingArgs, opts ...pulumi.ResourceOption) (*ApiMapping, error)

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

type ApiMappingArgs

type ApiMappingArgs struct {
	// The API identifier.
	ApiId pulumi.StringInput
	// The [API mapping key](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-mapping-template-reference.html).
	ApiMappingKey pulumi.StringPtrInput
	// The domain name. Use the `apigatewayv2.DomainName` resource to configure a domain name.
	DomainName pulumi.StringInput
	// The API stage. Use the `apigatewayv2.Stage` resource to configure an API stage.
	Stage pulumi.StringInput
}

The set of arguments for constructing a ApiMapping resource.

func (ApiMappingArgs) ElementType

func (ApiMappingArgs) ElementType() reflect.Type

type ApiMappingState

type ApiMappingState struct {
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// The [API mapping key](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-mapping-template-reference.html).
	ApiMappingKey pulumi.StringPtrInput
	// The domain name. Use the `apigatewayv2.DomainName` resource to configure a domain name.
	DomainName pulumi.StringPtrInput
	// The API stage. Use the `apigatewayv2.Stage` resource to configure an API stage.
	Stage pulumi.StringPtrInput
}

func (ApiMappingState) ElementType

func (ApiMappingState) 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
	// An OpenAPI specification that defines the set of routes and integrations to create as part of the HTTP APIs. Supported only for HTTP APIs.
	Body pulumi.StringPtrInput
	// The cross-origin resource sharing (CORS) [configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html). Applicable for HTTP APIs.
	CorsConfiguration ApiCorsConfigurationPtrInput
	// Part of _quick create_. Specifies any credentials required for the integration. Applicable for HTTP APIs.
	CredentialsArn pulumi.StringPtrInput
	// The description of the API.
	Description pulumi.StringPtrInput
	// Whether clients can invoke the API by using the default `execute-api` endpoint.
	// By default, clients can invoke the API with the default `{api_id}.execute-api.{region}.amazonaws.com endpoint`.
	// To require that clients use a custom domain name to invoke the API, disable the default endpoint.
	DisableExecuteApiEndpoint pulumi.BoolPtrInput
	// The ARN prefix to be used in an `lambda.Permission`'s `sourceArn` attribute
	// or in an `iam.Policy` 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
	// Part of _quick create_. Specifies any [route key](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html). Applicable for HTTP APIs.
	RouteKey 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 map of tags to assign to the API.
	Tags pulumi.StringMapInput
	// Part of _quick create_. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes.
	// For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN.
	// The type of the integration will be `HTTP_PROXY` or `AWS_PROXY`, respectively. Applicable for HTTP APIs.
	Target pulumi.StringPtrInput
	// 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 format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers.
	// Valid values: `1.0`, `2.0`.
	AuthorizerPayloadFormatVersion pulumi.StringPtrOutput `pulumi:"authorizerPayloadFormatVersion"`
	// The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled.
	// If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Defaults to `300`.
	// Supported only for HTTP API Lambda authorizers.
	AuthorizerResultTtlInSeconds pulumi.IntOutput `pulumi:"authorizerResultTtlInSeconds"`
	// The authorizer type. Valid values: `JWT`, `REQUEST`.
	// 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` resource.
	// Supported only for `REQUEST` authorizers.
	AuthorizerUri pulumi.StringPtrOutput `pulumi:"authorizerUri"`
	// Whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
	// Supported only for HTTP APIs.
	EnableSimpleResponses pulumi.BoolPtrOutput `pulumi:"enableSimpleResponses"`
	// 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).

## Example Usage ### Basic WebSocket API

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewAuthorizer(ctx, "example", &apigatewayv2.AuthorizerArgs{
			ApiId:          pulumi.Any(aws_apigatewayv2_api.Example.Id),
			AuthorizerType: pulumi.String("REQUEST"),
			AuthorizerUri:  pulumi.Any(aws_lambda_function.Example.Invoke_arn),
			IdentitySources: pulumi.StringArray{
				pulumi.String("route.request.header.Auth"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Basic HTTP API

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewAuthorizer(ctx, "example", &apigatewayv2.AuthorizerArgs{
			ApiId:          pulumi.Any(aws_apigatewayv2_api.Example.Id),
			AuthorizerType: pulumi.String("JWT"),
			IdentitySources: pulumi.StringArray{
				pulumi.String(fmt.Sprintf("%v%v", "$", "request.header.Authorization")),
			},
			JwtConfiguration: &apigatewayv2.AuthorizerJwtConfigurationArgs{
				Audiences: pulumi.StringArray{
					pulumi.String("example"),
				},
				Issuer: pulumi.String(fmt.Sprintf("%v%v", "https://", aws_cognito_user_pool.Example.Endpoint)),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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 format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers.
	// Valid values: `1.0`, `2.0`.
	AuthorizerPayloadFormatVersion pulumi.StringPtrInput
	// The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled.
	// If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Defaults to `300`.
	// Supported only for HTTP API Lambda authorizers.
	AuthorizerResultTtlInSeconds pulumi.IntPtrInput
	// The authorizer type. Valid values: `JWT`, `REQUEST`.
	// 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` resource.
	// Supported only for `REQUEST` authorizers.
	AuthorizerUri pulumi.StringPtrInput
	// Whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
	// Supported only for HTTP APIs.
	EnableSimpleResponses pulumi.BoolPtrInput
	// 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` 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` 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` 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` 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 format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers.
	// Valid values: `1.0`, `2.0`.
	AuthorizerPayloadFormatVersion pulumi.StringPtrInput
	// The time to live (TTL) for cached authorizer results, in seconds. If it equals 0, authorization caching is disabled.
	// If it is greater than 0, API Gateway caches authorizer responses. The maximum value is 3600, or 1 hour. Defaults to `300`.
	// Supported only for HTTP API Lambda authorizers.
	AuthorizerResultTtlInSeconds pulumi.IntPtrInput
	// The authorizer type. Valid values: `JWT`, `REQUEST`.
	// 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` resource.
	// Supported only for `REQUEST` authorizers.
	AuthorizerUri pulumi.StringPtrInput
	// Whether a Lambda authorizer returns a response in a simple format. If enabled, the Lambda authorizer can return a boolean value instead of an IAM policy.
	// Supported only for HTTP APIs.
	EnableSimpleResponses pulumi.BoolPtrInput
	// 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 Deployment

type Deployment struct {
	pulumi.CustomResourceState

	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// Whether the deployment was automatically released.
	AutoDeployed pulumi.BoolOutput `pulumi:"autoDeployed"`
	// The description for the deployment resource.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// A map of arbitrary keys and values that, when changed, will trigger a redeployment.
	Triggers pulumi.StringMapOutput `pulumi:"triggers"`
}

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

> **Note:** Creating a deployment for an API requires at least one `apigatewayv2.Route` resource associated with that API. To avoid race conditions when all resources are being created together, you need to add implicit resource references via the `triggers` argument or explicit resource references using the [resource `dependsOn` meta-argument](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson).

## Example Usage ### Basic

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewDeployment(ctx, "example", &apigatewayv2.DeploymentArgs{
			ApiId:       pulumi.Any(aws_apigatewayv2_route.Example.Api_id),
			Description: pulumi.String("Example deployment"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDeployment

func GetDeployment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeploymentState, opts ...pulumi.ResourceOption) (*Deployment, error)

GetDeployment gets an existing Deployment 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 NewDeployment

func NewDeployment(ctx *pulumi.Context,
	name string, args *DeploymentArgs, opts ...pulumi.ResourceOption) (*Deployment, error)

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

type DeploymentArgs

type DeploymentArgs struct {
	// The API identifier.
	ApiId pulumi.StringInput
	// The description for the deployment resource.
	Description pulumi.StringPtrInput
	// A map of arbitrary keys and values that, when changed, will trigger a redeployment.
	Triggers pulumi.StringMapInput
}

The set of arguments for constructing a Deployment resource.

func (DeploymentArgs) ElementType

func (DeploymentArgs) ElementType() reflect.Type

type DeploymentState

type DeploymentState struct {
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// Whether the deployment was automatically released.
	AutoDeployed pulumi.BoolPtrInput
	// The description for the deployment resource.
	Description pulumi.StringPtrInput
	// A map of arbitrary keys and values that, when changed, will trigger a redeployment.
	Triggers pulumi.StringMapInput
}

func (DeploymentState) ElementType

func (DeploymentState) ElementType() reflect.Type

type DomainName

type DomainName struct {
	pulumi.CustomResourceState

	// The [API mapping selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-mapping-selection-expressions) for the domain name.
	ApiMappingSelectionExpression pulumi.StringOutput `pulumi:"apiMappingSelectionExpression"`
	// The ARN of the domain name.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The domain name.
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// The domain name configuration.
	DomainNameConfiguration DomainNameDomainNameConfigurationOutput `pulumi:"domainNameConfiguration"`
	// A map of tags to assign to the domain name.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages an Amazon API Gateway Version 2 domain name. More information can be found in the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).

> **Note:** This resource establishes ownership of and the TLS settings for a particular domain name. An API stage can be associated with the domain name using the `apigatewayv2.ApiMapping` resource.

## Example Usage ### Basic

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewDomainName(ctx, "example", &apigatewayv2.DomainNameArgs{
			DomainName: pulumi.String("ws-api.example.com"),
			DomainNameConfiguration: &apigatewayv2.DomainNameDomainNameConfigurationArgs{
				CertificateArn: pulumi.Any(aws_acm_certificate.Example.Arn),
				EndpointType:   pulumi.String("REGIONAL"),
				SecurityPolicy: pulumi.String("TLS_1_2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDomainName

func GetDomainName(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DomainNameState, opts ...pulumi.ResourceOption) (*DomainName, error)

GetDomainName gets an existing DomainName 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 NewDomainName

func NewDomainName(ctx *pulumi.Context,
	name string, args *DomainNameArgs, opts ...pulumi.ResourceOption) (*DomainName, error)

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

type DomainNameArgs

type DomainNameArgs struct {
	// The domain name.
	DomainName pulumi.StringInput
	// The domain name configuration.
	DomainNameConfiguration DomainNameDomainNameConfigurationInput
	// A map of tags to assign to the domain name.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a DomainName resource.

func (DomainNameArgs) ElementType

func (DomainNameArgs) ElementType() reflect.Type

type DomainNameDomainNameConfiguration

type DomainNameDomainNameConfiguration struct {
	// The ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source.
	// Use the `acm.Certificate` resource to configure an ACM certificate.
	CertificateArn string `pulumi:"certificateArn"`
	// The endpoint type. Valid values: `REGIONAL`.
	EndpointType string `pulumi:"endpointType"`
	// The Amazon Route 53 Hosted Zone ID of the endpoint.
	HostedZoneId *string `pulumi:"hostedZoneId"`
	// The Transport Layer Security (TLS) version of the [security policy](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) for the domain name. Valid values: `TLS_1_2`.
	SecurityPolicy string `pulumi:"securityPolicy"`
	// The target domain name.
	TargetDomainName *string `pulumi:"targetDomainName"`
}

type DomainNameDomainNameConfigurationArgs

type DomainNameDomainNameConfigurationArgs struct {
	// The ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source.
	// Use the `acm.Certificate` resource to configure an ACM certificate.
	CertificateArn pulumi.StringInput `pulumi:"certificateArn"`
	// The endpoint type. Valid values: `REGIONAL`.
	EndpointType pulumi.StringInput `pulumi:"endpointType"`
	// The Amazon Route 53 Hosted Zone ID of the endpoint.
	HostedZoneId pulumi.StringPtrInput `pulumi:"hostedZoneId"`
	// The Transport Layer Security (TLS) version of the [security policy](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) for the domain name. Valid values: `TLS_1_2`.
	SecurityPolicy pulumi.StringInput `pulumi:"securityPolicy"`
	// The target domain name.
	TargetDomainName pulumi.StringPtrInput `pulumi:"targetDomainName"`
}

func (DomainNameDomainNameConfigurationArgs) ElementType

func (DomainNameDomainNameConfigurationArgs) ToDomainNameDomainNameConfigurationOutput

func (i DomainNameDomainNameConfigurationArgs) ToDomainNameDomainNameConfigurationOutput() DomainNameDomainNameConfigurationOutput

func (DomainNameDomainNameConfigurationArgs) ToDomainNameDomainNameConfigurationOutputWithContext

func (i DomainNameDomainNameConfigurationArgs) ToDomainNameDomainNameConfigurationOutputWithContext(ctx context.Context) DomainNameDomainNameConfigurationOutput

func (DomainNameDomainNameConfigurationArgs) ToDomainNameDomainNameConfigurationPtrOutput

func (i DomainNameDomainNameConfigurationArgs) ToDomainNameDomainNameConfigurationPtrOutput() DomainNameDomainNameConfigurationPtrOutput

func (DomainNameDomainNameConfigurationArgs) ToDomainNameDomainNameConfigurationPtrOutputWithContext

func (i DomainNameDomainNameConfigurationArgs) ToDomainNameDomainNameConfigurationPtrOutputWithContext(ctx context.Context) DomainNameDomainNameConfigurationPtrOutput

type DomainNameDomainNameConfigurationInput

type DomainNameDomainNameConfigurationInput interface {
	pulumi.Input

	ToDomainNameDomainNameConfigurationOutput() DomainNameDomainNameConfigurationOutput
	ToDomainNameDomainNameConfigurationOutputWithContext(context.Context) DomainNameDomainNameConfigurationOutput
}

DomainNameDomainNameConfigurationInput is an input type that accepts DomainNameDomainNameConfigurationArgs and DomainNameDomainNameConfigurationOutput values. You can construct a concrete instance of `DomainNameDomainNameConfigurationInput` via:

DomainNameDomainNameConfigurationArgs{...}

type DomainNameDomainNameConfigurationOutput

type DomainNameDomainNameConfigurationOutput struct{ *pulumi.OutputState }

func (DomainNameDomainNameConfigurationOutput) CertificateArn

The ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the `acm.Certificate` resource to configure an ACM certificate.

func (DomainNameDomainNameConfigurationOutput) ElementType

func (DomainNameDomainNameConfigurationOutput) EndpointType

The endpoint type. Valid values: `REGIONAL`.

func (DomainNameDomainNameConfigurationOutput) HostedZoneId

The Amazon Route 53 Hosted Zone ID of the endpoint.

func (DomainNameDomainNameConfigurationOutput) SecurityPolicy

The Transport Layer Security (TLS) version of the [security policy](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) for the domain name. Valid values: `TLS_1_2`.

func (DomainNameDomainNameConfigurationOutput) TargetDomainName

The target domain name.

func (DomainNameDomainNameConfigurationOutput) ToDomainNameDomainNameConfigurationOutput

func (o DomainNameDomainNameConfigurationOutput) ToDomainNameDomainNameConfigurationOutput() DomainNameDomainNameConfigurationOutput

func (DomainNameDomainNameConfigurationOutput) ToDomainNameDomainNameConfigurationOutputWithContext

func (o DomainNameDomainNameConfigurationOutput) ToDomainNameDomainNameConfigurationOutputWithContext(ctx context.Context) DomainNameDomainNameConfigurationOutput

func (DomainNameDomainNameConfigurationOutput) ToDomainNameDomainNameConfigurationPtrOutput

func (o DomainNameDomainNameConfigurationOutput) ToDomainNameDomainNameConfigurationPtrOutput() DomainNameDomainNameConfigurationPtrOutput

func (DomainNameDomainNameConfigurationOutput) ToDomainNameDomainNameConfigurationPtrOutputWithContext

func (o DomainNameDomainNameConfigurationOutput) ToDomainNameDomainNameConfigurationPtrOutputWithContext(ctx context.Context) DomainNameDomainNameConfigurationPtrOutput

type DomainNameDomainNameConfigurationPtrInput

type DomainNameDomainNameConfigurationPtrInput interface {
	pulumi.Input

	ToDomainNameDomainNameConfigurationPtrOutput() DomainNameDomainNameConfigurationPtrOutput
	ToDomainNameDomainNameConfigurationPtrOutputWithContext(context.Context) DomainNameDomainNameConfigurationPtrOutput
}

DomainNameDomainNameConfigurationPtrInput is an input type that accepts DomainNameDomainNameConfigurationArgs, DomainNameDomainNameConfigurationPtr and DomainNameDomainNameConfigurationPtrOutput values. You can construct a concrete instance of `DomainNameDomainNameConfigurationPtrInput` via:

        DomainNameDomainNameConfigurationArgs{...}

or:

        nil

type DomainNameDomainNameConfigurationPtrOutput

type DomainNameDomainNameConfigurationPtrOutput struct{ *pulumi.OutputState }

func (DomainNameDomainNameConfigurationPtrOutput) CertificateArn

The ARN of an AWS-managed certificate that will be used by the endpoint for the domain name. AWS Certificate Manager is the only supported source. Use the `acm.Certificate` resource to configure an ACM certificate.

func (DomainNameDomainNameConfigurationPtrOutput) Elem

func (DomainNameDomainNameConfigurationPtrOutput) ElementType

func (DomainNameDomainNameConfigurationPtrOutput) EndpointType

The endpoint type. Valid values: `REGIONAL`.

func (DomainNameDomainNameConfigurationPtrOutput) HostedZoneId

The Amazon Route 53 Hosted Zone ID of the endpoint.

func (DomainNameDomainNameConfigurationPtrOutput) SecurityPolicy

The Transport Layer Security (TLS) version of the [security policy](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-custom-domain-tls-version.html) for the domain name. Valid values: `TLS_1_2`.

func (DomainNameDomainNameConfigurationPtrOutput) TargetDomainName

The target domain name.

func (DomainNameDomainNameConfigurationPtrOutput) ToDomainNameDomainNameConfigurationPtrOutput

func (o DomainNameDomainNameConfigurationPtrOutput) ToDomainNameDomainNameConfigurationPtrOutput() DomainNameDomainNameConfigurationPtrOutput

func (DomainNameDomainNameConfigurationPtrOutput) ToDomainNameDomainNameConfigurationPtrOutputWithContext

func (o DomainNameDomainNameConfigurationPtrOutput) ToDomainNameDomainNameConfigurationPtrOutputWithContext(ctx context.Context) DomainNameDomainNameConfigurationPtrOutput

type DomainNameState

type DomainNameState struct {
	// The [API mapping selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-mapping-selection-expressions) for the domain name.
	ApiMappingSelectionExpression pulumi.StringPtrInput
	// The ARN of the domain name.
	Arn pulumi.StringPtrInput
	// The domain name.
	DomainName pulumi.StringPtrInput
	// The domain name configuration.
	DomainNameConfiguration DomainNameDomainNameConfigurationPtrInput
	// A map of tags to assign to the domain name.
	Tags pulumi.StringMapInput
}

func (DomainNameState) ElementType

func (DomainNameState) 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"`
	// Specifies the AWS service action to invoke. Supported only for HTTP APIs when `integrationType` is `AWS_PROXY`. See the [AWS service integration reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) documentation for supported values.
	IntegrationSubtype pulumi.StringPtrOutput `pulumi:"integrationSubtype"`
	// 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 key-value map specifying request parameters that are passed from the method request to the backend.
	// Supported only for WebSocket APIs.
	RequestParameters pulumi.StringMapOutput `pulumi:"requestParameters"`
	// 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"`
	// The TLS configuration for a private integration. Supported only for HTTP APIs.
	TlsConfig IntegrationTlsConfigPtrOutput `pulumi:"tlsConfig"`
}

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).

## Example Usage ### Basic

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewIntegration(ctx, "example", &apigatewayv2.IntegrationArgs{
			ApiId:           pulumi.Any(aws_apigatewayv2_api.Example.Id),
			IntegrationType: pulumi.String("MOCK"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AWS Service Integration

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewIntegration(ctx, "example", &apigatewayv2.IntegrationArgs{
			ApiId:              pulumi.Any(aws_apigatewayv2_api.Example.Id),
			CredentialsArn:     pulumi.Any(aws_iam_role.Example.Arn),
			Description:        pulumi.String("SQS example"),
			IntegrationType:    pulumi.String("AWS_PROXY"),
			IntegrationSubtype: pulumi.String("SQS-SendMessage"),
			RequestParameters: pulumi.StringMap{
				"QueueUrl":    pulumi.String(fmt.Sprintf("%v%v", "$", "request.header.queueUrl")),
				"MessageBody": pulumi.String(fmt.Sprintf("%v%v", "$", "request.body.message")),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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
	// Specifies the AWS service action to invoke. Supported only for HTTP APIs when `integrationType` is `AWS_PROXY`. See the [AWS service integration reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) documentation for supported values.
	IntegrationSubtype 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 key-value map specifying request parameters that are passed from the method request to the backend.
	// Supported only for WebSocket APIs.
	RequestParameters pulumi.StringMapInput
	// 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 TLS configuration for a private integration. Supported only for HTTP APIs.
	TlsConfig IntegrationTlsConfigPtrInput
}

The set of arguments for constructing a Integration resource.

func (IntegrationArgs) ElementType

func (IntegrationArgs) ElementType() reflect.Type

type IntegrationResponse

type IntegrationResponse struct {
	pulumi.CustomResourceState

	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`.
	ContentHandlingStrategy pulumi.StringPtrOutput `pulumi:"contentHandlingStrategy"`
	// The identifier of the `apigatewayv2.Integration`.
	IntegrationId pulumi.StringOutput `pulumi:"integrationId"`
	// The integration response key.
	IntegrationResponseKey pulumi.StringOutput `pulumi:"integrationResponseKey"`
	// 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.
	ResponseTemplates pulumi.StringMapOutput `pulumi:"responseTemplates"`
	// 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 response.
	TemplateSelectionExpression pulumi.StringPtrOutput `pulumi:"templateSelectionExpression"`
}

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

## Example Usage ### Basic

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewIntegrationResponse(ctx, "example", &apigatewayv2.IntegrationResponseArgs{
			ApiId:                  pulumi.Any(aws_apigatewayv2_api.Example.Id),
			IntegrationId:          pulumi.Any(aws_apigatewayv2_integration.Example.Id),
			IntegrationResponseKey: pulumi.String("/200/"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetIntegrationResponse

func GetIntegrationResponse(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IntegrationResponseState, opts ...pulumi.ResourceOption) (*IntegrationResponse, error)

GetIntegrationResponse gets an existing IntegrationResponse 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 NewIntegrationResponse

func NewIntegrationResponse(ctx *pulumi.Context,
	name string, args *IntegrationResponseArgs, opts ...pulumi.ResourceOption) (*IntegrationResponse, error)

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

type IntegrationResponseArgs

type IntegrationResponseArgs struct {
	// The API identifier.
	ApiId pulumi.StringInput
	// How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`.
	ContentHandlingStrategy pulumi.StringPtrInput
	// The identifier of the `apigatewayv2.Integration`.
	IntegrationId pulumi.StringInput
	// The integration response key.
	IntegrationResponseKey pulumi.StringInput
	// 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.
	ResponseTemplates 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 response.
	TemplateSelectionExpression pulumi.StringPtrInput
}

The set of arguments for constructing a IntegrationResponse resource.

func (IntegrationResponseArgs) ElementType

func (IntegrationResponseArgs) ElementType() reflect.Type

type IntegrationResponseState

type IntegrationResponseState struct {
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`.
	ContentHandlingStrategy pulumi.StringPtrInput
	// The identifier of the `apigatewayv2.Integration`.
	IntegrationId pulumi.StringPtrInput
	// The integration response key.
	IntegrationResponseKey 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.
	ResponseTemplates 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 response.
	TemplateSelectionExpression pulumi.StringPtrInput
}

func (IntegrationResponseState) ElementType

func (IntegrationResponseState) 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
	// Specifies the AWS service action to invoke. Supported only for HTTP APIs when `integrationType` is `AWS_PROXY`. See the [AWS service integration reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html) documentation for supported values.
	IntegrationSubtype 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 key-value map specifying request parameters that are passed from the method request to the backend.
	// Supported only for WebSocket APIs.
	RequestParameters pulumi.StringMapInput
	// 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 TLS configuration for a private integration. Supported only for HTTP APIs.
	TlsConfig IntegrationTlsConfigPtrInput
}

func (IntegrationState) ElementType

func (IntegrationState) ElementType() reflect.Type

type IntegrationTlsConfig

type IntegrationTlsConfig struct {
	// If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
	ServerNameToVerify *string `pulumi:"serverNameToVerify"`
}

type IntegrationTlsConfigArgs

type IntegrationTlsConfigArgs struct {
	// If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.
	ServerNameToVerify pulumi.StringPtrInput `pulumi:"serverNameToVerify"`
}

func (IntegrationTlsConfigArgs) ElementType

func (IntegrationTlsConfigArgs) ElementType() reflect.Type

func (IntegrationTlsConfigArgs) ToIntegrationTlsConfigOutput

func (i IntegrationTlsConfigArgs) ToIntegrationTlsConfigOutput() IntegrationTlsConfigOutput

func (IntegrationTlsConfigArgs) ToIntegrationTlsConfigOutputWithContext

func (i IntegrationTlsConfigArgs) ToIntegrationTlsConfigOutputWithContext(ctx context.Context) IntegrationTlsConfigOutput

func (IntegrationTlsConfigArgs) ToIntegrationTlsConfigPtrOutput

func (i IntegrationTlsConfigArgs) ToIntegrationTlsConfigPtrOutput() IntegrationTlsConfigPtrOutput

func (IntegrationTlsConfigArgs) ToIntegrationTlsConfigPtrOutputWithContext

func (i IntegrationTlsConfigArgs) ToIntegrationTlsConfigPtrOutputWithContext(ctx context.Context) IntegrationTlsConfigPtrOutput

type IntegrationTlsConfigInput

type IntegrationTlsConfigInput interface {
	pulumi.Input

	ToIntegrationTlsConfigOutput() IntegrationTlsConfigOutput
	ToIntegrationTlsConfigOutputWithContext(context.Context) IntegrationTlsConfigOutput
}

IntegrationTlsConfigInput is an input type that accepts IntegrationTlsConfigArgs and IntegrationTlsConfigOutput values. You can construct a concrete instance of `IntegrationTlsConfigInput` via:

IntegrationTlsConfigArgs{...}

type IntegrationTlsConfigOutput

type IntegrationTlsConfigOutput struct{ *pulumi.OutputState }

func (IntegrationTlsConfigOutput) ElementType

func (IntegrationTlsConfigOutput) ElementType() reflect.Type

func (IntegrationTlsConfigOutput) ServerNameToVerify

func (o IntegrationTlsConfigOutput) ServerNameToVerify() pulumi.StringPtrOutput

If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.

func (IntegrationTlsConfigOutput) ToIntegrationTlsConfigOutput

func (o IntegrationTlsConfigOutput) ToIntegrationTlsConfigOutput() IntegrationTlsConfigOutput

func (IntegrationTlsConfigOutput) ToIntegrationTlsConfigOutputWithContext

func (o IntegrationTlsConfigOutput) ToIntegrationTlsConfigOutputWithContext(ctx context.Context) IntegrationTlsConfigOutput

func (IntegrationTlsConfigOutput) ToIntegrationTlsConfigPtrOutput

func (o IntegrationTlsConfigOutput) ToIntegrationTlsConfigPtrOutput() IntegrationTlsConfigPtrOutput

func (IntegrationTlsConfigOutput) ToIntegrationTlsConfigPtrOutputWithContext

func (o IntegrationTlsConfigOutput) ToIntegrationTlsConfigPtrOutputWithContext(ctx context.Context) IntegrationTlsConfigPtrOutput

type IntegrationTlsConfigPtrInput

type IntegrationTlsConfigPtrInput interface {
	pulumi.Input

	ToIntegrationTlsConfigPtrOutput() IntegrationTlsConfigPtrOutput
	ToIntegrationTlsConfigPtrOutputWithContext(context.Context) IntegrationTlsConfigPtrOutput
}

IntegrationTlsConfigPtrInput is an input type that accepts IntegrationTlsConfigArgs, IntegrationTlsConfigPtr and IntegrationTlsConfigPtrOutput values. You can construct a concrete instance of `IntegrationTlsConfigPtrInput` via:

        IntegrationTlsConfigArgs{...}

or:

        nil

type IntegrationTlsConfigPtrOutput

type IntegrationTlsConfigPtrOutput struct{ *pulumi.OutputState }

func (IntegrationTlsConfigPtrOutput) Elem

func (IntegrationTlsConfigPtrOutput) ElementType

func (IntegrationTlsConfigPtrOutput) ServerNameToVerify

func (o IntegrationTlsConfigPtrOutput) ServerNameToVerify() pulumi.StringPtrOutput

If you specify a server name, API Gateway uses it to verify the hostname on the integration's certificate. The server name is also included in the TLS handshake to support Server Name Indication (SNI) or virtual hosting.

func (IntegrationTlsConfigPtrOutput) ToIntegrationTlsConfigPtrOutput

func (o IntegrationTlsConfigPtrOutput) ToIntegrationTlsConfigPtrOutput() IntegrationTlsConfigPtrOutput

func (IntegrationTlsConfigPtrOutput) ToIntegrationTlsConfigPtrOutputWithContext

func (o IntegrationTlsConfigPtrOutput) ToIntegrationTlsConfigPtrOutputWithContext(ctx context.Context) IntegrationTlsConfigPtrOutput

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).

## Example Usage ### Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewModel(ctx, "example", &apigatewayv2.ModelArgs{
			ApiId:       pulumi.Any(aws_apigatewayv2_api.Example.Id),
			ContentType: pulumi.String("application/json"),
			Schema:      pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"", "$", "schema\": \"http://json-schema.org/draft-04/schema#\",\n", "  \"title\": \"ExampleModel\",\n", "  \"type\": \"object\",\n", "  \"properties\": {\n", "    \"id\": { \"type\": \"string\" }\n", "  }\n", "}\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

type Route

type Route struct {
	pulumi.CustomResourceState

	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// Boolean whether an API key is required for the route. Defaults to `false`.
	ApiKeyRequired pulumi.BoolPtrOutput `pulumi:"apiKeyRequired"`
	// The authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.
	AuthorizationScopes pulumi.StringArrayOutput `pulumi:"authorizationScopes"`
	// The authorization type for the route.
	// For WebSocket APIs, valid values are `NONE` for open access, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.
	// For HTTP APIs, valid values are `NONE` for open access, or `JWT` for using JSON Web Tokens.
	// Defaults to `NONE`.
	AuthorizationType pulumi.StringPtrOutput `pulumi:"authorizationType"`
	// The identifier of the `apigatewayv2.Authorizer` resource to be associated with this route, if the authorizationType is `CUSTOM`.
	AuthorizerId pulumi.StringPtrOutput `pulumi:"authorizerId"`
	// The [model selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) for the route.
	ModelSelectionExpression pulumi.StringPtrOutput `pulumi:"modelSelectionExpression"`
	// The operation name for the route.
	OperationName pulumi.StringPtrOutput `pulumi:"operationName"`
	// The request models for the route.
	RequestModels pulumi.StringMapOutput `pulumi:"requestModels"`
	// The route key for the route.
	RouteKey pulumi.StringOutput `pulumi:"routeKey"`
	// The [route response selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-route-response-selection-expressions) for the route.
	RouteResponseSelectionExpression pulumi.StringPtrOutput `pulumi:"routeResponseSelectionExpression"`
	// The target for the route.
	Target pulumi.StringPtrOutput `pulumi:"target"`
}

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

## Example Usage ### Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewRoute(ctx, "example", &apigatewayv2.RouteArgs{
			ApiId:    pulumi.Any(aws_apigatewayv2_api.Example.Id),
			RouteKey: pulumi.String(fmt.Sprintf("%v%v", "$", "default")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRoute

func GetRoute(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouteState, opts ...pulumi.ResourceOption) (*Route, error)

GetRoute gets an existing Route 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 NewRoute

func NewRoute(ctx *pulumi.Context,
	name string, args *RouteArgs, opts ...pulumi.ResourceOption) (*Route, error)

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

type RouteArgs

type RouteArgs struct {
	// The API identifier.
	ApiId pulumi.StringInput
	// Boolean whether an API key is required for the route. Defaults to `false`.
	ApiKeyRequired pulumi.BoolPtrInput
	// The authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.
	AuthorizationScopes pulumi.StringArrayInput
	// The authorization type for the route.
	// For WebSocket APIs, valid values are `NONE` for open access, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.
	// For HTTP APIs, valid values are `NONE` for open access, or `JWT` for using JSON Web Tokens.
	// Defaults to `NONE`.
	AuthorizationType pulumi.StringPtrInput
	// The identifier of the `apigatewayv2.Authorizer` resource to be associated with this route, if the authorizationType is `CUSTOM`.
	AuthorizerId pulumi.StringPtrInput
	// The [model selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) for the route.
	ModelSelectionExpression pulumi.StringPtrInput
	// The operation name for the route.
	OperationName pulumi.StringPtrInput
	// The request models for the route.
	RequestModels pulumi.StringMapInput
	// The route key for the route.
	RouteKey pulumi.StringInput
	// The [route response selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-route-response-selection-expressions) for the route.
	RouteResponseSelectionExpression pulumi.StringPtrInput
	// The target for the route.
	Target pulumi.StringPtrInput
}

The set of arguments for constructing a Route resource.

func (RouteArgs) ElementType

func (RouteArgs) ElementType() reflect.Type

type RouteResponse

type RouteResponse struct {
	pulumi.CustomResourceState

	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// The [model selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) for the route response.
	ModelSelectionExpression pulumi.StringPtrOutput `pulumi:"modelSelectionExpression"`
	// The response models for the route response.
	ResponseModels pulumi.StringMapOutput `pulumi:"responseModels"`
	// The identifier of the `apigatewayv2.Route`.
	RouteId pulumi.StringOutput `pulumi:"routeId"`
	// The route response key.
	RouteResponseKey pulumi.StringOutput `pulumi:"routeResponseKey"`
}

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

## Example Usage ### Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewRouteResponse(ctx, "example", &apigatewayv2.RouteResponseArgs{
			ApiId:            pulumi.Any(aws_apigatewayv2_api.Example.Id),
			RouteId:          pulumi.Any(aws_apigatewayv2_route.Example.Id),
			RouteResponseKey: pulumi.String(fmt.Sprintf("%v%v", "$", "default")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetRouteResponse

func GetRouteResponse(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RouteResponseState, opts ...pulumi.ResourceOption) (*RouteResponse, error)

GetRouteResponse gets an existing RouteResponse 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 NewRouteResponse

func NewRouteResponse(ctx *pulumi.Context,
	name string, args *RouteResponseArgs, opts ...pulumi.ResourceOption) (*RouteResponse, error)

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

type RouteResponseArgs

type RouteResponseArgs struct {
	// The API identifier.
	ApiId pulumi.StringInput
	// The [model selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) for the route response.
	ModelSelectionExpression pulumi.StringPtrInput
	// The response models for the route response.
	ResponseModels pulumi.StringMapInput
	// The identifier of the `apigatewayv2.Route`.
	RouteId pulumi.StringInput
	// The route response key.
	RouteResponseKey pulumi.StringInput
}

The set of arguments for constructing a RouteResponse resource.

func (RouteResponseArgs) ElementType

func (RouteResponseArgs) ElementType() reflect.Type

type RouteResponseState

type RouteResponseState struct {
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// The [model selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) for the route response.
	ModelSelectionExpression pulumi.StringPtrInput
	// The response models for the route response.
	ResponseModels pulumi.StringMapInput
	// The identifier of the `apigatewayv2.Route`.
	RouteId pulumi.StringPtrInput
	// The route response key.
	RouteResponseKey pulumi.StringPtrInput
}

func (RouteResponseState) ElementType

func (RouteResponseState) ElementType() reflect.Type

type RouteState

type RouteState struct {
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// Boolean whether an API key is required for the route. Defaults to `false`.
	ApiKeyRequired pulumi.BoolPtrInput
	// The authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.
	AuthorizationScopes pulumi.StringArrayInput
	// The authorization type for the route.
	// For WebSocket APIs, valid values are `NONE` for open access, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.
	// For HTTP APIs, valid values are `NONE` for open access, or `JWT` for using JSON Web Tokens.
	// Defaults to `NONE`.
	AuthorizationType pulumi.StringPtrInput
	// The identifier of the `apigatewayv2.Authorizer` resource to be associated with this route, if the authorizationType is `CUSTOM`.
	AuthorizerId pulumi.StringPtrInput
	// The [model selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-model-selection-expressions) for the route.
	ModelSelectionExpression pulumi.StringPtrInput
	// The operation name for the route.
	OperationName pulumi.StringPtrInput
	// The request models for the route.
	RequestModels pulumi.StringMapInput
	// The route key for the route.
	RouteKey pulumi.StringPtrInput
	// The [route response selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-route-response-selection-expressions) for the route.
	RouteResponseSelectionExpression pulumi.StringPtrInput
	// The target for the route.
	Target pulumi.StringPtrInput
}

func (RouteState) ElementType

func (RouteState) ElementType() reflect.Type

type Stage

type Stage struct {
	pulumi.CustomResourceState

	// Settings for logging access in this stage.
	// Use the `apigateway.Account` resource to configure [permissions for CloudWatch Logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html#set-up-access-logging-permissions).
	AccessLogSettings StageAccessLogSettingsPtrOutput `pulumi:"accessLogSettings"`
	// The API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// The ARN of the stage.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether updates to an API automatically trigger a new deployment. Defaults to `false`.
	AutoDeploy pulumi.BoolPtrOutput `pulumi:"autoDeploy"`
	// The identifier of a client certificate for the stage. Use the `apigateway.ClientCertificate` resource to configure a client certificate.
	// Supported only for WebSocket APIs.
	ClientCertificateId pulumi.StringPtrOutput `pulumi:"clientCertificateId"`
	// The default route settings for the stage.
	DefaultRouteSettings StageDefaultRouteSettingsPtrOutput `pulumi:"defaultRouteSettings"`
	// The deployment identifier of the stage. Use the [`apigatewayv2.Deployment`](https://www.terraform.io/docs/providers/aws/r/apigatewayv2_deployment.html) resource to configure a deployment.
	DeploymentId pulumi.StringOutput `pulumi:"deploymentId"`
	// The description for the stage.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ARN prefix to be used in an `lambda.Permission` `sourceArn` attribute.
	// For WebSocket APIs this attribute can additionally be used in an `iam.Policy` 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 URL to invoke the API pointing to the stage,
	// e.g. `wss://z4675bid1j.execute-api.eu-west-2.amazonaws.com/example-stage`, or `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/`
	InvokeUrl pulumi.StringOutput `pulumi:"invokeUrl"`
	// The name of the stage.
	Name pulumi.StringOutput `pulumi:"name"`
	// Route settings for the stage.
	RouteSettings StageRouteSettingArrayOutput `pulumi:"routeSettings"`
	// A map that defines the stage variables for the stage.
	StageVariables pulumi.StringMapOutput `pulumi:"stageVariables"`
	// A map of tags to assign to the stage.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

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

## Example Usage ### Basic

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewStage(ctx, "example", &apigatewayv2.StageArgs{
			ApiId: pulumi.Any(aws_apigatewayv2_api.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetStage

func GetStage(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StageState, opts ...pulumi.ResourceOption) (*Stage, error)

GetStage gets an existing Stage 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 NewStage

func NewStage(ctx *pulumi.Context,
	name string, args *StageArgs, opts ...pulumi.ResourceOption) (*Stage, error)

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

type StageAccessLogSettings

type StageAccessLogSettings struct {
	// The ARN of the CloudWatch Logs log group to receive access logs. Any trailing `:*` is trimmed from the ARN.
	DestinationArn string `pulumi:"destinationArn"`
	// A single line [format](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html#apigateway-cloudwatch-log-formats) of the access logs of data, as specified by [selected $context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-logging.html).
	Format string `pulumi:"format"`
}

type StageAccessLogSettingsArgs

type StageAccessLogSettingsArgs struct {
	// The ARN of the CloudWatch Logs log group to receive access logs. Any trailing `:*` is trimmed from the ARN.
	DestinationArn pulumi.StringInput `pulumi:"destinationArn"`
	// A single line [format](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html#apigateway-cloudwatch-log-formats) of the access logs of data, as specified by [selected $context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-logging.html).
	Format pulumi.StringInput `pulumi:"format"`
}

func (StageAccessLogSettingsArgs) ElementType

func (StageAccessLogSettingsArgs) ElementType() reflect.Type

func (StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutput

func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutput() StageAccessLogSettingsOutput

func (StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutputWithContext

func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutputWithContext(ctx context.Context) StageAccessLogSettingsOutput

func (StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutput

func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput

func (StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutputWithContext

func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutputWithContext(ctx context.Context) StageAccessLogSettingsPtrOutput

type StageAccessLogSettingsInput

type StageAccessLogSettingsInput interface {
	pulumi.Input

	ToStageAccessLogSettingsOutput() StageAccessLogSettingsOutput
	ToStageAccessLogSettingsOutputWithContext(context.Context) StageAccessLogSettingsOutput
}

StageAccessLogSettingsInput is an input type that accepts StageAccessLogSettingsArgs and StageAccessLogSettingsOutput values. You can construct a concrete instance of `StageAccessLogSettingsInput` via:

StageAccessLogSettingsArgs{...}

type StageAccessLogSettingsOutput

type StageAccessLogSettingsOutput struct{ *pulumi.OutputState }

func (StageAccessLogSettingsOutput) DestinationArn

The ARN of the CloudWatch Logs log group to receive access logs. Any trailing `:*` is trimmed from the ARN.

func (StageAccessLogSettingsOutput) ElementType

func (StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutput

func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutput() StageAccessLogSettingsOutput

func (StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutputWithContext

func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutputWithContext(ctx context.Context) StageAccessLogSettingsOutput

func (StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutput

func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput

func (StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutputWithContext

func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutputWithContext(ctx context.Context) StageAccessLogSettingsPtrOutput

type StageAccessLogSettingsPtrInput

type StageAccessLogSettingsPtrInput interface {
	pulumi.Input

	ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput
	ToStageAccessLogSettingsPtrOutputWithContext(context.Context) StageAccessLogSettingsPtrOutput
}

StageAccessLogSettingsPtrInput is an input type that accepts StageAccessLogSettingsArgs, StageAccessLogSettingsPtr and StageAccessLogSettingsPtrOutput values. You can construct a concrete instance of `StageAccessLogSettingsPtrInput` via:

        StageAccessLogSettingsArgs{...}

or:

        nil

type StageAccessLogSettingsPtrOutput

type StageAccessLogSettingsPtrOutput struct{ *pulumi.OutputState }

func (StageAccessLogSettingsPtrOutput) DestinationArn

The ARN of the CloudWatch Logs log group to receive access logs. Any trailing `:*` is trimmed from the ARN.

func (StageAccessLogSettingsPtrOutput) Elem

func (StageAccessLogSettingsPtrOutput) ElementType

func (StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutput

func (o StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput

func (StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutputWithContext

func (o StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutputWithContext(ctx context.Context) StageAccessLogSettingsPtrOutput

type StageArgs

type StageArgs struct {
	// Settings for logging access in this stage.
	// Use the `apigateway.Account` resource to configure [permissions for CloudWatch Logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html#set-up-access-logging-permissions).
	AccessLogSettings StageAccessLogSettingsPtrInput
	// The API identifier.
	ApiId pulumi.StringInput
	// Whether updates to an API automatically trigger a new deployment. Defaults to `false`.
	AutoDeploy pulumi.BoolPtrInput
	// The identifier of a client certificate for the stage. Use the `apigateway.ClientCertificate` resource to configure a client certificate.
	// Supported only for WebSocket APIs.
	ClientCertificateId pulumi.StringPtrInput
	// The default route settings for the stage.
	DefaultRouteSettings StageDefaultRouteSettingsPtrInput
	// The deployment identifier of the stage. Use the [`apigatewayv2.Deployment`](https://www.terraform.io/docs/providers/aws/r/apigatewayv2_deployment.html) resource to configure a deployment.
	DeploymentId pulumi.StringPtrInput
	// The description for the stage.
	Description pulumi.StringPtrInput
	// The name of the stage.
	Name pulumi.StringPtrInput
	// Route settings for the stage.
	RouteSettings StageRouteSettingArrayInput
	// A map that defines the stage variables for the stage.
	StageVariables pulumi.StringMapInput
	// A map of tags to assign to the stage.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Stage resource.

func (StageArgs) ElementType

func (StageArgs) ElementType() reflect.Type

type StageDefaultRouteSettings

type StageDefaultRouteSettings struct {
	// Whether data trace logging is enabled for the default route. Affects the log entries pushed to Amazon CloudWatch Logs.
	// Defaults to `false`. Supported only for WebSocket APIs.
	DataTraceEnabled *bool `pulumi:"dataTraceEnabled"`
	// Whether detailed metrics are enabled for the default route. Defaults to `false`.
	DetailedMetricsEnabled *bool `pulumi:"detailedMetricsEnabled"`
	// The logging level for the default route. Affects the log entries pushed to Amazon CloudWatch Logs.
	// Valid values: `ERROR`, `INFO`, `OFF`. Defaults to `OFF`. Supported only for WebSocket APIs. This provider will only perform drift detection of its value when present in a configuration.
	LoggingLevel *string `pulumi:"loggingLevel"`
	// The throttling burst limit for the default route.
	ThrottlingBurstLimit *int `pulumi:"throttlingBurstLimit"`
	// The throttling rate limit for the default route.
	ThrottlingRateLimit *float64 `pulumi:"throttlingRateLimit"`
}

type StageDefaultRouteSettingsArgs

type StageDefaultRouteSettingsArgs struct {
	// Whether data trace logging is enabled for the default route. Affects the log entries pushed to Amazon CloudWatch Logs.
	// Defaults to `false`. Supported only for WebSocket APIs.
	DataTraceEnabled pulumi.BoolPtrInput `pulumi:"dataTraceEnabled"`
	// Whether detailed metrics are enabled for the default route. Defaults to `false`.
	DetailedMetricsEnabled pulumi.BoolPtrInput `pulumi:"detailedMetricsEnabled"`
	// The logging level for the default route. Affects the log entries pushed to Amazon CloudWatch Logs.
	// Valid values: `ERROR`, `INFO`, `OFF`. Defaults to `OFF`. Supported only for WebSocket APIs. This provider will only perform drift detection of its value when present in a configuration.
	LoggingLevel pulumi.StringPtrInput `pulumi:"loggingLevel"`
	// The throttling burst limit for the default route.
	ThrottlingBurstLimit pulumi.IntPtrInput `pulumi:"throttlingBurstLimit"`
	// The throttling rate limit for the default route.
	ThrottlingRateLimit pulumi.Float64PtrInput `pulumi:"throttlingRateLimit"`
}

func (StageDefaultRouteSettingsArgs) ElementType

func (StageDefaultRouteSettingsArgs) ToStageDefaultRouteSettingsOutput

func (i StageDefaultRouteSettingsArgs) ToStageDefaultRouteSettingsOutput() StageDefaultRouteSettingsOutput

func (StageDefaultRouteSettingsArgs) ToStageDefaultRouteSettingsOutputWithContext

func (i StageDefaultRouteSettingsArgs) ToStageDefaultRouteSettingsOutputWithContext(ctx context.Context) StageDefaultRouteSettingsOutput

func (StageDefaultRouteSettingsArgs) ToStageDefaultRouteSettingsPtrOutput

func (i StageDefaultRouteSettingsArgs) ToStageDefaultRouteSettingsPtrOutput() StageDefaultRouteSettingsPtrOutput

func (StageDefaultRouteSettingsArgs) ToStageDefaultRouteSettingsPtrOutputWithContext

func (i StageDefaultRouteSettingsArgs) ToStageDefaultRouteSettingsPtrOutputWithContext(ctx context.Context) StageDefaultRouteSettingsPtrOutput

type StageDefaultRouteSettingsInput

type StageDefaultRouteSettingsInput interface {
	pulumi.Input

	ToStageDefaultRouteSettingsOutput() StageDefaultRouteSettingsOutput
	ToStageDefaultRouteSettingsOutputWithContext(context.Context) StageDefaultRouteSettingsOutput
}

StageDefaultRouteSettingsInput is an input type that accepts StageDefaultRouteSettingsArgs and StageDefaultRouteSettingsOutput values. You can construct a concrete instance of `StageDefaultRouteSettingsInput` via:

StageDefaultRouteSettingsArgs{...}

type StageDefaultRouteSettingsOutput

type StageDefaultRouteSettingsOutput struct{ *pulumi.OutputState }

func (StageDefaultRouteSettingsOutput) DataTraceEnabled

Whether data trace logging is enabled for the default route. Affects the log entries pushed to Amazon CloudWatch Logs. Defaults to `false`. Supported only for WebSocket APIs.

func (StageDefaultRouteSettingsOutput) DetailedMetricsEnabled

func (o StageDefaultRouteSettingsOutput) DetailedMetricsEnabled() pulumi.BoolPtrOutput

Whether detailed metrics are enabled for the default route. Defaults to `false`.

func (StageDefaultRouteSettingsOutput) ElementType

func (StageDefaultRouteSettingsOutput) LoggingLevel

The logging level for the default route. Affects the log entries pushed to Amazon CloudWatch Logs. Valid values: `ERROR`, `INFO`, `OFF`. Defaults to `OFF`. Supported only for WebSocket APIs. This provider will only perform drift detection of its value when present in a configuration.

func (StageDefaultRouteSettingsOutput) ThrottlingBurstLimit

func (o StageDefaultRouteSettingsOutput) ThrottlingBurstLimit() pulumi.IntPtrOutput

The throttling burst limit for the default route.

func (StageDefaultRouteSettingsOutput) ThrottlingRateLimit

The throttling rate limit for the default route.

func (StageDefaultRouteSettingsOutput) ToStageDefaultRouteSettingsOutput

func (o StageDefaultRouteSettingsOutput) ToStageDefaultRouteSettingsOutput() StageDefaultRouteSettingsOutput

func (StageDefaultRouteSettingsOutput) ToStageDefaultRouteSettingsOutputWithContext

func (o StageDefaultRouteSettingsOutput) ToStageDefaultRouteSettingsOutputWithContext(ctx context.Context) StageDefaultRouteSettingsOutput

func (StageDefaultRouteSettingsOutput) ToStageDefaultRouteSettingsPtrOutput

func (o StageDefaultRouteSettingsOutput) ToStageDefaultRouteSettingsPtrOutput() StageDefaultRouteSettingsPtrOutput

func (StageDefaultRouteSettingsOutput) ToStageDefaultRouteSettingsPtrOutputWithContext

func (o StageDefaultRouteSettingsOutput) ToStageDefaultRouteSettingsPtrOutputWithContext(ctx context.Context) StageDefaultRouteSettingsPtrOutput

type StageDefaultRouteSettingsPtrInput

type StageDefaultRouteSettingsPtrInput interface {
	pulumi.Input

	ToStageDefaultRouteSettingsPtrOutput() StageDefaultRouteSettingsPtrOutput
	ToStageDefaultRouteSettingsPtrOutputWithContext(context.Context) StageDefaultRouteSettingsPtrOutput
}

StageDefaultRouteSettingsPtrInput is an input type that accepts StageDefaultRouteSettingsArgs, StageDefaultRouteSettingsPtr and StageDefaultRouteSettingsPtrOutput values. You can construct a concrete instance of `StageDefaultRouteSettingsPtrInput` via:

        StageDefaultRouteSettingsArgs{...}

or:

        nil

type StageDefaultRouteSettingsPtrOutput

type StageDefaultRouteSettingsPtrOutput struct{ *pulumi.OutputState }

func (StageDefaultRouteSettingsPtrOutput) DataTraceEnabled

Whether data trace logging is enabled for the default route. Affects the log entries pushed to Amazon CloudWatch Logs. Defaults to `false`. Supported only for WebSocket APIs.

func (StageDefaultRouteSettingsPtrOutput) DetailedMetricsEnabled

func (o StageDefaultRouteSettingsPtrOutput) DetailedMetricsEnabled() pulumi.BoolPtrOutput

Whether detailed metrics are enabled for the default route. Defaults to `false`.

func (StageDefaultRouteSettingsPtrOutput) Elem

func (StageDefaultRouteSettingsPtrOutput) ElementType

func (StageDefaultRouteSettingsPtrOutput) LoggingLevel

The logging level for the default route. Affects the log entries pushed to Amazon CloudWatch Logs. Valid values: `ERROR`, `INFO`, `OFF`. Defaults to `OFF`. Supported only for WebSocket APIs. This provider will only perform drift detection of its value when present in a configuration.

func (StageDefaultRouteSettingsPtrOutput) ThrottlingBurstLimit

func (o StageDefaultRouteSettingsPtrOutput) ThrottlingBurstLimit() pulumi.IntPtrOutput

The throttling burst limit for the default route.

func (StageDefaultRouteSettingsPtrOutput) ThrottlingRateLimit

The throttling rate limit for the default route.

func (StageDefaultRouteSettingsPtrOutput) ToStageDefaultRouteSettingsPtrOutput

func (o StageDefaultRouteSettingsPtrOutput) ToStageDefaultRouteSettingsPtrOutput() StageDefaultRouteSettingsPtrOutput

func (StageDefaultRouteSettingsPtrOutput) ToStageDefaultRouteSettingsPtrOutputWithContext

func (o StageDefaultRouteSettingsPtrOutput) ToStageDefaultRouteSettingsPtrOutputWithContext(ctx context.Context) StageDefaultRouteSettingsPtrOutput

type StageRouteSetting

type StageRouteSetting struct {
	// Whether data trace logging is enabled for the route. Affects the log entries pushed to Amazon CloudWatch Logs.
	// Defaults to `false`. Supported only for WebSocket APIs.
	DataTraceEnabled *bool `pulumi:"dataTraceEnabled"`
	// Whether detailed metrics are enabled for the route. Defaults to `false`.
	DetailedMetricsEnabled *bool `pulumi:"detailedMetricsEnabled"`
	// The logging level for the route. Affects the log entries pushed to Amazon CloudWatch Logs.
	// Valid values: `ERROR`, `INFO`, `OFF`. Defaults to `OFF`. Supported only for WebSocket APIs. This provider will only perform drift detection of its value when present in a configuration.
	LoggingLevel *string `pulumi:"loggingLevel"`
	// Route key.
	RouteKey string `pulumi:"routeKey"`
	// The throttling burst limit for the route.
	ThrottlingBurstLimit *int `pulumi:"throttlingBurstLimit"`
	// The throttling rate limit for the route.
	ThrottlingRateLimit *float64 `pulumi:"throttlingRateLimit"`
}

type StageRouteSettingArgs

type StageRouteSettingArgs struct {
	// Whether data trace logging is enabled for the route. Affects the log entries pushed to Amazon CloudWatch Logs.
	// Defaults to `false`. Supported only for WebSocket APIs.
	DataTraceEnabled pulumi.BoolPtrInput `pulumi:"dataTraceEnabled"`
	// Whether detailed metrics are enabled for the route. Defaults to `false`.
	DetailedMetricsEnabled pulumi.BoolPtrInput `pulumi:"detailedMetricsEnabled"`
	// The logging level for the route. Affects the log entries pushed to Amazon CloudWatch Logs.
	// Valid values: `ERROR`, `INFO`, `OFF`. Defaults to `OFF`. Supported only for WebSocket APIs. This provider will only perform drift detection of its value when present in a configuration.
	LoggingLevel pulumi.StringPtrInput `pulumi:"loggingLevel"`
	// Route key.
	RouteKey pulumi.StringInput `pulumi:"routeKey"`
	// The throttling burst limit for the route.
	ThrottlingBurstLimit pulumi.IntPtrInput `pulumi:"throttlingBurstLimit"`
	// The throttling rate limit for the route.
	ThrottlingRateLimit pulumi.Float64PtrInput `pulumi:"throttlingRateLimit"`
}

func (StageRouteSettingArgs) ElementType

func (StageRouteSettingArgs) ElementType() reflect.Type

func (StageRouteSettingArgs) ToStageRouteSettingOutput

func (i StageRouteSettingArgs) ToStageRouteSettingOutput() StageRouteSettingOutput

func (StageRouteSettingArgs) ToStageRouteSettingOutputWithContext

func (i StageRouteSettingArgs) ToStageRouteSettingOutputWithContext(ctx context.Context) StageRouteSettingOutput

type StageRouteSettingArray

type StageRouteSettingArray []StageRouteSettingInput

func (StageRouteSettingArray) ElementType

func (StageRouteSettingArray) ElementType() reflect.Type

func (StageRouteSettingArray) ToStageRouteSettingArrayOutput

func (i StageRouteSettingArray) ToStageRouteSettingArrayOutput() StageRouteSettingArrayOutput

func (StageRouteSettingArray) ToStageRouteSettingArrayOutputWithContext

func (i StageRouteSettingArray) ToStageRouteSettingArrayOutputWithContext(ctx context.Context) StageRouteSettingArrayOutput

type StageRouteSettingArrayInput

type StageRouteSettingArrayInput interface {
	pulumi.Input

	ToStageRouteSettingArrayOutput() StageRouteSettingArrayOutput
	ToStageRouteSettingArrayOutputWithContext(context.Context) StageRouteSettingArrayOutput
}

StageRouteSettingArrayInput is an input type that accepts StageRouteSettingArray and StageRouteSettingArrayOutput values. You can construct a concrete instance of `StageRouteSettingArrayInput` via:

StageRouteSettingArray{ StageRouteSettingArgs{...} }

type StageRouteSettingArrayOutput

type StageRouteSettingArrayOutput struct{ *pulumi.OutputState }

func (StageRouteSettingArrayOutput) ElementType

func (StageRouteSettingArrayOutput) Index

func (StageRouteSettingArrayOutput) ToStageRouteSettingArrayOutput

func (o StageRouteSettingArrayOutput) ToStageRouteSettingArrayOutput() StageRouteSettingArrayOutput

func (StageRouteSettingArrayOutput) ToStageRouteSettingArrayOutputWithContext

func (o StageRouteSettingArrayOutput) ToStageRouteSettingArrayOutputWithContext(ctx context.Context) StageRouteSettingArrayOutput

type StageRouteSettingInput

type StageRouteSettingInput interface {
	pulumi.Input

	ToStageRouteSettingOutput() StageRouteSettingOutput
	ToStageRouteSettingOutputWithContext(context.Context) StageRouteSettingOutput
}

StageRouteSettingInput is an input type that accepts StageRouteSettingArgs and StageRouteSettingOutput values. You can construct a concrete instance of `StageRouteSettingInput` via:

StageRouteSettingArgs{...}

type StageRouteSettingOutput

type StageRouteSettingOutput struct{ *pulumi.OutputState }

func (StageRouteSettingOutput) DataTraceEnabled

func (o StageRouteSettingOutput) DataTraceEnabled() pulumi.BoolPtrOutput

Whether data trace logging is enabled for the route. Affects the log entries pushed to Amazon CloudWatch Logs. Defaults to `false`. Supported only for WebSocket APIs.

func (StageRouteSettingOutput) DetailedMetricsEnabled

func (o StageRouteSettingOutput) DetailedMetricsEnabled() pulumi.BoolPtrOutput

Whether detailed metrics are enabled for the route. Defaults to `false`.

func (StageRouteSettingOutput) ElementType

func (StageRouteSettingOutput) ElementType() reflect.Type

func (StageRouteSettingOutput) LoggingLevel

The logging level for the route. Affects the log entries pushed to Amazon CloudWatch Logs. Valid values: `ERROR`, `INFO`, `OFF`. Defaults to `OFF`. Supported only for WebSocket APIs. This provider will only perform drift detection of its value when present in a configuration.

func (StageRouteSettingOutput) RouteKey

Route key.

func (StageRouteSettingOutput) ThrottlingBurstLimit

func (o StageRouteSettingOutput) ThrottlingBurstLimit() pulumi.IntPtrOutput

The throttling burst limit for the route.

func (StageRouteSettingOutput) ThrottlingRateLimit

func (o StageRouteSettingOutput) ThrottlingRateLimit() pulumi.Float64PtrOutput

The throttling rate limit for the route.

func (StageRouteSettingOutput) ToStageRouteSettingOutput

func (o StageRouteSettingOutput) ToStageRouteSettingOutput() StageRouteSettingOutput

func (StageRouteSettingOutput) ToStageRouteSettingOutputWithContext

func (o StageRouteSettingOutput) ToStageRouteSettingOutputWithContext(ctx context.Context) StageRouteSettingOutput

type StageState

type StageState struct {
	// Settings for logging access in this stage.
	// Use the `apigateway.Account` resource to configure [permissions for CloudWatch Logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html#set-up-access-logging-permissions).
	AccessLogSettings StageAccessLogSettingsPtrInput
	// The API identifier.
	ApiId pulumi.StringPtrInput
	// The ARN of the stage.
	Arn pulumi.StringPtrInput
	// Whether updates to an API automatically trigger a new deployment. Defaults to `false`.
	AutoDeploy pulumi.BoolPtrInput
	// The identifier of a client certificate for the stage. Use the `apigateway.ClientCertificate` resource to configure a client certificate.
	// Supported only for WebSocket APIs.
	ClientCertificateId pulumi.StringPtrInput
	// The default route settings for the stage.
	DefaultRouteSettings StageDefaultRouteSettingsPtrInput
	// The deployment identifier of the stage. Use the [`apigatewayv2.Deployment`](https://www.terraform.io/docs/providers/aws/r/apigatewayv2_deployment.html) resource to configure a deployment.
	DeploymentId pulumi.StringPtrInput
	// The description for the stage.
	Description pulumi.StringPtrInput
	// The ARN prefix to be used in an `lambda.Permission` `sourceArn` attribute.
	// For WebSocket APIs this attribute can additionally be used in an `iam.Policy` 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 URL to invoke the API pointing to the stage,
	// e.g. `wss://z4675bid1j.execute-api.eu-west-2.amazonaws.com/example-stage`, or `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/`
	InvokeUrl pulumi.StringPtrInput
	// The name of the stage.
	Name pulumi.StringPtrInput
	// Route settings for the stage.
	RouteSettings StageRouteSettingArrayInput
	// A map that defines the stage variables for the stage.
	StageVariables pulumi.StringMapInput
	// A map of tags to assign to the stage.
	Tags pulumi.StringMapInput
}

func (StageState) ElementType

func (StageState) ElementType() reflect.Type
type VpcLink struct {
	pulumi.CustomResourceState

	// The VPC Link ARN.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the VPC Link.
	Name pulumi.StringOutput `pulumi:"name"`
	// Security group IDs for the VPC Link.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// Subnet IDs for the VPC Link.
	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
	// A map of tags to assign to the VPC Link.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages an Amazon API Gateway Version 2 VPC Link.

> **Note:** Amazon API Gateway Version 2 VPC Links enable private integrations that connect HTTP APIs to private resources in a VPC. To enable private integration for REST APIs, use the `Amazon API Gateway Version 1 VPC Link` resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.NewVpcLink(ctx, "example", &apigatewayv2.VpcLinkArgs{
			SecurityGroupIds: pulumi.StringArray{
				pulumi.Any(data.Aws_security_group.Example.Id),
			},
			SubnetIds: data.Aws_subnet_ids.Example.Ids,
			Tags: pulumi.StringMap{
				"Usage": pulumi.String("example"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetVpcLink(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VpcLinkState, opts ...pulumi.ResourceOption) (*VpcLink, error)

GetVpcLink gets an existing VpcLink 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 NewVpcLink(ctx *pulumi.Context,
	name string, args *VpcLinkArgs, opts ...pulumi.ResourceOption) (*VpcLink, error)

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

type VpcLinkArgs

type VpcLinkArgs struct {
	// The name of the VPC Link.
	Name pulumi.StringPtrInput
	// Security group IDs for the VPC Link.
	SecurityGroupIds pulumi.StringArrayInput
	// Subnet IDs for the VPC Link.
	SubnetIds pulumi.StringArrayInput
	// A map of tags to assign to the VPC Link.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a VpcLink resource.

func (VpcLinkArgs) ElementType

func (VpcLinkArgs) ElementType() reflect.Type

type VpcLinkState

type VpcLinkState struct {
	// The VPC Link ARN.
	Arn pulumi.StringPtrInput
	// The name of the VPC Link.
	Name pulumi.StringPtrInput
	// Security group IDs for the VPC Link.
	SecurityGroupIds pulumi.StringArrayInput
	// Subnet IDs for the VPC Link.
	SubnetIds pulumi.StringArrayInput
	// A map of tags to assign to the VPC Link.
	Tags pulumi.StringMapInput
}

func (VpcLinkState) ElementType

func (VpcLinkState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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