apigatewayv2

package
v6.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2023 License: Apache-2.0 Imports: 8 Imported by: 1

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

	// URI of the API, of the form `https://{api-id}.execute-api.{region}.amazonaws.com` for HTTP APIs and `wss://{api-id}.execute-api.{region}.amazonaws.com` for WebSocket APIs.
	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"`
	// 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"`
	// 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"`
	// Description of the API. Must be less than or equal to 1024 characters in length.
	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"`
	// 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"`
	// Whether warnings should return an error while API Gateway is creating or updating the resource using an OpenAPI specification. Defaults to `false`. Applicable for HTTP APIs.
	FailOnWarnings pulumi.BoolPtrOutput `pulumi:"failOnWarnings"`
	// Name of the API. Must be less than or equal to 128 characters in length.
	Name pulumi.StringOutput `pulumi:"name"`
	// 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"`
	// Map of tags to assign to the API. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// 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"`
	// Version identifier for the API. Must be between 1 and 64 characters in length.
	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 resources.

## Example Usage ### Basic WebSocket API

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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("$request.body.action"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Basic HTTP API

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_api` using the API identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/api:Api example aabbccddee

```

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.

func (*Api) ElementType

func (*Api) ElementType() reflect.Type

func (*Api) ToApiOutput

func (i *Api) ToApiOutput() ApiOutput

func (*Api) ToApiOutputWithContext

func (i *Api) ToApiOutputWithContext(ctx context.Context) ApiOutput

func (*Api) ToOutput added in v6.1.0

func (i *Api) ToOutput(ctx context.Context) pulumix.Output[*Api]

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
	// 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
	// Description of the API. Must be less than or equal to 1024 characters in length.
	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
	// Whether warnings should return an error while API Gateway is creating or updating the resource using an OpenAPI specification. Defaults to `false`. Applicable for HTTP APIs.
	FailOnWarnings pulumi.BoolPtrInput
	// Name of the API. Must be less than or equal to 128 characters in length.
	Name pulumi.StringPtrInput
	// 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
	// Map of tags to assign to the API. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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
	// Version identifier for the API. Must be between 1 and 64 characters in length.
	Version pulumi.StringPtrInput
}

The set of arguments for constructing a Api resource.

func (ApiArgs) ElementType

func (ApiArgs) ElementType() reflect.Type

type ApiArray

type ApiArray []ApiInput

func (ApiArray) ElementType

func (ApiArray) ElementType() reflect.Type

func (ApiArray) ToApiArrayOutput

func (i ApiArray) ToApiArrayOutput() ApiArrayOutput

func (ApiArray) ToApiArrayOutputWithContext

func (i ApiArray) ToApiArrayOutputWithContext(ctx context.Context) ApiArrayOutput

func (ApiArray) ToOutput added in v6.1.0

func (i ApiArray) ToOutput(ctx context.Context) pulumix.Output[[]*Api]

type ApiArrayInput

type ApiArrayInput interface {
	pulumi.Input

	ToApiArrayOutput() ApiArrayOutput
	ToApiArrayOutputWithContext(context.Context) ApiArrayOutput
}

ApiArrayInput is an input type that accepts ApiArray and ApiArrayOutput values. You can construct a concrete instance of `ApiArrayInput` via:

ApiArray{ ApiArgs{...} }

type ApiArrayOutput

type ApiArrayOutput struct{ *pulumi.OutputState }

func (ApiArrayOutput) ElementType

func (ApiArrayOutput) ElementType() reflect.Type

func (ApiArrayOutput) Index

func (ApiArrayOutput) ToApiArrayOutput

func (o ApiArrayOutput) ToApiArrayOutput() ApiArrayOutput

func (ApiArrayOutput) ToApiArrayOutputWithContext

func (o ApiArrayOutput) ToApiArrayOutputWithContext(ctx context.Context) ApiArrayOutput

func (ApiArrayOutput) ToOutput added in v6.1.0

func (o ApiArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Api]

type ApiCorsConfiguration

type ApiCorsConfiguration struct {
	// Whether credentials are included in the CORS request.
	AllowCredentials *bool `pulumi:"allowCredentials"`
	// Set of allowed HTTP headers.
	AllowHeaders []string `pulumi:"allowHeaders"`
	// Set of allowed HTTP methods.
	AllowMethods []string `pulumi:"allowMethods"`
	// Set of allowed origins.
	AllowOrigins []string `pulumi:"allowOrigins"`
	// Set of exposed HTTP headers.
	ExposeHeaders []string `pulumi:"exposeHeaders"`
	// 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"`
	// Set of allowed HTTP headers.
	AllowHeaders pulumi.StringArrayInput `pulumi:"allowHeaders"`
	// Set of allowed HTTP methods.
	AllowMethods pulumi.StringArrayInput `pulumi:"allowMethods"`
	// Set of allowed origins.
	AllowOrigins pulumi.StringArrayInput `pulumi:"allowOrigins"`
	// Set of exposed HTTP headers.
	ExposeHeaders pulumi.StringArrayInput `pulumi:"exposeHeaders"`
	// 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

func (ApiCorsConfigurationArgs) ToOutput added in v6.1.0

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

Set of allowed HTTP headers.

func (ApiCorsConfigurationOutput) AllowMethods

Set of allowed HTTP methods.

func (ApiCorsConfigurationOutput) AllowOrigins

Set of allowed origins.

func (ApiCorsConfigurationOutput) ElementType

func (ApiCorsConfigurationOutput) ElementType() reflect.Type

func (ApiCorsConfigurationOutput) ExposeHeaders

Set of exposed HTTP headers.

func (ApiCorsConfigurationOutput) MaxAge

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

func (ApiCorsConfigurationOutput) ToOutput added in v6.1.0

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

Set of allowed HTTP headers.

func (ApiCorsConfigurationPtrOutput) AllowMethods

Set of allowed HTTP methods.

func (ApiCorsConfigurationPtrOutput) AllowOrigins

Set of allowed origins.

func (ApiCorsConfigurationPtrOutput) Elem

func (ApiCorsConfigurationPtrOutput) ElementType

func (ApiCorsConfigurationPtrOutput) ExposeHeaders

Set of exposed HTTP headers.

func (ApiCorsConfigurationPtrOutput) MaxAge

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

func (ApiCorsConfigurationPtrOutput) ToOutput added in v6.1.0

type ApiInput

type ApiInput interface {
	pulumi.Input

	ToApiOutput() ApiOutput
	ToApiOutputWithContext(ctx context.Context) ApiOutput
}

type ApiMap

type ApiMap map[string]ApiInput

func (ApiMap) ElementType

func (ApiMap) ElementType() reflect.Type

func (ApiMap) ToApiMapOutput

func (i ApiMap) ToApiMapOutput() ApiMapOutput

func (ApiMap) ToApiMapOutputWithContext

func (i ApiMap) ToApiMapOutputWithContext(ctx context.Context) ApiMapOutput

func (ApiMap) ToOutput added in v6.1.0

func (i ApiMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Api]

type ApiMapInput

type ApiMapInput interface {
	pulumi.Input

	ToApiMapOutput() ApiMapOutput
	ToApiMapOutputWithContext(context.Context) ApiMapOutput
}

ApiMapInput is an input type that accepts ApiMap and ApiMapOutput values. You can construct a concrete instance of `ApiMapInput` via:

ApiMap{ "key": ApiArgs{...} }

type ApiMapOutput

type ApiMapOutput struct{ *pulumi.OutputState }

func (ApiMapOutput) ElementType

func (ApiMapOutput) ElementType() reflect.Type

func (ApiMapOutput) MapIndex

func (o ApiMapOutput) MapIndex(k pulumi.StringInput) ApiOutput

func (ApiMapOutput) ToApiMapOutput

func (o ApiMapOutput) ToApiMapOutput() ApiMapOutput

func (ApiMapOutput) ToApiMapOutputWithContext

func (o ApiMapOutput) ToApiMapOutputWithContext(ctx context.Context) ApiMapOutput

func (ApiMapOutput) ToOutput added in v6.1.0

func (o ApiMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Api]

type ApiMapping

type ApiMapping struct {
	pulumi.CustomResourceState

	// API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// The API mapping key. Refer to [REST API](https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-mappings.html), [HTTP API](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-mappings.html) or [WebSocket API](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-mappings.html).
	ApiMappingKey pulumi.StringPtrOutput `pulumi:"apiMappingKey"`
	// Domain name. Use the `apigatewayv2.DomainName` resource to configure a domain name.
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// 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/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_api_mapping` using the API mapping identifier and domain name. For example:

```sh

$ pulumi import aws:apigatewayv2/apiMapping:ApiMapping example 1122334/ws-api.example.com

```

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.

func (*ApiMapping) ElementType

func (*ApiMapping) ElementType() reflect.Type

func (*ApiMapping) ToApiMappingOutput

func (i *ApiMapping) ToApiMappingOutput() ApiMappingOutput

func (*ApiMapping) ToApiMappingOutputWithContext

func (i *ApiMapping) ToApiMappingOutputWithContext(ctx context.Context) ApiMappingOutput

func (*ApiMapping) ToOutput added in v6.1.0

func (i *ApiMapping) ToOutput(ctx context.Context) pulumix.Output[*ApiMapping]

type ApiMappingArgs

type ApiMappingArgs struct {
	// API identifier.
	ApiId pulumi.StringInput
	// The API mapping key. Refer to [REST API](https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-mappings.html), [HTTP API](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-mappings.html) or [WebSocket API](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-mappings.html).
	ApiMappingKey pulumi.StringPtrInput
	// Domain name. Use the `apigatewayv2.DomainName` resource to configure a domain name.
	DomainName pulumi.StringInput
	// 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 ApiMappingArray

type ApiMappingArray []ApiMappingInput

func (ApiMappingArray) ElementType

func (ApiMappingArray) ElementType() reflect.Type

func (ApiMappingArray) ToApiMappingArrayOutput

func (i ApiMappingArray) ToApiMappingArrayOutput() ApiMappingArrayOutput

func (ApiMappingArray) ToApiMappingArrayOutputWithContext

func (i ApiMappingArray) ToApiMappingArrayOutputWithContext(ctx context.Context) ApiMappingArrayOutput

func (ApiMappingArray) ToOutput added in v6.1.0

type ApiMappingArrayInput

type ApiMappingArrayInput interface {
	pulumi.Input

	ToApiMappingArrayOutput() ApiMappingArrayOutput
	ToApiMappingArrayOutputWithContext(context.Context) ApiMappingArrayOutput
}

ApiMappingArrayInput is an input type that accepts ApiMappingArray and ApiMappingArrayOutput values. You can construct a concrete instance of `ApiMappingArrayInput` via:

ApiMappingArray{ ApiMappingArgs{...} }

type ApiMappingArrayOutput

type ApiMappingArrayOutput struct{ *pulumi.OutputState }

func (ApiMappingArrayOutput) ElementType

func (ApiMappingArrayOutput) ElementType() reflect.Type

func (ApiMappingArrayOutput) Index

func (ApiMappingArrayOutput) ToApiMappingArrayOutput

func (o ApiMappingArrayOutput) ToApiMappingArrayOutput() ApiMappingArrayOutput

func (ApiMappingArrayOutput) ToApiMappingArrayOutputWithContext

func (o ApiMappingArrayOutput) ToApiMappingArrayOutputWithContext(ctx context.Context) ApiMappingArrayOutput

func (ApiMappingArrayOutput) ToOutput added in v6.1.0

type ApiMappingInput

type ApiMappingInput interface {
	pulumi.Input

	ToApiMappingOutput() ApiMappingOutput
	ToApiMappingOutputWithContext(ctx context.Context) ApiMappingOutput
}

type ApiMappingMap

type ApiMappingMap map[string]ApiMappingInput

func (ApiMappingMap) ElementType

func (ApiMappingMap) ElementType() reflect.Type

func (ApiMappingMap) ToApiMappingMapOutput

func (i ApiMappingMap) ToApiMappingMapOutput() ApiMappingMapOutput

func (ApiMappingMap) ToApiMappingMapOutputWithContext

func (i ApiMappingMap) ToApiMappingMapOutputWithContext(ctx context.Context) ApiMappingMapOutput

func (ApiMappingMap) ToOutput added in v6.1.0

type ApiMappingMapInput

type ApiMappingMapInput interface {
	pulumi.Input

	ToApiMappingMapOutput() ApiMappingMapOutput
	ToApiMappingMapOutputWithContext(context.Context) ApiMappingMapOutput
}

ApiMappingMapInput is an input type that accepts ApiMappingMap and ApiMappingMapOutput values. You can construct a concrete instance of `ApiMappingMapInput` via:

ApiMappingMap{ "key": ApiMappingArgs{...} }

type ApiMappingMapOutput

type ApiMappingMapOutput struct{ *pulumi.OutputState }

func (ApiMappingMapOutput) ElementType

func (ApiMappingMapOutput) ElementType() reflect.Type

func (ApiMappingMapOutput) MapIndex

func (ApiMappingMapOutput) ToApiMappingMapOutput

func (o ApiMappingMapOutput) ToApiMappingMapOutput() ApiMappingMapOutput

func (ApiMappingMapOutput) ToApiMappingMapOutputWithContext

func (o ApiMappingMapOutput) ToApiMappingMapOutputWithContext(ctx context.Context) ApiMappingMapOutput

func (ApiMappingMapOutput) ToOutput added in v6.1.0

type ApiMappingOutput

type ApiMappingOutput struct{ *pulumi.OutputState }

func (ApiMappingOutput) ApiId

API identifier.

func (ApiMappingOutput) DomainName

func (o ApiMappingOutput) DomainName() pulumi.StringOutput

Domain name. Use the `apigatewayv2.DomainName` resource to configure a domain name.

func (ApiMappingOutput) ElementType

func (ApiMappingOutput) ElementType() reflect.Type

func (ApiMappingOutput) Stage

API stage. Use the `apigatewayv2.Stage` resource to configure an API stage.

func (ApiMappingOutput) ToApiMappingOutput

func (o ApiMappingOutput) ToApiMappingOutput() ApiMappingOutput

func (ApiMappingOutput) ToApiMappingOutputWithContext

func (o ApiMappingOutput) ToApiMappingOutputWithContext(ctx context.Context) ApiMappingOutput

func (ApiMappingOutput) ToOutput added in v6.1.0

type ApiMappingState

type ApiMappingState struct {
	// API identifier.
	ApiId pulumi.StringPtrInput
	// The API mapping key. Refer to [REST API](https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-mappings.html), [HTTP API](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-mappings.html) or [WebSocket API](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-mappings.html).
	ApiMappingKey pulumi.StringPtrInput
	// Domain name. Use the `apigatewayv2.DomainName` resource to configure a domain name.
	DomainName pulumi.StringPtrInput
	// API stage. Use the `apigatewayv2.Stage` resource to configure an API stage.
	Stage pulumi.StringPtrInput
}

func (ApiMappingState) ElementType

func (ApiMappingState) ElementType() reflect.Type

type ApiOutput

type ApiOutput struct{ *pulumi.OutputState }

func (ApiOutput) ApiEndpoint

func (o ApiOutput) ApiEndpoint() pulumi.StringOutput

URI of the API, of the form `https://{api-id}.execute-api.{region}.amazonaws.com` for HTTP APIs and `wss://{api-id}.execute-api.{region}.amazonaws.com` for WebSocket APIs.

func (ApiOutput) ApiKeySelectionExpression

func (o ApiOutput) ApiKeySelectionExpression() pulumi.StringPtrOutput

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.

func (ApiOutput) Arn

func (o ApiOutput) Arn() pulumi.StringOutput

ARN of the API.

func (ApiOutput) Body

func (o ApiOutput) Body() pulumi.StringPtrOutput

An OpenAPI specification that defines the set of routes and integrations to create as part of the HTTP APIs. Supported only for HTTP APIs.

func (ApiOutput) CorsConfiguration

func (o ApiOutput) CorsConfiguration() ApiCorsConfigurationPtrOutput

Cross-origin resource sharing (CORS) [configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html). Applicable for HTTP APIs.

func (ApiOutput) CredentialsArn

func (o ApiOutput) CredentialsArn() pulumi.StringPtrOutput

Part of _quick create_. Specifies any credentials required for the integration. Applicable for HTTP APIs.

func (ApiOutput) Description

func (o ApiOutput) Description() pulumi.StringPtrOutput

Description of the API. Must be less than or equal to 1024 characters in length.

func (ApiOutput) DisableExecuteApiEndpoint

func (o ApiOutput) DisableExecuteApiEndpoint() pulumi.BoolPtrOutput

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.

func (ApiOutput) ElementType

func (ApiOutput) ElementType() reflect.Type

func (ApiOutput) ExecutionArn

func (o ApiOutput) ExecutionArn() pulumi.StringOutput

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.

func (ApiOutput) FailOnWarnings

func (o ApiOutput) FailOnWarnings() pulumi.BoolPtrOutput

Whether warnings should return an error while API Gateway is creating or updating the resource using an OpenAPI specification. Defaults to `false`. Applicable for HTTP APIs.

func (ApiOutput) Name

func (o ApiOutput) Name() pulumi.StringOutput

Name of the API. Must be less than or equal to 128 characters in length.

func (ApiOutput) ProtocolType

func (o ApiOutput) ProtocolType() pulumi.StringOutput

API protocol. Valid values: `HTTP`, `WEBSOCKET`.

func (ApiOutput) RouteKey

func (o ApiOutput) RouteKey() pulumi.StringPtrOutput

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.

func (ApiOutput) RouteSelectionExpression

func (o ApiOutput) RouteSelectionExpression() pulumi.StringPtrOutput

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

func (ApiOutput) Tags

func (o ApiOutput) Tags() pulumi.StringMapOutput

Map of tags to assign to the API. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ApiOutput) TagsAll

func (o ApiOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ApiOutput) Target

func (o ApiOutput) Target() pulumi.StringPtrOutput

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.

func (ApiOutput) ToApiOutput

func (o ApiOutput) ToApiOutput() ApiOutput

func (ApiOutput) ToApiOutputWithContext

func (o ApiOutput) ToApiOutputWithContext(ctx context.Context) ApiOutput

func (ApiOutput) ToOutput added in v6.1.0

func (o ApiOutput) ToOutput(ctx context.Context) pulumix.Output[*Api]

func (ApiOutput) Version

func (o ApiOutput) Version() pulumi.StringPtrOutput

Version identifier for the API. Must be between 1 and 64 characters in length.

type ApiState

type ApiState struct {
	// URI of the API, of the form `https://{api-id}.execute-api.{region}.amazonaws.com` for HTTP APIs and `wss://{api-id}.execute-api.{region}.amazonaws.com` for WebSocket APIs.
	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
	// 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
	// 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
	// Description of the API. Must be less than or equal to 1024 characters in length.
	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
	// 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
	// Whether warnings should return an error while API Gateway is creating or updating the resource using an OpenAPI specification. Defaults to `false`. Applicable for HTTP APIs.
	FailOnWarnings pulumi.BoolPtrInput
	// Name of the API. Must be less than or equal to 128 characters in length.
	Name pulumi.StringPtrInput
	// 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
	// Map of tags to assign to the API. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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
	// Version identifier for the API. Must be between 1 and 64 characters in length.
	Version pulumi.StringPtrInput
}

func (ApiState) ElementType

func (ApiState) ElementType() reflect.Type

type Authorizer

type Authorizer struct {
	pulumi.CustomResourceState

	// API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// Required credentials as an IAM role for API Gateway to invoke the authorizer.
	// Supported only for `REQUEST` authorizers.
	AuthorizerCredentialsArn pulumi.StringPtrOutput `pulumi:"authorizerCredentialsArn"`
	// 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"`
	// 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"`
	// 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"`
	// 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. Must be between 1 and 2048 characters in length.
	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"`
	// 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"`
	// Configuration of a JWT authorizer. Required for the `JWT` authorizer type.
	// Supported only for HTTP APIs.
	JwtConfiguration AuthorizerJwtConfigurationPtrOutput `pulumi:"jwtConfiguration"`
	// Name of the authorizer. Must be between 1 and 128 characters in length.
	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/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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 (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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("$request.header.Authorization"),
			},
			AuthorizerPayloadFormatVersion: pulumi.String("2.0"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_authorizer` using the API identifier and authorizer identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/authorizer:Authorizer example aabbccddee/1122334

```

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.

func (*Authorizer) ElementType

func (*Authorizer) ElementType() reflect.Type

func (*Authorizer) ToAuthorizerOutput

func (i *Authorizer) ToAuthorizerOutput() AuthorizerOutput

func (*Authorizer) ToAuthorizerOutputWithContext

func (i *Authorizer) ToAuthorizerOutputWithContext(ctx context.Context) AuthorizerOutput

func (*Authorizer) ToOutput added in v6.1.0

func (i *Authorizer) ToOutput(ctx context.Context) pulumix.Output[*Authorizer]

type AuthorizerArgs

type AuthorizerArgs struct {
	// API identifier.
	ApiId pulumi.StringInput
	// Required credentials as an IAM role for API Gateway to invoke the authorizer.
	// Supported only for `REQUEST` authorizers.
	AuthorizerCredentialsArn pulumi.StringPtrInput
	// 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
	// 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
	// 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
	// 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. Must be between 1 and 2048 characters in length.
	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
	// 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
	// Configuration of a JWT authorizer. Required for the `JWT` authorizer type.
	// Supported only for HTTP APIs.
	JwtConfiguration AuthorizerJwtConfigurationPtrInput
	// Name of the authorizer. Must be between 1 and 128 characters in length.
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a Authorizer resource.

func (AuthorizerArgs) ElementType

func (AuthorizerArgs) ElementType() reflect.Type

type AuthorizerArray

type AuthorizerArray []AuthorizerInput

func (AuthorizerArray) ElementType

func (AuthorizerArray) ElementType() reflect.Type

func (AuthorizerArray) ToAuthorizerArrayOutput

func (i AuthorizerArray) ToAuthorizerArrayOutput() AuthorizerArrayOutput

func (AuthorizerArray) ToAuthorizerArrayOutputWithContext

func (i AuthorizerArray) ToAuthorizerArrayOutputWithContext(ctx context.Context) AuthorizerArrayOutput

func (AuthorizerArray) ToOutput added in v6.1.0

type AuthorizerArrayInput

type AuthorizerArrayInput interface {
	pulumi.Input

	ToAuthorizerArrayOutput() AuthorizerArrayOutput
	ToAuthorizerArrayOutputWithContext(context.Context) AuthorizerArrayOutput
}

AuthorizerArrayInput is an input type that accepts AuthorizerArray and AuthorizerArrayOutput values. You can construct a concrete instance of `AuthorizerArrayInput` via:

AuthorizerArray{ AuthorizerArgs{...} }

type AuthorizerArrayOutput

type AuthorizerArrayOutput struct{ *pulumi.OutputState }

func (AuthorizerArrayOutput) ElementType

func (AuthorizerArrayOutput) ElementType() reflect.Type

func (AuthorizerArrayOutput) Index

func (AuthorizerArrayOutput) ToAuthorizerArrayOutput

func (o AuthorizerArrayOutput) ToAuthorizerArrayOutput() AuthorizerArrayOutput

func (AuthorizerArrayOutput) ToAuthorizerArrayOutputWithContext

func (o AuthorizerArrayOutput) ToAuthorizerArrayOutputWithContext(ctx context.Context) AuthorizerArrayOutput

func (AuthorizerArrayOutput) ToOutput added in v6.1.0

type AuthorizerInput

type AuthorizerInput interface {
	pulumi.Input

	ToAuthorizerOutput() AuthorizerOutput
	ToAuthorizerOutputWithContext(ctx context.Context) AuthorizerOutput
}

type AuthorizerJwtConfiguration

type AuthorizerJwtConfiguration struct {
	// 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"`
	// 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 {
	// 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"`
	// 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

func (AuthorizerJwtConfigurationArgs) ToOutput added in v6.1.0

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

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

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

func (AuthorizerJwtConfigurationOutput) ToOutput added in v6.1.0

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

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

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

func (AuthorizerJwtConfigurationPtrOutput) ToOutput added in v6.1.0

type AuthorizerMap

type AuthorizerMap map[string]AuthorizerInput

func (AuthorizerMap) ElementType

func (AuthorizerMap) ElementType() reflect.Type

func (AuthorizerMap) ToAuthorizerMapOutput

func (i AuthorizerMap) ToAuthorizerMapOutput() AuthorizerMapOutput

func (AuthorizerMap) ToAuthorizerMapOutputWithContext

func (i AuthorizerMap) ToAuthorizerMapOutputWithContext(ctx context.Context) AuthorizerMapOutput

func (AuthorizerMap) ToOutput added in v6.1.0

type AuthorizerMapInput

type AuthorizerMapInput interface {
	pulumi.Input

	ToAuthorizerMapOutput() AuthorizerMapOutput
	ToAuthorizerMapOutputWithContext(context.Context) AuthorizerMapOutput
}

AuthorizerMapInput is an input type that accepts AuthorizerMap and AuthorizerMapOutput values. You can construct a concrete instance of `AuthorizerMapInput` via:

AuthorizerMap{ "key": AuthorizerArgs{...} }

type AuthorizerMapOutput

type AuthorizerMapOutput struct{ *pulumi.OutputState }

func (AuthorizerMapOutput) ElementType

func (AuthorizerMapOutput) ElementType() reflect.Type

func (AuthorizerMapOutput) MapIndex

func (AuthorizerMapOutput) ToAuthorizerMapOutput

func (o AuthorizerMapOutput) ToAuthorizerMapOutput() AuthorizerMapOutput

func (AuthorizerMapOutput) ToAuthorizerMapOutputWithContext

func (o AuthorizerMapOutput) ToAuthorizerMapOutputWithContext(ctx context.Context) AuthorizerMapOutput

func (AuthorizerMapOutput) ToOutput added in v6.1.0

type AuthorizerOutput

type AuthorizerOutput struct{ *pulumi.OutputState }

func (AuthorizerOutput) ApiId

API identifier.

func (AuthorizerOutput) AuthorizerCredentialsArn

func (o AuthorizerOutput) AuthorizerCredentialsArn() pulumi.StringPtrOutput

Required credentials as an IAM role for API Gateway to invoke the authorizer. Supported only for `REQUEST` authorizers.

func (AuthorizerOutput) AuthorizerPayloadFormatVersion

func (o AuthorizerOutput) AuthorizerPayloadFormatVersion() pulumi.StringPtrOutput

Format of the payload sent to an HTTP API Lambda authorizer. Required for HTTP API Lambda authorizers. Valid values: `1.0`, `2.0`.

func (AuthorizerOutput) AuthorizerResultTtlInSeconds

func (o AuthorizerOutput) AuthorizerResultTtlInSeconds() pulumi.IntOutput

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.

func (AuthorizerOutput) AuthorizerType

func (o AuthorizerOutput) AuthorizerType() pulumi.StringOutput

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.

func (AuthorizerOutput) AuthorizerUri

func (o AuthorizerOutput) AuthorizerUri() pulumi.StringPtrOutput

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. Must be between 1 and 2048 characters in length.

func (AuthorizerOutput) ElementType

func (AuthorizerOutput) ElementType() reflect.Type

func (AuthorizerOutput) EnableSimpleResponses

func (o AuthorizerOutput) EnableSimpleResponses() pulumi.BoolPtrOutput

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.

func (AuthorizerOutput) IdentitySources

func (o AuthorizerOutput) IdentitySources() pulumi.StringArrayOutput

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.

func (AuthorizerOutput) JwtConfiguration

Configuration of a JWT authorizer. Required for the `JWT` authorizer type. Supported only for HTTP APIs.

func (AuthorizerOutput) Name

Name of the authorizer. Must be between 1 and 128 characters in length.

func (AuthorizerOutput) ToAuthorizerOutput

func (o AuthorizerOutput) ToAuthorizerOutput() AuthorizerOutput

func (AuthorizerOutput) ToAuthorizerOutputWithContext

func (o AuthorizerOutput) ToAuthorizerOutputWithContext(ctx context.Context) AuthorizerOutput

func (AuthorizerOutput) ToOutput added in v6.1.0

type AuthorizerState

type AuthorizerState struct {
	// API identifier.
	ApiId pulumi.StringPtrInput
	// Required credentials as an IAM role for API Gateway to invoke the authorizer.
	// Supported only for `REQUEST` authorizers.
	AuthorizerCredentialsArn pulumi.StringPtrInput
	// 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
	// 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
	// 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
	// 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. Must be between 1 and 2048 characters in length.
	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
	// 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
	// Configuration of a JWT authorizer. Required for the `JWT` authorizer type.
	// Supported only for HTTP APIs.
	JwtConfiguration AuthorizerJwtConfigurationPtrInput
	// Name of the authorizer. Must be between 1 and 128 characters in length.
	Name pulumi.StringPtrInput
}

func (AuthorizerState) ElementType

func (AuthorizerState) ElementType() reflect.Type

type Deployment

type Deployment struct {
	pulumi.CustomResourceState

	// API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// Whether the deployment was automatically released.
	AutoDeployed pulumi.BoolOutput `pulumi:"autoDeployed"`
	// Description for the deployment resource. Must be less than or equal to 1024 characters in length.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// 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/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_deployment` using the API identifier and deployment identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/deployment:Deployment example aabbccddee/1122334

```

The `triggers` argument cannot be imported.

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.

func (*Deployment) ElementType

func (*Deployment) ElementType() reflect.Type

func (*Deployment) ToDeploymentOutput

func (i *Deployment) ToDeploymentOutput() DeploymentOutput

func (*Deployment) ToDeploymentOutputWithContext

func (i *Deployment) ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput

func (*Deployment) ToOutput added in v6.1.0

func (i *Deployment) ToOutput(ctx context.Context) pulumix.Output[*Deployment]

type DeploymentArgs

type DeploymentArgs struct {
	// API identifier.
	ApiId pulumi.StringInput
	// Description for the deployment resource. Must be less than or equal to 1024 characters in length.
	Description pulumi.StringPtrInput
	// 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 DeploymentArray

type DeploymentArray []DeploymentInput

func (DeploymentArray) ElementType

func (DeploymentArray) ElementType() reflect.Type

func (DeploymentArray) ToDeploymentArrayOutput

func (i DeploymentArray) ToDeploymentArrayOutput() DeploymentArrayOutput

func (DeploymentArray) ToDeploymentArrayOutputWithContext

func (i DeploymentArray) ToDeploymentArrayOutputWithContext(ctx context.Context) DeploymentArrayOutput

func (DeploymentArray) ToOutput added in v6.1.0

type DeploymentArrayInput

type DeploymentArrayInput interface {
	pulumi.Input

	ToDeploymentArrayOutput() DeploymentArrayOutput
	ToDeploymentArrayOutputWithContext(context.Context) DeploymentArrayOutput
}

DeploymentArrayInput is an input type that accepts DeploymentArray and DeploymentArrayOutput values. You can construct a concrete instance of `DeploymentArrayInput` via:

DeploymentArray{ DeploymentArgs{...} }

type DeploymentArrayOutput

type DeploymentArrayOutput struct{ *pulumi.OutputState }

func (DeploymentArrayOutput) ElementType

func (DeploymentArrayOutput) ElementType() reflect.Type

func (DeploymentArrayOutput) Index

func (DeploymentArrayOutput) ToDeploymentArrayOutput

func (o DeploymentArrayOutput) ToDeploymentArrayOutput() DeploymentArrayOutput

func (DeploymentArrayOutput) ToDeploymentArrayOutputWithContext

func (o DeploymentArrayOutput) ToDeploymentArrayOutputWithContext(ctx context.Context) DeploymentArrayOutput

func (DeploymentArrayOutput) ToOutput added in v6.1.0

type DeploymentInput

type DeploymentInput interface {
	pulumi.Input

	ToDeploymentOutput() DeploymentOutput
	ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput
}

type DeploymentMap

type DeploymentMap map[string]DeploymentInput

func (DeploymentMap) ElementType

func (DeploymentMap) ElementType() reflect.Type

func (DeploymentMap) ToDeploymentMapOutput

func (i DeploymentMap) ToDeploymentMapOutput() DeploymentMapOutput

func (DeploymentMap) ToDeploymentMapOutputWithContext

func (i DeploymentMap) ToDeploymentMapOutputWithContext(ctx context.Context) DeploymentMapOutput

func (DeploymentMap) ToOutput added in v6.1.0

type DeploymentMapInput

type DeploymentMapInput interface {
	pulumi.Input

	ToDeploymentMapOutput() DeploymentMapOutput
	ToDeploymentMapOutputWithContext(context.Context) DeploymentMapOutput
}

DeploymentMapInput is an input type that accepts DeploymentMap and DeploymentMapOutput values. You can construct a concrete instance of `DeploymentMapInput` via:

DeploymentMap{ "key": DeploymentArgs{...} }

type DeploymentMapOutput

type DeploymentMapOutput struct{ *pulumi.OutputState }

func (DeploymentMapOutput) ElementType

func (DeploymentMapOutput) ElementType() reflect.Type

func (DeploymentMapOutput) MapIndex

func (DeploymentMapOutput) ToDeploymentMapOutput

func (o DeploymentMapOutput) ToDeploymentMapOutput() DeploymentMapOutput

func (DeploymentMapOutput) ToDeploymentMapOutputWithContext

func (o DeploymentMapOutput) ToDeploymentMapOutputWithContext(ctx context.Context) DeploymentMapOutput

func (DeploymentMapOutput) ToOutput added in v6.1.0

type DeploymentOutput

type DeploymentOutput struct{ *pulumi.OutputState }

func (DeploymentOutput) ApiId

API identifier.

func (DeploymentOutput) AutoDeployed

func (o DeploymentOutput) AutoDeployed() pulumi.BoolOutput

Whether the deployment was automatically released.

func (DeploymentOutput) Description

func (o DeploymentOutput) Description() pulumi.StringPtrOutput

Description for the deployment resource. Must be less than or equal to 1024 characters in length.

func (DeploymentOutput) ElementType

func (DeploymentOutput) ElementType() reflect.Type

func (DeploymentOutput) ToDeploymentOutput

func (o DeploymentOutput) ToDeploymentOutput() DeploymentOutput

func (DeploymentOutput) ToDeploymentOutputWithContext

func (o DeploymentOutput) ToDeploymentOutputWithContext(ctx context.Context) DeploymentOutput

func (DeploymentOutput) ToOutput added in v6.1.0

func (DeploymentOutput) Triggers

Map of arbitrary keys and values that, when changed, will trigger a redeployment.

type DeploymentState

type DeploymentState struct {
	// API identifier.
	ApiId pulumi.StringPtrInput
	// Whether the deployment was automatically released.
	AutoDeployed pulumi.BoolPtrInput
	// Description for the deployment resource. Must be less than or equal to 1024 characters in length.
	Description pulumi.StringPtrInput
	// 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

	// [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"`
	// ARN of the domain name.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Domain name. Must be between 1 and 512 characters in length.
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// Domain name configuration. See below.
	DomainNameConfiguration DomainNameDomainNameConfigurationOutput `pulumi:"domainNameConfiguration"`
	// Mutual TLS authentication configuration for the domain name.
	MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrOutput `pulumi:"mutualTlsAuthentication"`
	// Map of tags to assign to the domain name. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

``` ### Associated Route 53 Resource Record

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleDomainName, err := apigatewayv2.NewDomainName(ctx, "exampleDomainName", &apigatewayv2.DomainNameArgs{
			DomainName: pulumi.String("http-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
		}
		_, err = route53.NewRecord(ctx, "exampleRecord", &route53.RecordArgs{
			Name:   exampleDomainName.DomainName,
			Type:   pulumi.String("A"),
			ZoneId: pulumi.Any(aws_route53_zone.Example.Zone_id),
			Aliases: route53.RecordAliasArray{
				&route53.RecordAliasArgs{
					Name: exampleDomainName.DomainNameConfiguration.ApplyT(func(domainNameConfiguration apigatewayv2.DomainNameDomainNameConfiguration) (*string, error) {
						return &domainNameConfiguration.TargetDomainName, nil
					}).(pulumi.StringPtrOutput),
					ZoneId: exampleDomainName.DomainNameConfiguration.ApplyT(func(domainNameConfiguration apigatewayv2.DomainNameDomainNameConfiguration) (*string, error) {
						return &domainNameConfiguration.HostedZoneId, nil
					}).(pulumi.StringPtrOutput),
					EvaluateTargetHealth: pulumi.Bool(false),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_domain_name` using the domain name. For example:

```sh

$ pulumi import aws:apigatewayv2/domainName:DomainName example ws-api.example.com

```

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.

func (*DomainName) ElementType

func (*DomainName) ElementType() reflect.Type

func (*DomainName) ToDomainNameOutput

func (i *DomainName) ToDomainNameOutput() DomainNameOutput

func (*DomainName) ToDomainNameOutputWithContext

func (i *DomainName) ToDomainNameOutputWithContext(ctx context.Context) DomainNameOutput

func (*DomainName) ToOutput added in v6.1.0

func (i *DomainName) ToOutput(ctx context.Context) pulumix.Output[*DomainName]

type DomainNameArgs

type DomainNameArgs struct {
	// Domain name. Must be between 1 and 512 characters in length.
	DomainName pulumi.StringInput
	// Domain name configuration. See below.
	DomainNameConfiguration DomainNameDomainNameConfigurationInput
	// Mutual TLS authentication configuration for the domain name.
	MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrInput
	// Map of tags to assign to the domain name. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a DomainName resource.

func (DomainNameArgs) ElementType

func (DomainNameArgs) ElementType() reflect.Type

type DomainNameArray

type DomainNameArray []DomainNameInput

func (DomainNameArray) ElementType

func (DomainNameArray) ElementType() reflect.Type

func (DomainNameArray) ToDomainNameArrayOutput

func (i DomainNameArray) ToDomainNameArrayOutput() DomainNameArrayOutput

func (DomainNameArray) ToDomainNameArrayOutputWithContext

func (i DomainNameArray) ToDomainNameArrayOutputWithContext(ctx context.Context) DomainNameArrayOutput

func (DomainNameArray) ToOutput added in v6.1.0

type DomainNameArrayInput

type DomainNameArrayInput interface {
	pulumi.Input

	ToDomainNameArrayOutput() DomainNameArrayOutput
	ToDomainNameArrayOutputWithContext(context.Context) DomainNameArrayOutput
}

DomainNameArrayInput is an input type that accepts DomainNameArray and DomainNameArrayOutput values. You can construct a concrete instance of `DomainNameArrayInput` via:

DomainNameArray{ DomainNameArgs{...} }

type DomainNameArrayOutput

type DomainNameArrayOutput struct{ *pulumi.OutputState }

func (DomainNameArrayOutput) ElementType

func (DomainNameArrayOutput) ElementType() reflect.Type

func (DomainNameArrayOutput) Index

func (DomainNameArrayOutput) ToDomainNameArrayOutput

func (o DomainNameArrayOutput) ToDomainNameArrayOutput() DomainNameArrayOutput

func (DomainNameArrayOutput) ToDomainNameArrayOutputWithContext

func (o DomainNameArrayOutput) ToDomainNameArrayOutputWithContext(ctx context.Context) DomainNameArrayOutput

func (DomainNameArrayOutput) ToOutput added in v6.1.0

type DomainNameDomainNameConfiguration

type DomainNameDomainNameConfiguration struct {
	// 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"`
	// Endpoint type. Valid values: `REGIONAL`.
	EndpointType string `pulumi:"endpointType"`
	// Amazon Route 53 Hosted Zone ID of the endpoint.
	HostedZoneId *string `pulumi:"hostedZoneId"`
	// ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.)
	OwnershipVerificationCertificateArn *string `pulumi:"ownershipVerificationCertificateArn"`
	// 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"`
	// Target domain name.
	TargetDomainName *string `pulumi:"targetDomainName"`
}

type DomainNameDomainNameConfigurationArgs

type DomainNameDomainNameConfigurationArgs struct {
	// 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"`
	// Endpoint type. Valid values: `REGIONAL`.
	EndpointType pulumi.StringInput `pulumi:"endpointType"`
	// Amazon Route 53 Hosted Zone ID of the endpoint.
	HostedZoneId pulumi.StringPtrInput `pulumi:"hostedZoneId"`
	// ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.)
	OwnershipVerificationCertificateArn pulumi.StringPtrInput `pulumi:"ownershipVerificationCertificateArn"`
	// 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"`
	// 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

func (DomainNameDomainNameConfigurationArgs) ToOutput added in v6.1.0

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

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

Endpoint type. Valid values: `REGIONAL`.

func (DomainNameDomainNameConfigurationOutput) HostedZoneId

Amazon Route 53 Hosted Zone ID of the endpoint.

func (DomainNameDomainNameConfigurationOutput) OwnershipVerificationCertificateArn

func (o DomainNameDomainNameConfigurationOutput) OwnershipVerificationCertificateArn() pulumi.StringPtrOutput

ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.)

func (DomainNameDomainNameConfigurationOutput) SecurityPolicy

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

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

func (DomainNameDomainNameConfigurationOutput) ToOutput added in v6.1.0

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

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

Endpoint type. Valid values: `REGIONAL`.

func (DomainNameDomainNameConfigurationPtrOutput) HostedZoneId

Amazon Route 53 Hosted Zone ID of the endpoint.

func (DomainNameDomainNameConfigurationPtrOutput) OwnershipVerificationCertificateArn

func (o DomainNameDomainNameConfigurationPtrOutput) OwnershipVerificationCertificateArn() pulumi.StringPtrOutput

ARN of the AWS-issued certificate used to validate custom domain ownership (when `certificateArn` is issued via an ACM Private CA or `mutualTlsAuthentication` is configured with an ACM-imported certificate.)

func (DomainNameDomainNameConfigurationPtrOutput) SecurityPolicy

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

Target domain name.

func (DomainNameDomainNameConfigurationPtrOutput) ToDomainNameDomainNameConfigurationPtrOutput

func (o DomainNameDomainNameConfigurationPtrOutput) ToDomainNameDomainNameConfigurationPtrOutput() DomainNameDomainNameConfigurationPtrOutput

func (DomainNameDomainNameConfigurationPtrOutput) ToDomainNameDomainNameConfigurationPtrOutputWithContext

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

func (DomainNameDomainNameConfigurationPtrOutput) ToOutput added in v6.1.0

type DomainNameInput

type DomainNameInput interface {
	pulumi.Input

	ToDomainNameOutput() DomainNameOutput
	ToDomainNameOutputWithContext(ctx context.Context) DomainNameOutput
}

type DomainNameMap

type DomainNameMap map[string]DomainNameInput

func (DomainNameMap) ElementType

func (DomainNameMap) ElementType() reflect.Type

func (DomainNameMap) ToDomainNameMapOutput

func (i DomainNameMap) ToDomainNameMapOutput() DomainNameMapOutput

func (DomainNameMap) ToDomainNameMapOutputWithContext

func (i DomainNameMap) ToDomainNameMapOutputWithContext(ctx context.Context) DomainNameMapOutput

func (DomainNameMap) ToOutput added in v6.1.0

type DomainNameMapInput

type DomainNameMapInput interface {
	pulumi.Input

	ToDomainNameMapOutput() DomainNameMapOutput
	ToDomainNameMapOutputWithContext(context.Context) DomainNameMapOutput
}

DomainNameMapInput is an input type that accepts DomainNameMap and DomainNameMapOutput values. You can construct a concrete instance of `DomainNameMapInput` via:

DomainNameMap{ "key": DomainNameArgs{...} }

type DomainNameMapOutput

type DomainNameMapOutput struct{ *pulumi.OutputState }

func (DomainNameMapOutput) ElementType

func (DomainNameMapOutput) ElementType() reflect.Type

func (DomainNameMapOutput) MapIndex

func (DomainNameMapOutput) ToDomainNameMapOutput

func (o DomainNameMapOutput) ToDomainNameMapOutput() DomainNameMapOutput

func (DomainNameMapOutput) ToDomainNameMapOutputWithContext

func (o DomainNameMapOutput) ToDomainNameMapOutputWithContext(ctx context.Context) DomainNameMapOutput

func (DomainNameMapOutput) ToOutput added in v6.1.0

type DomainNameMutualTlsAuthentication

type DomainNameMutualTlsAuthentication struct {
	// Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3://bucket-name/key-name`. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.
	TruststoreUri string `pulumi:"truststoreUri"`
	// Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.
	TruststoreVersion *string `pulumi:"truststoreVersion"`
}

type DomainNameMutualTlsAuthenticationArgs

type DomainNameMutualTlsAuthenticationArgs struct {
	// Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3://bucket-name/key-name`. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.
	TruststoreUri pulumi.StringInput `pulumi:"truststoreUri"`
	// Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.
	TruststoreVersion pulumi.StringPtrInput `pulumi:"truststoreVersion"`
}

func (DomainNameMutualTlsAuthenticationArgs) ElementType

func (DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationOutput

func (i DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationOutput() DomainNameMutualTlsAuthenticationOutput

func (DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationOutputWithContext

func (i DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationOutputWithContext(ctx context.Context) DomainNameMutualTlsAuthenticationOutput

func (DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationPtrOutput

func (i DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationPtrOutput() DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext

func (i DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext(ctx context.Context) DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationArgs) ToOutput added in v6.1.0

type DomainNameMutualTlsAuthenticationInput

type DomainNameMutualTlsAuthenticationInput interface {
	pulumi.Input

	ToDomainNameMutualTlsAuthenticationOutput() DomainNameMutualTlsAuthenticationOutput
	ToDomainNameMutualTlsAuthenticationOutputWithContext(context.Context) DomainNameMutualTlsAuthenticationOutput
}

DomainNameMutualTlsAuthenticationInput is an input type that accepts DomainNameMutualTlsAuthenticationArgs and DomainNameMutualTlsAuthenticationOutput values. You can construct a concrete instance of `DomainNameMutualTlsAuthenticationInput` via:

DomainNameMutualTlsAuthenticationArgs{...}

type DomainNameMutualTlsAuthenticationOutput

type DomainNameMutualTlsAuthenticationOutput struct{ *pulumi.OutputState }

func (DomainNameMutualTlsAuthenticationOutput) ElementType

func (DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationOutput

func (o DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationOutput() DomainNameMutualTlsAuthenticationOutput

func (DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationOutputWithContext

func (o DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationOutputWithContext(ctx context.Context) DomainNameMutualTlsAuthenticationOutput

func (DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationPtrOutput

func (o DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationPtrOutput() DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext

func (o DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext(ctx context.Context) DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationOutput) ToOutput added in v6.1.0

func (DomainNameMutualTlsAuthenticationOutput) TruststoreUri

Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3://bucket-name/key-name`. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.

func (DomainNameMutualTlsAuthenticationOutput) TruststoreVersion

Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.

type DomainNameMutualTlsAuthenticationPtrInput

type DomainNameMutualTlsAuthenticationPtrInput interface {
	pulumi.Input

	ToDomainNameMutualTlsAuthenticationPtrOutput() DomainNameMutualTlsAuthenticationPtrOutput
	ToDomainNameMutualTlsAuthenticationPtrOutputWithContext(context.Context) DomainNameMutualTlsAuthenticationPtrOutput
}

DomainNameMutualTlsAuthenticationPtrInput is an input type that accepts DomainNameMutualTlsAuthenticationArgs, DomainNameMutualTlsAuthenticationPtr and DomainNameMutualTlsAuthenticationPtrOutput values. You can construct a concrete instance of `DomainNameMutualTlsAuthenticationPtrInput` via:

        DomainNameMutualTlsAuthenticationArgs{...}

or:

        nil

type DomainNameMutualTlsAuthenticationPtrOutput

type DomainNameMutualTlsAuthenticationPtrOutput struct{ *pulumi.OutputState }

func (DomainNameMutualTlsAuthenticationPtrOutput) Elem

func (DomainNameMutualTlsAuthenticationPtrOutput) ElementType

func (DomainNameMutualTlsAuthenticationPtrOutput) ToDomainNameMutualTlsAuthenticationPtrOutput

func (o DomainNameMutualTlsAuthenticationPtrOutput) ToDomainNameMutualTlsAuthenticationPtrOutput() DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationPtrOutput) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext

func (o DomainNameMutualTlsAuthenticationPtrOutput) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext(ctx context.Context) DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationPtrOutput) ToOutput added in v6.1.0

func (DomainNameMutualTlsAuthenticationPtrOutput) TruststoreUri

Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3://bucket-name/key-name`. The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version.

func (DomainNameMutualTlsAuthenticationPtrOutput) TruststoreVersion

Version of the S3 object that contains the truststore. To specify a version, you must have versioning enabled for the S3 bucket.

type DomainNameOutput

type DomainNameOutput struct{ *pulumi.OutputState }

func (DomainNameOutput) Arn

ARN of the domain name.

func (DomainNameOutput) DomainName

func (o DomainNameOutput) DomainName() pulumi.StringOutput

Domain name. Must be between 1 and 512 characters in length.

func (DomainNameOutput) DomainNameConfiguration

func (o DomainNameOutput) DomainNameConfiguration() DomainNameDomainNameConfigurationOutput

Domain name configuration. See below.

func (DomainNameOutput) ElementType

func (DomainNameOutput) ElementType() reflect.Type

func (DomainNameOutput) MutualTlsAuthentication

Mutual TLS authentication configuration for the domain name.

func (DomainNameOutput) Tags

Map of tags to assign to the domain name. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (DomainNameOutput) TagsAll

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (DomainNameOutput) ToDomainNameOutput

func (o DomainNameOutput) ToDomainNameOutput() DomainNameOutput

func (DomainNameOutput) ToDomainNameOutputWithContext

func (o DomainNameOutput) ToDomainNameOutputWithContext(ctx context.Context) DomainNameOutput

func (DomainNameOutput) ToOutput added in v6.1.0

type DomainNameState

type DomainNameState struct {
	// [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
	// ARN of the domain name.
	Arn pulumi.StringPtrInput
	// Domain name. Must be between 1 and 512 characters in length.
	DomainName pulumi.StringPtrInput
	// Domain name configuration. See below.
	DomainNameConfiguration DomainNameDomainNameConfigurationPtrInput
	// Mutual TLS authentication configuration for the domain name.
	MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrInput
	// Map of tags to assign to the domain name. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (DomainNameState) ElementType

func (DomainNameState) ElementType() reflect.Type

type GetApiCorsConfiguration

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

type GetApiCorsConfigurationArgs

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

func (GetApiCorsConfigurationArgs) ElementType

func (GetApiCorsConfigurationArgs) ToGetApiCorsConfigurationOutput

func (i GetApiCorsConfigurationArgs) ToGetApiCorsConfigurationOutput() GetApiCorsConfigurationOutput

func (GetApiCorsConfigurationArgs) ToGetApiCorsConfigurationOutputWithContext

func (i GetApiCorsConfigurationArgs) ToGetApiCorsConfigurationOutputWithContext(ctx context.Context) GetApiCorsConfigurationOutput

func (GetApiCorsConfigurationArgs) ToOutput added in v6.1.0

type GetApiCorsConfigurationArray

type GetApiCorsConfigurationArray []GetApiCorsConfigurationInput

func (GetApiCorsConfigurationArray) ElementType

func (GetApiCorsConfigurationArray) ToGetApiCorsConfigurationArrayOutput

func (i GetApiCorsConfigurationArray) ToGetApiCorsConfigurationArrayOutput() GetApiCorsConfigurationArrayOutput

func (GetApiCorsConfigurationArray) ToGetApiCorsConfigurationArrayOutputWithContext

func (i GetApiCorsConfigurationArray) ToGetApiCorsConfigurationArrayOutputWithContext(ctx context.Context) GetApiCorsConfigurationArrayOutput

func (GetApiCorsConfigurationArray) ToOutput added in v6.1.0

type GetApiCorsConfigurationArrayInput

type GetApiCorsConfigurationArrayInput interface {
	pulumi.Input

	ToGetApiCorsConfigurationArrayOutput() GetApiCorsConfigurationArrayOutput
	ToGetApiCorsConfigurationArrayOutputWithContext(context.Context) GetApiCorsConfigurationArrayOutput
}

GetApiCorsConfigurationArrayInput is an input type that accepts GetApiCorsConfigurationArray and GetApiCorsConfigurationArrayOutput values. You can construct a concrete instance of `GetApiCorsConfigurationArrayInput` via:

GetApiCorsConfigurationArray{ GetApiCorsConfigurationArgs{...} }

type GetApiCorsConfigurationArrayOutput

type GetApiCorsConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetApiCorsConfigurationArrayOutput) ElementType

func (GetApiCorsConfigurationArrayOutput) Index

func (GetApiCorsConfigurationArrayOutput) ToGetApiCorsConfigurationArrayOutput

func (o GetApiCorsConfigurationArrayOutput) ToGetApiCorsConfigurationArrayOutput() GetApiCorsConfigurationArrayOutput

func (GetApiCorsConfigurationArrayOutput) ToGetApiCorsConfigurationArrayOutputWithContext

func (o GetApiCorsConfigurationArrayOutput) ToGetApiCorsConfigurationArrayOutputWithContext(ctx context.Context) GetApiCorsConfigurationArrayOutput

func (GetApiCorsConfigurationArrayOutput) ToOutput added in v6.1.0

type GetApiCorsConfigurationInput

type GetApiCorsConfigurationInput interface {
	pulumi.Input

	ToGetApiCorsConfigurationOutput() GetApiCorsConfigurationOutput
	ToGetApiCorsConfigurationOutputWithContext(context.Context) GetApiCorsConfigurationOutput
}

GetApiCorsConfigurationInput is an input type that accepts GetApiCorsConfigurationArgs and GetApiCorsConfigurationOutput values. You can construct a concrete instance of `GetApiCorsConfigurationInput` via:

GetApiCorsConfigurationArgs{...}

type GetApiCorsConfigurationOutput

type GetApiCorsConfigurationOutput struct{ *pulumi.OutputState }

func (GetApiCorsConfigurationOutput) AllowCredentials

func (o GetApiCorsConfigurationOutput) AllowCredentials() pulumi.BoolOutput

Whether credentials are included in the CORS request.

func (GetApiCorsConfigurationOutput) AllowHeaders

Set of allowed HTTP headers.

func (GetApiCorsConfigurationOutput) AllowMethods

Set of allowed HTTP methods.

func (GetApiCorsConfigurationOutput) AllowOrigins

Set of allowed origins.

func (GetApiCorsConfigurationOutput) ElementType

func (GetApiCorsConfigurationOutput) ExposeHeaders

Set of exposed HTTP headers.

func (GetApiCorsConfigurationOutput) MaxAge

Number of seconds that the browser should cache preflight request results.

func (GetApiCorsConfigurationOutput) ToGetApiCorsConfigurationOutput

func (o GetApiCorsConfigurationOutput) ToGetApiCorsConfigurationOutput() GetApiCorsConfigurationOutput

func (GetApiCorsConfigurationOutput) ToGetApiCorsConfigurationOutputWithContext

func (o GetApiCorsConfigurationOutput) ToGetApiCorsConfigurationOutputWithContext(ctx context.Context) GetApiCorsConfigurationOutput

func (GetApiCorsConfigurationOutput) ToOutput added in v6.1.0

type GetApisArgs

type GetApisArgs struct {
	// API name.
	Name *string `pulumi:"name"`
	// API protocol.
	ProtocolType *string `pulumi:"protocolType"`
	// Map of tags, each pair of which must exactly match
	// a pair on the desired APIs.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getApis.

type GetApisOutputArgs

type GetApisOutputArgs struct {
	// API name.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// API protocol.
	ProtocolType pulumi.StringPtrInput `pulumi:"protocolType"`
	// Map of tags, each pair of which must exactly match
	// a pair on the desired APIs.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getApis.

func (GetApisOutputArgs) ElementType

func (GetApisOutputArgs) ElementType() reflect.Type

type GetApisResult

type GetApisResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Set of API identifiers.
	Ids          []string          `pulumi:"ids"`
	Name         *string           `pulumi:"name"`
	ProtocolType *string           `pulumi:"protocolType"`
	Tags         map[string]string `pulumi:"tags"`
}

A collection of values returned by getApis.

func GetApis

func GetApis(ctx *pulumi.Context, args *GetApisArgs, opts ...pulumi.InvokeOption) (*GetApisResult, error)

Provides details about multiple Amazon API Gateway Version 2 APIs.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.GetApis(ctx, &apigatewayv2.GetApisArgs{
			ProtocolType: pulumi.StringRef("HTTP"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetApisResultOutput

type GetApisResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getApis.

func (GetApisResultOutput) ElementType

func (GetApisResultOutput) ElementType() reflect.Type

func (GetApisResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetApisResultOutput) Ids

Set of API identifiers.

func (GetApisResultOutput) Name

func (GetApisResultOutput) ProtocolType

func (o GetApisResultOutput) ProtocolType() pulumi.StringPtrOutput

func (GetApisResultOutput) Tags

func (GetApisResultOutput) ToGetApisResultOutput

func (o GetApisResultOutput) ToGetApisResultOutput() GetApisResultOutput

func (GetApisResultOutput) ToGetApisResultOutputWithContext

func (o GetApisResultOutput) ToGetApisResultOutputWithContext(ctx context.Context) GetApisResultOutput

func (GetApisResultOutput) ToOutput added in v6.1.0

type GetExportArgs

type GetExportArgs struct {
	// API identifier.
	ApiId string `pulumi:"apiId"`
	// Version of the API Gateway export algorithm. API Gateway uses the latest version by default. Currently, the only supported version is `1.0`.
	ExportVersion *string `pulumi:"exportVersion"`
	// Whether to include API Gateway extensions in the exported API definition. API Gateway extensions are included by default.
	IncludeExtensions *bool `pulumi:"includeExtensions"`
	// Output type of the exported definition file. Valid values are `JSON` and `YAML`.
	OutputType string `pulumi:"outputType"`
	// Version of the API specification to use. `OAS30`, for OpenAPI 3.0, is the only supported value.
	Specification string `pulumi:"specification"`
	// Name of the API stage to export. If you don't specify this property, a representation of the latest API configuration is exported.
	StageName *string `pulumi:"stageName"`
}

A collection of arguments for invoking getExport.

type GetExportOutputArgs

type GetExportOutputArgs struct {
	// API identifier.
	ApiId pulumi.StringInput `pulumi:"apiId"`
	// Version of the API Gateway export algorithm. API Gateway uses the latest version by default. Currently, the only supported version is `1.0`.
	ExportVersion pulumi.StringPtrInput `pulumi:"exportVersion"`
	// Whether to include API Gateway extensions in the exported API definition. API Gateway extensions are included by default.
	IncludeExtensions pulumi.BoolPtrInput `pulumi:"includeExtensions"`
	// Output type of the exported definition file. Valid values are `JSON` and `YAML`.
	OutputType pulumi.StringInput `pulumi:"outputType"`
	// Version of the API specification to use. `OAS30`, for OpenAPI 3.0, is the only supported value.
	Specification pulumi.StringInput `pulumi:"specification"`
	// Name of the API stage to export. If you don't specify this property, a representation of the latest API configuration is exported.
	StageName pulumi.StringPtrInput `pulumi:"stageName"`
}

A collection of arguments for invoking getExport.

func (GetExportOutputArgs) ElementType

func (GetExportOutputArgs) ElementType() reflect.Type

type GetExportResult

type GetExportResult struct {
	ApiId string `pulumi:"apiId"`
	// ID of the API.
	Body          string  `pulumi:"body"`
	ExportVersion *string `pulumi:"exportVersion"`
	// The provider-assigned unique ID for this managed resource.
	Id                string  `pulumi:"id"`
	IncludeExtensions *bool   `pulumi:"includeExtensions"`
	OutputType        string  `pulumi:"outputType"`
	Specification     string  `pulumi:"specification"`
	StageName         *string `pulumi:"stageName"`
}

A collection of values returned by getExport.

func GetExport

func GetExport(ctx *pulumi.Context, args *GetExportArgs, opts ...pulumi.InvokeOption) (*GetExportResult, error)

Exports a definition of an API in a particular output format and specification.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.GetExport(ctx, &apigatewayv2.GetExportArgs{
			ApiId:         aws_apigatewayv2_route.Test.Api_id,
			Specification: "OAS30",
			OutputType:    "JSON",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetExportResultOutput

type GetExportResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getExport.

func (GetExportResultOutput) ApiId

func (GetExportResultOutput) Body

ID of the API.

func (GetExportResultOutput) ElementType

func (GetExportResultOutput) ElementType() reflect.Type

func (GetExportResultOutput) ExportVersion

func (o GetExportResultOutput) ExportVersion() pulumi.StringPtrOutput

func (GetExportResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetExportResultOutput) IncludeExtensions

func (o GetExportResultOutput) IncludeExtensions() pulumi.BoolPtrOutput

func (GetExportResultOutput) OutputType

func (o GetExportResultOutput) OutputType() pulumi.StringOutput

func (GetExportResultOutput) Specification

func (o GetExportResultOutput) Specification() pulumi.StringOutput

func (GetExportResultOutput) StageName

func (GetExportResultOutput) ToGetExportResultOutput

func (o GetExportResultOutput) ToGetExportResultOutput() GetExportResultOutput

func (GetExportResultOutput) ToGetExportResultOutputWithContext

func (o GetExportResultOutput) ToGetExportResultOutputWithContext(ctx context.Context) GetExportResultOutput

func (GetExportResultOutput) ToOutput added in v6.1.0

type Integration

type Integration struct {
	pulumi.CustomResourceState

	// API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
	ConnectionId pulumi.StringPtrOutput `pulumi:"connectionId"`
	// 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"`
	// Credentials required for the integration, if any.
	CredentialsArn pulumi.StringPtrOutput `pulumi:"credentialsArn"`
	// Description of the integration.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// 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"`
	// 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. Must be between 1 and 128 characters in length.
	IntegrationSubtype pulumi.StringPtrOutput `pulumi:"integrationSubtype"`
	// Integration type of an integration.
	// Valid values: `AWS` (supported only for WebSocket APIs), `AWS_PROXY`, `HTTP` (supported only for WebSocket APIs), `HTTP_PROXY`, `MOCK` (supported only for WebSocket APIs). For an HTTP API private integration, use `HTTP_PROXY`.
	IntegrationType pulumi.StringOutput `pulumi:"integrationType"`
	// 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"`
	// 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"`
	// For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
	// For HTTP APIs with a specified `integrationSubtype`, a key-value map specifying parameters that are passed to `AWS_PROXY` integrations.
	// For HTTP APIs without a specified `integrationSubtype`, a key-value map specifying how to transform HTTP requests before sending them to the backend.
	// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
	RequestParameters pulumi.StringMapOutput `pulumi:"requestParameters"`
	// Map of [Velocity](https://velocity.apache.org/) 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"`
	// Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
	ResponseParameters IntegrationResponseParameterArrayOutput `pulumi:"responseParameters"`
	// 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 for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
	// The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
	// this provider will only perform drift detection of its value when present in a configuration.
	TimeoutMilliseconds pulumi.IntOutput `pulumi:"timeoutMilliseconds"`
	// 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/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

``` ### Lambda Integration

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleFunction, err := lambda.NewFunction(ctx, "exampleFunction", &lambda.FunctionArgs{
			Code:    pulumi.NewFileArchive("example.zip"),
			Role:    pulumi.Any(aws_iam_role.Example.Arn),
			Handler: pulumi.String("index.handler"),
			Runtime: pulumi.String("nodejs16.x"),
		})
		if err != nil {
			return err
		}
		_, err = apigatewayv2.NewIntegration(ctx, "exampleIntegration", &apigatewayv2.IntegrationArgs{
			ApiId:                   pulumi.Any(aws_apigatewayv2_api.Example.Id),
			IntegrationType:         pulumi.String("AWS_PROXY"),
			ConnectionType:          pulumi.String("INTERNET"),
			ContentHandlingStrategy: pulumi.String("CONVERT_TO_TEXT"),
			Description:             pulumi.String("Lambda example"),
			IntegrationMethod:       pulumi.String("POST"),
			IntegrationUri:          exampleFunction.InvokeArn,
			PassthroughBehavior:     pulumi.String("WHEN_NO_MATCH"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### AWS Service Integration

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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("$request.header.queueUrl"),
				"MessageBody": pulumi.String("$request.body.message"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Private Integration

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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("Example with a load balancer"),
			IntegrationType:   pulumi.String("HTTP_PROXY"),
			IntegrationUri:    pulumi.Any(aws_lb_listener.Example.Arn),
			IntegrationMethod: pulumi.String("ANY"),
			ConnectionType:    pulumi.String("VPC_LINK"),
			ConnectionId:      pulumi.Any(aws_apigatewayv2_vpc_link.Example.Id),
			TlsConfig: &apigatewayv2.IntegrationTlsConfigArgs{
				ServerNameToVerify: pulumi.String("example.com"),
			},
			RequestParameters: pulumi.StringMap{
				"append:header.authforintegration": pulumi.String("$context.authorizer.authorizerResponse"),
				"overwrite:path":                   pulumi.String("staticValueForIntegration"),
			},
			ResponseParameters: apigatewayv2.IntegrationResponseParameterArray{
				&apigatewayv2.IntegrationResponseParameterArgs{
					StatusCode: pulumi.String("403"),
					Mappings: pulumi.StringMap{
						"append:header.auth": pulumi.String("$context.authorizer.authorizerResponse"),
					},
				},
				&apigatewayv2.IntegrationResponseParameterArgs{
					StatusCode: pulumi.String("200"),
					Mappings: pulumi.StringMap{
						"overwrite:statuscode": pulumi.String("204"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_integration` using the API identifier and integration identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/integration:Integration example aabbccddee/1122334

```

-> __Note:__ The API Gateway managed integration created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.

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.

func (*Integration) ElementType

func (*Integration) ElementType() reflect.Type

func (*Integration) ToIntegrationOutput

func (i *Integration) ToIntegrationOutput() IntegrationOutput

func (*Integration) ToIntegrationOutputWithContext

func (i *Integration) ToIntegrationOutputWithContext(ctx context.Context) IntegrationOutput

func (*Integration) ToOutput added in v6.1.0

func (i *Integration) ToOutput(ctx context.Context) pulumix.Output[*Integration]

type IntegrationArgs

type IntegrationArgs struct {
	// API identifier.
	ApiId pulumi.StringInput
	// ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
	ConnectionId pulumi.StringPtrInput
	// 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
	// Credentials required for the integration, if any.
	CredentialsArn pulumi.StringPtrInput
	// Description of the integration.
	Description pulumi.StringPtrInput
	// Integration's HTTP method. Must be specified if `integrationType` is not `MOCK`.
	IntegrationMethod pulumi.StringPtrInput
	// 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. Must be between 1 and 128 characters in length.
	IntegrationSubtype pulumi.StringPtrInput
	// Integration type of an integration.
	// Valid values: `AWS` (supported only for WebSocket APIs), `AWS_PROXY`, `HTTP` (supported only for WebSocket APIs), `HTTP_PROXY`, `MOCK` (supported only for WebSocket APIs). For an HTTP API private integration, use `HTTP_PROXY`.
	IntegrationType pulumi.StringInput
	// 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
	// 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
	// For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
	// For HTTP APIs with a specified `integrationSubtype`, a key-value map specifying parameters that are passed to `AWS_PROXY` integrations.
	// For HTTP APIs without a specified `integrationSubtype`, a key-value map specifying how to transform HTTP requests before sending them to the backend.
	// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
	RequestParameters pulumi.StringMapInput
	// Map of [Velocity](https://velocity.apache.org/) 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
	// Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
	ResponseParameters IntegrationResponseParameterArrayInput
	// 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 for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
	// The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
	// this provider will only perform drift detection of its value when present in a configuration.
	TimeoutMilliseconds pulumi.IntPtrInput
	// 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 IntegrationArray

type IntegrationArray []IntegrationInput

func (IntegrationArray) ElementType

func (IntegrationArray) ElementType() reflect.Type

func (IntegrationArray) ToIntegrationArrayOutput

func (i IntegrationArray) ToIntegrationArrayOutput() IntegrationArrayOutput

func (IntegrationArray) ToIntegrationArrayOutputWithContext

func (i IntegrationArray) ToIntegrationArrayOutputWithContext(ctx context.Context) IntegrationArrayOutput

func (IntegrationArray) ToOutput added in v6.1.0

type IntegrationArrayInput

type IntegrationArrayInput interface {
	pulumi.Input

	ToIntegrationArrayOutput() IntegrationArrayOutput
	ToIntegrationArrayOutputWithContext(context.Context) IntegrationArrayOutput
}

IntegrationArrayInput is an input type that accepts IntegrationArray and IntegrationArrayOutput values. You can construct a concrete instance of `IntegrationArrayInput` via:

IntegrationArray{ IntegrationArgs{...} }

type IntegrationArrayOutput

type IntegrationArrayOutput struct{ *pulumi.OutputState }

func (IntegrationArrayOutput) ElementType

func (IntegrationArrayOutput) ElementType() reflect.Type

func (IntegrationArrayOutput) Index

func (IntegrationArrayOutput) ToIntegrationArrayOutput

func (o IntegrationArrayOutput) ToIntegrationArrayOutput() IntegrationArrayOutput

func (IntegrationArrayOutput) ToIntegrationArrayOutputWithContext

func (o IntegrationArrayOutput) ToIntegrationArrayOutputWithContext(ctx context.Context) IntegrationArrayOutput

func (IntegrationArrayOutput) ToOutput added in v6.1.0

type IntegrationInput

type IntegrationInput interface {
	pulumi.Input

	ToIntegrationOutput() IntegrationOutput
	ToIntegrationOutputWithContext(ctx context.Context) IntegrationOutput
}

type IntegrationMap

type IntegrationMap map[string]IntegrationInput

func (IntegrationMap) ElementType

func (IntegrationMap) ElementType() reflect.Type

func (IntegrationMap) ToIntegrationMapOutput

func (i IntegrationMap) ToIntegrationMapOutput() IntegrationMapOutput

func (IntegrationMap) ToIntegrationMapOutputWithContext

func (i IntegrationMap) ToIntegrationMapOutputWithContext(ctx context.Context) IntegrationMapOutput

func (IntegrationMap) ToOutput added in v6.1.0

type IntegrationMapInput

type IntegrationMapInput interface {
	pulumi.Input

	ToIntegrationMapOutput() IntegrationMapOutput
	ToIntegrationMapOutputWithContext(context.Context) IntegrationMapOutput
}

IntegrationMapInput is an input type that accepts IntegrationMap and IntegrationMapOutput values. You can construct a concrete instance of `IntegrationMapInput` via:

IntegrationMap{ "key": IntegrationArgs{...} }

type IntegrationMapOutput

type IntegrationMapOutput struct{ *pulumi.OutputState }

func (IntegrationMapOutput) ElementType

func (IntegrationMapOutput) ElementType() reflect.Type

func (IntegrationMapOutput) MapIndex

func (IntegrationMapOutput) ToIntegrationMapOutput

func (o IntegrationMapOutput) ToIntegrationMapOutput() IntegrationMapOutput

func (IntegrationMapOutput) ToIntegrationMapOutputWithContext

func (o IntegrationMapOutput) ToIntegrationMapOutputWithContext(ctx context.Context) IntegrationMapOutput

func (IntegrationMapOutput) ToOutput added in v6.1.0

type IntegrationOutput

type IntegrationOutput struct{ *pulumi.OutputState }

func (IntegrationOutput) ApiId

API identifier.

func (IntegrationOutput) ConnectionId

func (o IntegrationOutput) ConnectionId() pulumi.StringPtrOutput

ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.

func (IntegrationOutput) ConnectionType

func (o IntegrationOutput) ConnectionType() pulumi.StringPtrOutput

Type of the network connection to the integration endpoint. Valid values: `INTERNET`, `VPC_LINK`. Default is `INTERNET`.

func (IntegrationOutput) ContentHandlingStrategy

func (o IntegrationOutput) ContentHandlingStrategy() pulumi.StringPtrOutput

How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`. Supported only for WebSocket APIs.

func (IntegrationOutput) CredentialsArn

func (o IntegrationOutput) CredentialsArn() pulumi.StringPtrOutput

Credentials required for the integration, if any.

func (IntegrationOutput) Description

func (o IntegrationOutput) Description() pulumi.StringPtrOutput

Description of the integration.

func (IntegrationOutput) ElementType

func (IntegrationOutput) ElementType() reflect.Type

func (IntegrationOutput) IntegrationMethod

func (o IntegrationOutput) IntegrationMethod() pulumi.StringPtrOutput

Integration's HTTP method. Must be specified if `integrationType` is not `MOCK`.

func (IntegrationOutput) IntegrationSubtype

func (o IntegrationOutput) IntegrationSubtype() pulumi.StringPtrOutput

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. Must be between 1 and 128 characters in length.

func (IntegrationOutput) IntegrationType

func (o IntegrationOutput) IntegrationType() pulumi.StringOutput

Integration type of an integration. Valid values: `AWS` (supported only for WebSocket APIs), `AWS_PROXY`, `HTTP` (supported only for WebSocket APIs), `HTTP_PROXY`, `MOCK` (supported only for WebSocket APIs). For an HTTP API private integration, use `HTTP_PROXY`.

func (IntegrationOutput) IntegrationUri

func (o IntegrationOutput) IntegrationUri() pulumi.StringPtrOutput

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.

func (IntegrationOutput) PassthroughBehavior

func (o IntegrationOutput) PassthroughBehavior() pulumi.StringPtrOutput

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.

func (IntegrationOutput) PayloadFormatVersion

func (o IntegrationOutput) PayloadFormatVersion() pulumi.StringPtrOutput

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

func (IntegrationOutput) RequestParameters

func (o IntegrationOutput) RequestParameters() pulumi.StringMapOutput

For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend. For HTTP APIs with a specified `integrationSubtype`, a key-value map specifying parameters that are passed to `AWS_PROXY` integrations. For HTTP APIs without a specified `integrationSubtype`, a key-value map specifying how to transform HTTP requests before sending them to the backend. See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.

func (IntegrationOutput) RequestTemplates

func (o IntegrationOutput) RequestTemplates() pulumi.StringMapOutput

Map of [Velocity](https://velocity.apache.org/) 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.

func (IntegrationOutput) ResponseParameters

Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.

func (IntegrationOutput) TimeoutMilliseconds

func (o IntegrationOutput) TimeoutMilliseconds() pulumi.IntOutput

Custom timeout between 50 and 29,000 milliseconds for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs. The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs. this provider will only perform drift detection of its value when present in a configuration.

func (IntegrationOutput) TlsConfig

TLS configuration for a private integration. Supported only for HTTP APIs.

func (IntegrationOutput) ToIntegrationOutput

func (o IntegrationOutput) ToIntegrationOutput() IntegrationOutput

func (IntegrationOutput) ToIntegrationOutputWithContext

func (o IntegrationOutput) ToIntegrationOutputWithContext(ctx context.Context) IntegrationOutput

func (IntegrationOutput) ToOutput added in v6.1.0

type IntegrationResponse

type IntegrationResponse struct {
	pulumi.CustomResourceState

	// 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"`
	// Identifier of the `apigatewayv2.Integration`.
	IntegrationId pulumi.StringOutput `pulumi:"integrationId"`
	// Integration response key.
	IntegrationResponseKey pulumi.StringOutput `pulumi:"integrationResponseKey"`
	// 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/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_integration_response` using the API identifier, integration identifier and integration response identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/integrationResponse:IntegrationResponse example aabbccddee/1122334/998877

```

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.

func (*IntegrationResponse) ElementType

func (*IntegrationResponse) ElementType() reflect.Type

func (*IntegrationResponse) ToIntegrationResponseOutput

func (i *IntegrationResponse) ToIntegrationResponseOutput() IntegrationResponseOutput

func (*IntegrationResponse) ToIntegrationResponseOutputWithContext

func (i *IntegrationResponse) ToIntegrationResponseOutputWithContext(ctx context.Context) IntegrationResponseOutput

func (*IntegrationResponse) ToOutput added in v6.1.0

type IntegrationResponseArgs

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

type IntegrationResponseArray []IntegrationResponseInput

func (IntegrationResponseArray) ElementType

func (IntegrationResponseArray) ElementType() reflect.Type

func (IntegrationResponseArray) ToIntegrationResponseArrayOutput

func (i IntegrationResponseArray) ToIntegrationResponseArrayOutput() IntegrationResponseArrayOutput

func (IntegrationResponseArray) ToIntegrationResponseArrayOutputWithContext

func (i IntegrationResponseArray) ToIntegrationResponseArrayOutputWithContext(ctx context.Context) IntegrationResponseArrayOutput

func (IntegrationResponseArray) ToOutput added in v6.1.0

type IntegrationResponseArrayInput

type IntegrationResponseArrayInput interface {
	pulumi.Input

	ToIntegrationResponseArrayOutput() IntegrationResponseArrayOutput
	ToIntegrationResponseArrayOutputWithContext(context.Context) IntegrationResponseArrayOutput
}

IntegrationResponseArrayInput is an input type that accepts IntegrationResponseArray and IntegrationResponseArrayOutput values. You can construct a concrete instance of `IntegrationResponseArrayInput` via:

IntegrationResponseArray{ IntegrationResponseArgs{...} }

type IntegrationResponseArrayOutput

type IntegrationResponseArrayOutput struct{ *pulumi.OutputState }

func (IntegrationResponseArrayOutput) ElementType

func (IntegrationResponseArrayOutput) Index

func (IntegrationResponseArrayOutput) ToIntegrationResponseArrayOutput

func (o IntegrationResponseArrayOutput) ToIntegrationResponseArrayOutput() IntegrationResponseArrayOutput

func (IntegrationResponseArrayOutput) ToIntegrationResponseArrayOutputWithContext

func (o IntegrationResponseArrayOutput) ToIntegrationResponseArrayOutputWithContext(ctx context.Context) IntegrationResponseArrayOutput

func (IntegrationResponseArrayOutput) ToOutput added in v6.1.0

type IntegrationResponseInput

type IntegrationResponseInput interface {
	pulumi.Input

	ToIntegrationResponseOutput() IntegrationResponseOutput
	ToIntegrationResponseOutputWithContext(ctx context.Context) IntegrationResponseOutput
}

type IntegrationResponseMap

type IntegrationResponseMap map[string]IntegrationResponseInput

func (IntegrationResponseMap) ElementType

func (IntegrationResponseMap) ElementType() reflect.Type

func (IntegrationResponseMap) ToIntegrationResponseMapOutput

func (i IntegrationResponseMap) ToIntegrationResponseMapOutput() IntegrationResponseMapOutput

func (IntegrationResponseMap) ToIntegrationResponseMapOutputWithContext

func (i IntegrationResponseMap) ToIntegrationResponseMapOutputWithContext(ctx context.Context) IntegrationResponseMapOutput

func (IntegrationResponseMap) ToOutput added in v6.1.0

type IntegrationResponseMapInput

type IntegrationResponseMapInput interface {
	pulumi.Input

	ToIntegrationResponseMapOutput() IntegrationResponseMapOutput
	ToIntegrationResponseMapOutputWithContext(context.Context) IntegrationResponseMapOutput
}

IntegrationResponseMapInput is an input type that accepts IntegrationResponseMap and IntegrationResponseMapOutput values. You can construct a concrete instance of `IntegrationResponseMapInput` via:

IntegrationResponseMap{ "key": IntegrationResponseArgs{...} }

type IntegrationResponseMapOutput

type IntegrationResponseMapOutput struct{ *pulumi.OutputState }

func (IntegrationResponseMapOutput) ElementType

func (IntegrationResponseMapOutput) MapIndex

func (IntegrationResponseMapOutput) ToIntegrationResponseMapOutput

func (o IntegrationResponseMapOutput) ToIntegrationResponseMapOutput() IntegrationResponseMapOutput

func (IntegrationResponseMapOutput) ToIntegrationResponseMapOutputWithContext

func (o IntegrationResponseMapOutput) ToIntegrationResponseMapOutputWithContext(ctx context.Context) IntegrationResponseMapOutput

func (IntegrationResponseMapOutput) ToOutput added in v6.1.0

type IntegrationResponseOutput

type IntegrationResponseOutput struct{ *pulumi.OutputState }

func (IntegrationResponseOutput) ApiId

API identifier.

func (IntegrationResponseOutput) ContentHandlingStrategy

func (o IntegrationResponseOutput) ContentHandlingStrategy() pulumi.StringPtrOutput

How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`.

func (IntegrationResponseOutput) ElementType

func (IntegrationResponseOutput) ElementType() reflect.Type

func (IntegrationResponseOutput) IntegrationId

func (o IntegrationResponseOutput) IntegrationId() pulumi.StringOutput

Identifier of the `apigatewayv2.Integration`.

func (IntegrationResponseOutput) IntegrationResponseKey

func (o IntegrationResponseOutput) IntegrationResponseKey() pulumi.StringOutput

Integration response key.

func (IntegrationResponseOutput) ResponseTemplates

func (o IntegrationResponseOutput) ResponseTemplates() pulumi.StringMapOutput

Map of Velocity templates that are applied on the request payload based on the value of the Content-Type header sent by the client.

func (IntegrationResponseOutput) ToIntegrationResponseOutput

func (o IntegrationResponseOutput) ToIntegrationResponseOutput() IntegrationResponseOutput

func (IntegrationResponseOutput) ToIntegrationResponseOutputWithContext

func (o IntegrationResponseOutput) ToIntegrationResponseOutputWithContext(ctx context.Context) IntegrationResponseOutput

func (IntegrationResponseOutput) ToOutput added in v6.1.0

type IntegrationResponseParameter

type IntegrationResponseParameter struct {
	// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter.
	// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
	Mappings map[string]string `pulumi:"mappings"`
	// HTTP status code in the range 200-599.
	StatusCode string `pulumi:"statusCode"`
}

type IntegrationResponseParameterArgs

type IntegrationResponseParameterArgs struct {
	// Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter.
	// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
	Mappings pulumi.StringMapInput `pulumi:"mappings"`
	// HTTP status code in the range 200-599.
	StatusCode pulumi.StringInput `pulumi:"statusCode"`
}

func (IntegrationResponseParameterArgs) ElementType

func (IntegrationResponseParameterArgs) ToIntegrationResponseParameterOutput

func (i IntegrationResponseParameterArgs) ToIntegrationResponseParameterOutput() IntegrationResponseParameterOutput

func (IntegrationResponseParameterArgs) ToIntegrationResponseParameterOutputWithContext

func (i IntegrationResponseParameterArgs) ToIntegrationResponseParameterOutputWithContext(ctx context.Context) IntegrationResponseParameterOutput

func (IntegrationResponseParameterArgs) ToOutput added in v6.1.0

type IntegrationResponseParameterArray

type IntegrationResponseParameterArray []IntegrationResponseParameterInput

func (IntegrationResponseParameterArray) ElementType

func (IntegrationResponseParameterArray) ToIntegrationResponseParameterArrayOutput

func (i IntegrationResponseParameterArray) ToIntegrationResponseParameterArrayOutput() IntegrationResponseParameterArrayOutput

func (IntegrationResponseParameterArray) ToIntegrationResponseParameterArrayOutputWithContext

func (i IntegrationResponseParameterArray) ToIntegrationResponseParameterArrayOutputWithContext(ctx context.Context) IntegrationResponseParameterArrayOutput

func (IntegrationResponseParameterArray) ToOutput added in v6.1.0

type IntegrationResponseParameterArrayInput

type IntegrationResponseParameterArrayInput interface {
	pulumi.Input

	ToIntegrationResponseParameterArrayOutput() IntegrationResponseParameterArrayOutput
	ToIntegrationResponseParameterArrayOutputWithContext(context.Context) IntegrationResponseParameterArrayOutput
}

IntegrationResponseParameterArrayInput is an input type that accepts IntegrationResponseParameterArray and IntegrationResponseParameterArrayOutput values. You can construct a concrete instance of `IntegrationResponseParameterArrayInput` via:

IntegrationResponseParameterArray{ IntegrationResponseParameterArgs{...} }

type IntegrationResponseParameterArrayOutput

type IntegrationResponseParameterArrayOutput struct{ *pulumi.OutputState }

func (IntegrationResponseParameterArrayOutput) ElementType

func (IntegrationResponseParameterArrayOutput) Index

func (IntegrationResponseParameterArrayOutput) ToIntegrationResponseParameterArrayOutput

func (o IntegrationResponseParameterArrayOutput) ToIntegrationResponseParameterArrayOutput() IntegrationResponseParameterArrayOutput

func (IntegrationResponseParameterArrayOutput) ToIntegrationResponseParameterArrayOutputWithContext

func (o IntegrationResponseParameterArrayOutput) ToIntegrationResponseParameterArrayOutputWithContext(ctx context.Context) IntegrationResponseParameterArrayOutput

func (IntegrationResponseParameterArrayOutput) ToOutput added in v6.1.0

type IntegrationResponseParameterInput

type IntegrationResponseParameterInput interface {
	pulumi.Input

	ToIntegrationResponseParameterOutput() IntegrationResponseParameterOutput
	ToIntegrationResponseParameterOutputWithContext(context.Context) IntegrationResponseParameterOutput
}

IntegrationResponseParameterInput is an input type that accepts IntegrationResponseParameterArgs and IntegrationResponseParameterOutput values. You can construct a concrete instance of `IntegrationResponseParameterInput` via:

IntegrationResponseParameterArgs{...}

type IntegrationResponseParameterOutput

type IntegrationResponseParameterOutput struct{ *pulumi.OutputState }

func (IntegrationResponseParameterOutput) ElementType

func (IntegrationResponseParameterOutput) Mappings

Key-value map. The key of this map identifies the location of the request parameter to change, and how to change it. The corresponding value specifies the new data for the parameter. See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.

func (IntegrationResponseParameterOutput) StatusCode

HTTP status code in the range 200-599.

func (IntegrationResponseParameterOutput) ToIntegrationResponseParameterOutput

func (o IntegrationResponseParameterOutput) ToIntegrationResponseParameterOutput() IntegrationResponseParameterOutput

func (IntegrationResponseParameterOutput) ToIntegrationResponseParameterOutputWithContext

func (o IntegrationResponseParameterOutput) ToIntegrationResponseParameterOutputWithContext(ctx context.Context) IntegrationResponseParameterOutput

func (IntegrationResponseParameterOutput) ToOutput added in v6.1.0

type IntegrationResponseState

type IntegrationResponseState struct {
	// API identifier.
	ApiId pulumi.StringPtrInput
	// How to handle response payload content type conversions. Valid values: `CONVERT_TO_BINARY`, `CONVERT_TO_TEXT`.
	ContentHandlingStrategy pulumi.StringPtrInput
	// Identifier of the `apigatewayv2.Integration`.
	IntegrationId pulumi.StringPtrInput
	// Integration response key.
	IntegrationResponseKey pulumi.StringPtrInput
	// 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 {
	// API identifier.
	ApiId pulumi.StringPtrInput
	// ID of the VPC link for a private integration. Supported only for HTTP APIs. Must be between 1 and 1024 characters in length.
	ConnectionId pulumi.StringPtrInput
	// 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
	// Credentials required for the integration, if any.
	CredentialsArn pulumi.StringPtrInput
	// Description of the integration.
	Description pulumi.StringPtrInput
	// 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
	// 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. Must be between 1 and 128 characters in length.
	IntegrationSubtype pulumi.StringPtrInput
	// Integration type of an integration.
	// Valid values: `AWS` (supported only for WebSocket APIs), `AWS_PROXY`, `HTTP` (supported only for WebSocket APIs), `HTTP_PROXY`, `MOCK` (supported only for WebSocket APIs). For an HTTP API private integration, use `HTTP_PROXY`.
	IntegrationType pulumi.StringPtrInput
	// 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
	// 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
	// For WebSocket APIs, a key-value map specifying request parameters that are passed from the method request to the backend.
	// For HTTP APIs with a specified `integrationSubtype`, a key-value map specifying parameters that are passed to `AWS_PROXY` integrations.
	// For HTTP APIs without a specified `integrationSubtype`, a key-value map specifying how to transform HTTP requests before sending them to the backend.
	// See the [Amazon API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-parameter-mapping.html) for details.
	RequestParameters pulumi.StringMapInput
	// Map of [Velocity](https://velocity.apache.org/) 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
	// Mappings to transform the HTTP response from a backend integration before returning the response to clients. Supported only for HTTP APIs.
	ResponseParameters IntegrationResponseParameterArrayInput
	// 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 for WebSocket APIs and between 50 and 30,000 milliseconds for HTTP APIs.
	// The default timeout is 29 seconds for WebSocket APIs and 30 seconds for HTTP APIs.
	// this provider will only perform drift detection of its value when present in a configuration.
	TimeoutMilliseconds pulumi.IntPtrInput
	// 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

func (IntegrationTlsConfigArgs) ToOutput added in v6.1.0

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

func (IntegrationTlsConfigOutput) ToOutput added in v6.1.0

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

func (IntegrationTlsConfigPtrOutput) ToOutput added in v6.1.0

type LookupApiArgs

type LookupApiArgs struct {
	// API identifier.
	ApiId string `pulumi:"apiId"`
	// Map of resource tags.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getApi.

type LookupApiOutputArgs

type LookupApiOutputArgs struct {
	// API identifier.
	ApiId pulumi.StringInput `pulumi:"apiId"`
	// Map of resource tags.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getApi.

func (LookupApiOutputArgs) ElementType

func (LookupApiOutputArgs) ElementType() reflect.Type

type LookupApiResult

type LookupApiResult struct {
	// URI of the API, of the form `https://{api-id}.execute-api.{region}.amazonaws.com` for HTTP APIs and `wss://{api-id}.execute-api.{region}.amazonaws.com` for WebSocket APIs.
	ApiEndpoint string `pulumi:"apiEndpoint"`
	ApiId       string `pulumi:"apiId"`
	// 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).
	// Applicable for WebSocket APIs.
	ApiKeySelectionExpression string `pulumi:"apiKeySelectionExpression"`
	// ARN of the API.
	Arn string `pulumi:"arn"`
	// Cross-origin resource sharing (CORS) [configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html).
	// Applicable for HTTP APIs.
	CorsConfigurations []GetApiCorsConfiguration `pulumi:"corsConfigurations"`
	// Description of the API.
	Description string `pulumi:"description"`
	// Whether clients can invoke the API by using the default `execute-api` endpoint.
	DisableExecuteApiEndpoint bool `pulumi:"disableExecuteApiEndpoint"`
	// 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 string `pulumi:"executionArn"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Name of the API.
	Name string `pulumi:"name"`
	// API protocol.
	ProtocolType string `pulumi:"protocolType"`
	// The [route selection expression](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-route-selection-expressions) for the API.
	RouteSelectionExpression string `pulumi:"routeSelectionExpression"`
	// Map of resource tags.
	Tags map[string]string `pulumi:"tags"`
	// Version identifier for the API.
	Version string `pulumi:"version"`
}

A collection of values returned by getApi.

func LookupApi

func LookupApi(ctx *pulumi.Context, args *LookupApiArgs, opts ...pulumi.InvokeOption) (*LookupApiResult, error)

Provides details about a specific Amazon API Gateway Version 2 API.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigatewayv2.LookupApi(ctx, &apigatewayv2.LookupApiArgs{
			ApiId: "aabbccddee",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupApiResultOutput

type LookupApiResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getApi.

func (LookupApiResultOutput) ApiEndpoint

func (o LookupApiResultOutput) ApiEndpoint() pulumi.StringOutput

URI of the API, of the form `https://{api-id}.execute-api.{region}.amazonaws.com` for HTTP APIs and `wss://{api-id}.execute-api.{region}.amazonaws.com` for WebSocket APIs.

func (LookupApiResultOutput) ApiId

func (LookupApiResultOutput) Arn

ARN of the API.

func (LookupApiResultOutput) CorsConfigurations

Cross-origin resource sharing (CORS) [configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html). Applicable for HTTP APIs.

func (LookupApiResultOutput) Description

func (o LookupApiResultOutput) Description() pulumi.StringOutput

Description of the API.

func (LookupApiResultOutput) DisableExecuteApiEndpoint

func (o LookupApiResultOutput) DisableExecuteApiEndpoint() pulumi.BoolOutput

Whether clients can invoke the API by using the default `execute-api` endpoint.

func (LookupApiResultOutput) ElementType

func (LookupApiResultOutput) ElementType() reflect.Type

func (LookupApiResultOutput) ExecutionArn

func (o LookupApiResultOutput) ExecutionArn() pulumi.StringOutput

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.

func (LookupApiResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupApiResultOutput) Name

Name of the API.

func (LookupApiResultOutput) ProtocolType

func (o LookupApiResultOutput) ProtocolType() pulumi.StringOutput

API protocol.

func (LookupApiResultOutput) Tags

Map of resource tags.

func (LookupApiResultOutput) ToLookupApiResultOutput

func (o LookupApiResultOutput) ToLookupApiResultOutput() LookupApiResultOutput

func (LookupApiResultOutput) ToLookupApiResultOutputWithContext

func (o LookupApiResultOutput) ToLookupApiResultOutputWithContext(ctx context.Context) LookupApiResultOutput

func (LookupApiResultOutput) ToOutput added in v6.1.0

func (LookupApiResultOutput) Version

Version identifier for the API.

type Model

type Model struct {
	pulumi.CustomResourceState

	// API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// The content-type for the model, for example, `application/json`. Must be between 1 and 256 characters in length.
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	// Description of the model. Must be between 1 and 128 characters in length.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Name of the model. Must be alphanumeric. Must be between 1 and 128 characters in length.
	Name pulumi.StringOutput `pulumi:"name"`
	// Schema for the model. This should be a [JSON schema draft 4](https://tools.ietf.org/html/draft-zyp-json-schema-04) model. Must be less than or equal to 32768 characters in length.
	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 (

"encoding/json"

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

)

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

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_model` using the API identifier and model identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/model:Model example aabbccddee/1122334

```

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.

func (*Model) ElementType

func (*Model) ElementType() reflect.Type

func (*Model) ToModelOutput

func (i *Model) ToModelOutput() ModelOutput

func (*Model) ToModelOutputWithContext

func (i *Model) ToModelOutputWithContext(ctx context.Context) ModelOutput

func (*Model) ToOutput added in v6.1.0

func (i *Model) ToOutput(ctx context.Context) pulumix.Output[*Model]

type ModelArgs

type ModelArgs struct {
	// API identifier.
	ApiId pulumi.StringInput
	// The content-type for the model, for example, `application/json`. Must be between 1 and 256 characters in length.
	ContentType pulumi.StringInput
	// Description of the model. Must be between 1 and 128 characters in length.
	Description pulumi.StringPtrInput
	// Name of the model. Must be alphanumeric. Must be between 1 and 128 characters in length.
	Name pulumi.StringPtrInput
	// Schema for the model. This should be a [JSON schema draft 4](https://tools.ietf.org/html/draft-zyp-json-schema-04) model. Must be less than or equal to 32768 characters in length.
	Schema pulumi.StringInput
}

The set of arguments for constructing a Model resource.

func (ModelArgs) ElementType

func (ModelArgs) ElementType() reflect.Type

type ModelArray

type ModelArray []ModelInput

func (ModelArray) ElementType

func (ModelArray) ElementType() reflect.Type

func (ModelArray) ToModelArrayOutput

func (i ModelArray) ToModelArrayOutput() ModelArrayOutput

func (ModelArray) ToModelArrayOutputWithContext

func (i ModelArray) ToModelArrayOutputWithContext(ctx context.Context) ModelArrayOutput

func (ModelArray) ToOutput added in v6.1.0

func (i ModelArray) ToOutput(ctx context.Context) pulumix.Output[[]*Model]

type ModelArrayInput

type ModelArrayInput interface {
	pulumi.Input

	ToModelArrayOutput() ModelArrayOutput
	ToModelArrayOutputWithContext(context.Context) ModelArrayOutput
}

ModelArrayInput is an input type that accepts ModelArray and ModelArrayOutput values. You can construct a concrete instance of `ModelArrayInput` via:

ModelArray{ ModelArgs{...} }

type ModelArrayOutput

type ModelArrayOutput struct{ *pulumi.OutputState }

func (ModelArrayOutput) ElementType

func (ModelArrayOutput) ElementType() reflect.Type

func (ModelArrayOutput) Index

func (ModelArrayOutput) ToModelArrayOutput

func (o ModelArrayOutput) ToModelArrayOutput() ModelArrayOutput

func (ModelArrayOutput) ToModelArrayOutputWithContext

func (o ModelArrayOutput) ToModelArrayOutputWithContext(ctx context.Context) ModelArrayOutput

func (ModelArrayOutput) ToOutput added in v6.1.0

func (o ModelArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Model]

type ModelInput

type ModelInput interface {
	pulumi.Input

	ToModelOutput() ModelOutput
	ToModelOutputWithContext(ctx context.Context) ModelOutput
}

type ModelMap

type ModelMap map[string]ModelInput

func (ModelMap) ElementType

func (ModelMap) ElementType() reflect.Type

func (ModelMap) ToModelMapOutput

func (i ModelMap) ToModelMapOutput() ModelMapOutput

func (ModelMap) ToModelMapOutputWithContext

func (i ModelMap) ToModelMapOutputWithContext(ctx context.Context) ModelMapOutput

func (ModelMap) ToOutput added in v6.1.0

func (i ModelMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Model]

type ModelMapInput

type ModelMapInput interface {
	pulumi.Input

	ToModelMapOutput() ModelMapOutput
	ToModelMapOutputWithContext(context.Context) ModelMapOutput
}

ModelMapInput is an input type that accepts ModelMap and ModelMapOutput values. You can construct a concrete instance of `ModelMapInput` via:

ModelMap{ "key": ModelArgs{...} }

type ModelMapOutput

type ModelMapOutput struct{ *pulumi.OutputState }

func (ModelMapOutput) ElementType

func (ModelMapOutput) ElementType() reflect.Type

func (ModelMapOutput) MapIndex

func (ModelMapOutput) ToModelMapOutput

func (o ModelMapOutput) ToModelMapOutput() ModelMapOutput

func (ModelMapOutput) ToModelMapOutputWithContext

func (o ModelMapOutput) ToModelMapOutputWithContext(ctx context.Context) ModelMapOutput

func (ModelMapOutput) ToOutput added in v6.1.0

func (o ModelMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Model]

type ModelOutput

type ModelOutput struct{ *pulumi.OutputState }

func (ModelOutput) ApiId

func (o ModelOutput) ApiId() pulumi.StringOutput

API identifier.

func (ModelOutput) ContentType

func (o ModelOutput) ContentType() pulumi.StringOutput

The content-type for the model, for example, `application/json`. Must be between 1 and 256 characters in length.

func (ModelOutput) Description

func (o ModelOutput) Description() pulumi.StringPtrOutput

Description of the model. Must be between 1 and 128 characters in length.

func (ModelOutput) ElementType

func (ModelOutput) ElementType() reflect.Type

func (ModelOutput) Name

func (o ModelOutput) Name() pulumi.StringOutput

Name of the model. Must be alphanumeric. Must be between 1 and 128 characters in length.

func (ModelOutput) Schema

func (o ModelOutput) Schema() pulumi.StringOutput

Schema for the model. This should be a [JSON schema draft 4](https://tools.ietf.org/html/draft-zyp-json-schema-04) model. Must be less than or equal to 32768 characters in length.

func (ModelOutput) ToModelOutput

func (o ModelOutput) ToModelOutput() ModelOutput

func (ModelOutput) ToModelOutputWithContext

func (o ModelOutput) ToModelOutputWithContext(ctx context.Context) ModelOutput

func (ModelOutput) ToOutput added in v6.1.0

func (o ModelOutput) ToOutput(ctx context.Context) pulumix.Output[*Model]

type ModelState

type ModelState struct {
	// API identifier.
	ApiId pulumi.StringPtrInput
	// The content-type for the model, for example, `application/json`. Must be between 1 and 256 characters in length.
	ContentType pulumi.StringPtrInput
	// Description of the model. Must be between 1 and 128 characters in length.
	Description pulumi.StringPtrInput
	// Name of the model. Must be alphanumeric. Must be between 1 and 128 characters in length.
	Name pulumi.StringPtrInput
	// Schema for the model. This should be a [JSON schema draft 4](https://tools.ietf.org/html/draft-zyp-json-schema-04) model. Must be less than or equal to 32768 characters in length.
	Schema pulumi.StringPtrInput
}

func (ModelState) ElementType

func (ModelState) ElementType() reflect.Type

type Route

type Route struct {
	pulumi.CustomResourceState

	// API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// Boolean whether an API key is required for the route. Defaults to `false`. Supported only for WebSocket APIs.
	ApiKeyRequired pulumi.BoolPtrOutput `pulumi:"apiKeyRequired"`
	// Authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.
	AuthorizationScopes pulumi.StringArrayOutput `pulumi:"authorizationScopes"`
	// 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, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.
	// Defaults to `NONE`.
	AuthorizationType pulumi.StringPtrOutput `pulumi:"authorizationType"`
	// Identifier of the `apigatewayv2.Authorizer` resource to be associated with this route.
	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. Supported only for WebSocket APIs.
	ModelSelectionExpression pulumi.StringPtrOutput `pulumi:"modelSelectionExpression"`
	// Operation name for the route. Must be between 1 and 64 characters in length.
	OperationName pulumi.StringPtrOutput `pulumi:"operationName"`
	// Request models for the route. Supported only for WebSocket APIs.
	RequestModels pulumi.StringMapOutput `pulumi:"requestModels"`
	// Request parameters for the route. Supported only for WebSocket APIs.
	RequestParameters RouteRequestParameterArrayOutput `pulumi:"requestParameters"`
	// Route key for the route. For HTTP APIs, the route key can be either `$default`, or a combination of an HTTP method and resource path, for example, `GET /pets`.
	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. Supported only for WebSocket APIs.
	RouteResponseSelectionExpression pulumi.StringPtrOutput `pulumi:"routeResponseSelectionExpression"`
	// Target for the route, of the form `integrations/`*`IntegrationID`*, where *`IntegrationID`* is the identifier of an `apigatewayv2.Integration` resource.
	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/welcome.html) for [WebSocket](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-develop-routes.html) and [HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html) APIs.

## Example Usage ### Basic

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleApi, err := apigatewayv2.NewApi(ctx, "exampleApi", &apigatewayv2.ApiArgs{
			ProtocolType:             pulumi.String("WEBSOCKET"),
			RouteSelectionExpression: pulumi.String("$request.body.action"),
		})
		if err != nil {
			return err
		}
		_, err = apigatewayv2.NewRoute(ctx, "exampleRoute", &apigatewayv2.RouteArgs{
			ApiId:    exampleApi.ID(),
			RouteKey: pulumi.String("$default"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### HTTP Proxy Integration

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleApi, err := apigatewayv2.NewApi(ctx, "exampleApi", &apigatewayv2.ApiArgs{
			ProtocolType: pulumi.String("HTTP"),
		})
		if err != nil {
			return err
		}
		exampleIntegration, err := apigatewayv2.NewIntegration(ctx, "exampleIntegration", &apigatewayv2.IntegrationArgs{
			ApiId:             exampleApi.ID(),
			IntegrationType:   pulumi.String("HTTP_PROXY"),
			IntegrationMethod: pulumi.String("ANY"),
			IntegrationUri:    pulumi.String("https://example.com/{proxy}"),
		})
		if err != nil {
			return err
		}
		_, err = apigatewayv2.NewRoute(ctx, "exampleRoute", &apigatewayv2.RouteArgs{
			ApiId:    exampleApi.ID(),
			RouteKey: pulumi.String("ANY /example/{proxy+}"),
			Target: exampleIntegration.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("integrations/%v", id), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_route` using the API identifier and route identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/route:Route example aabbccddee/1122334

```

-> __Note:__ The API Gateway managed route created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.

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.

func (*Route) ElementType

func (*Route) ElementType() reflect.Type

func (*Route) ToOutput added in v6.1.0

func (i *Route) ToOutput(ctx context.Context) pulumix.Output[*Route]

func (*Route) ToRouteOutput

func (i *Route) ToRouteOutput() RouteOutput

func (*Route) ToRouteOutputWithContext

func (i *Route) ToRouteOutputWithContext(ctx context.Context) RouteOutput

type RouteArgs

type RouteArgs struct {
	// API identifier.
	ApiId pulumi.StringInput
	// Boolean whether an API key is required for the route. Defaults to `false`. Supported only for WebSocket APIs.
	ApiKeyRequired pulumi.BoolPtrInput
	// Authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.
	AuthorizationScopes pulumi.StringArrayInput
	// 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, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.
	// Defaults to `NONE`.
	AuthorizationType pulumi.StringPtrInput
	// Identifier of the `apigatewayv2.Authorizer` resource to be associated with this route.
	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. Supported only for WebSocket APIs.
	ModelSelectionExpression pulumi.StringPtrInput
	// Operation name for the route. Must be between 1 and 64 characters in length.
	OperationName pulumi.StringPtrInput
	// Request models for the route. Supported only for WebSocket APIs.
	RequestModels pulumi.StringMapInput
	// Request parameters for the route. Supported only for WebSocket APIs.
	RequestParameters RouteRequestParameterArrayInput
	// Route key for the route. For HTTP APIs, the route key can be either `$default`, or a combination of an HTTP method and resource path, for example, `GET /pets`.
	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. Supported only for WebSocket APIs.
	RouteResponseSelectionExpression pulumi.StringPtrInput
	// Target for the route, of the form `integrations/`*`IntegrationID`*, where *`IntegrationID`* is the identifier of an `apigatewayv2.Integration` resource.
	Target pulumi.StringPtrInput
}

The set of arguments for constructing a Route resource.

func (RouteArgs) ElementType

func (RouteArgs) ElementType() reflect.Type

type RouteArray

type RouteArray []RouteInput

func (RouteArray) ElementType

func (RouteArray) ElementType() reflect.Type

func (RouteArray) ToOutput added in v6.1.0

func (i RouteArray) ToOutput(ctx context.Context) pulumix.Output[[]*Route]

func (RouteArray) ToRouteArrayOutput

func (i RouteArray) ToRouteArrayOutput() RouteArrayOutput

func (RouteArray) ToRouteArrayOutputWithContext

func (i RouteArray) ToRouteArrayOutputWithContext(ctx context.Context) RouteArrayOutput

type RouteArrayInput

type RouteArrayInput interface {
	pulumi.Input

	ToRouteArrayOutput() RouteArrayOutput
	ToRouteArrayOutputWithContext(context.Context) RouteArrayOutput
}

RouteArrayInput is an input type that accepts RouteArray and RouteArrayOutput values. You can construct a concrete instance of `RouteArrayInput` via:

RouteArray{ RouteArgs{...} }

type RouteArrayOutput

type RouteArrayOutput struct{ *pulumi.OutputState }

func (RouteArrayOutput) ElementType

func (RouteArrayOutput) ElementType() reflect.Type

func (RouteArrayOutput) Index

func (RouteArrayOutput) ToOutput added in v6.1.0

func (o RouteArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Route]

func (RouteArrayOutput) ToRouteArrayOutput

func (o RouteArrayOutput) ToRouteArrayOutput() RouteArrayOutput

func (RouteArrayOutput) ToRouteArrayOutputWithContext

func (o RouteArrayOutput) ToRouteArrayOutputWithContext(ctx context.Context) RouteArrayOutput

type RouteInput

type RouteInput interface {
	pulumi.Input

	ToRouteOutput() RouteOutput
	ToRouteOutputWithContext(ctx context.Context) RouteOutput
}

type RouteMap

type RouteMap map[string]RouteInput

func (RouteMap) ElementType

func (RouteMap) ElementType() reflect.Type

func (RouteMap) ToOutput added in v6.1.0

func (i RouteMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Route]

func (RouteMap) ToRouteMapOutput

func (i RouteMap) ToRouteMapOutput() RouteMapOutput

func (RouteMap) ToRouteMapOutputWithContext

func (i RouteMap) ToRouteMapOutputWithContext(ctx context.Context) RouteMapOutput

type RouteMapInput

type RouteMapInput interface {
	pulumi.Input

	ToRouteMapOutput() RouteMapOutput
	ToRouteMapOutputWithContext(context.Context) RouteMapOutput
}

RouteMapInput is an input type that accepts RouteMap and RouteMapOutput values. You can construct a concrete instance of `RouteMapInput` via:

RouteMap{ "key": RouteArgs{...} }

type RouteMapOutput

type RouteMapOutput struct{ *pulumi.OutputState }

func (RouteMapOutput) ElementType

func (RouteMapOutput) ElementType() reflect.Type

func (RouteMapOutput) MapIndex

func (RouteMapOutput) ToOutput added in v6.1.0

func (o RouteMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Route]

func (RouteMapOutput) ToRouteMapOutput

func (o RouteMapOutput) ToRouteMapOutput() RouteMapOutput

func (RouteMapOutput) ToRouteMapOutputWithContext

func (o RouteMapOutput) ToRouteMapOutputWithContext(ctx context.Context) RouteMapOutput

type RouteOutput

type RouteOutput struct{ *pulumi.OutputState }

func (RouteOutput) ApiId

func (o RouteOutput) ApiId() pulumi.StringOutput

API identifier.

func (RouteOutput) ApiKeyRequired

func (o RouteOutput) ApiKeyRequired() pulumi.BoolPtrOutput

Boolean whether an API key is required for the route. Defaults to `false`. Supported only for WebSocket APIs.

func (RouteOutput) AuthorizationScopes

func (o RouteOutput) AuthorizationScopes() pulumi.StringArrayOutput

Authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.

func (RouteOutput) AuthorizationType

func (o RouteOutput) AuthorizationType() pulumi.StringPtrOutput

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, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer. Defaults to `NONE`.

func (RouteOutput) AuthorizerId

func (o RouteOutput) AuthorizerId() pulumi.StringPtrOutput

Identifier of the `apigatewayv2.Authorizer` resource to be associated with this route.

func (RouteOutput) ElementType

func (RouteOutput) ElementType() reflect.Type

func (RouteOutput) OperationName

func (o RouteOutput) OperationName() pulumi.StringPtrOutput

Operation name for the route. Must be between 1 and 64 characters in length.

func (RouteOutput) RequestModels

func (o RouteOutput) RequestModels() pulumi.StringMapOutput

Request models for the route. Supported only for WebSocket APIs.

func (RouteOutput) RequestParameters

func (o RouteOutput) RequestParameters() RouteRequestParameterArrayOutput

Request parameters for the route. Supported only for WebSocket APIs.

func (RouteOutput) RouteKey

func (o RouteOutput) RouteKey() pulumi.StringOutput

Route key for the route. For HTTP APIs, the route key can be either `$default`, or a combination of an HTTP method and resource path, for example, `GET /pets`.

func (RouteOutput) RouteResponseSelectionExpression

func (o RouteOutput) RouteResponseSelectionExpression() pulumi.StringPtrOutput

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. Supported only for WebSocket APIs.

func (RouteOutput) Target

func (o RouteOutput) Target() pulumi.StringPtrOutput

Target for the route, of the form `integrations/`*`IntegrationID`*, where *`IntegrationID`* is the identifier of an `apigatewayv2.Integration` resource.

func (RouteOutput) ToOutput added in v6.1.0

func (o RouteOutput) ToOutput(ctx context.Context) pulumix.Output[*Route]

func (RouteOutput) ToRouteOutput

func (o RouteOutput) ToRouteOutput() RouteOutput

func (RouteOutput) ToRouteOutputWithContext

func (o RouteOutput) ToRouteOutputWithContext(ctx context.Context) RouteOutput

type RouteRequestParameter

type RouteRequestParameter struct {
	// Request parameter key. This is a [request data mapping parameter](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-data-mapping.html#websocket-mapping-request-parameters).
	RequestParameterKey string `pulumi:"requestParameterKey"`
	// Boolean whether or not the parameter is required.
	Required bool `pulumi:"required"`
}

type RouteRequestParameterArgs

type RouteRequestParameterArgs struct {
	// Request parameter key. This is a [request data mapping parameter](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-data-mapping.html#websocket-mapping-request-parameters).
	RequestParameterKey pulumi.StringInput `pulumi:"requestParameterKey"`
	// Boolean whether or not the parameter is required.
	Required pulumi.BoolInput `pulumi:"required"`
}

func (RouteRequestParameterArgs) ElementType

func (RouteRequestParameterArgs) ElementType() reflect.Type

func (RouteRequestParameterArgs) ToOutput added in v6.1.0

func (RouteRequestParameterArgs) ToRouteRequestParameterOutput

func (i RouteRequestParameterArgs) ToRouteRequestParameterOutput() RouteRequestParameterOutput

func (RouteRequestParameterArgs) ToRouteRequestParameterOutputWithContext

func (i RouteRequestParameterArgs) ToRouteRequestParameterOutputWithContext(ctx context.Context) RouteRequestParameterOutput

type RouteRequestParameterArray

type RouteRequestParameterArray []RouteRequestParameterInput

func (RouteRequestParameterArray) ElementType

func (RouteRequestParameterArray) ElementType() reflect.Type

func (RouteRequestParameterArray) ToOutput added in v6.1.0

func (RouteRequestParameterArray) ToRouteRequestParameterArrayOutput

func (i RouteRequestParameterArray) ToRouteRequestParameterArrayOutput() RouteRequestParameterArrayOutput

func (RouteRequestParameterArray) ToRouteRequestParameterArrayOutputWithContext

func (i RouteRequestParameterArray) ToRouteRequestParameterArrayOutputWithContext(ctx context.Context) RouteRequestParameterArrayOutput

type RouteRequestParameterArrayInput

type RouteRequestParameterArrayInput interface {
	pulumi.Input

	ToRouteRequestParameterArrayOutput() RouteRequestParameterArrayOutput
	ToRouteRequestParameterArrayOutputWithContext(context.Context) RouteRequestParameterArrayOutput
}

RouteRequestParameterArrayInput is an input type that accepts RouteRequestParameterArray and RouteRequestParameterArrayOutput values. You can construct a concrete instance of `RouteRequestParameterArrayInput` via:

RouteRequestParameterArray{ RouteRequestParameterArgs{...} }

type RouteRequestParameterArrayOutput

type RouteRequestParameterArrayOutput struct{ *pulumi.OutputState }

func (RouteRequestParameterArrayOutput) ElementType

func (RouteRequestParameterArrayOutput) Index

func (RouteRequestParameterArrayOutput) ToOutput added in v6.1.0

func (RouteRequestParameterArrayOutput) ToRouteRequestParameterArrayOutput

func (o RouteRequestParameterArrayOutput) ToRouteRequestParameterArrayOutput() RouteRequestParameterArrayOutput

func (RouteRequestParameterArrayOutput) ToRouteRequestParameterArrayOutputWithContext

func (o RouteRequestParameterArrayOutput) ToRouteRequestParameterArrayOutputWithContext(ctx context.Context) RouteRequestParameterArrayOutput

type RouteRequestParameterInput

type RouteRequestParameterInput interface {
	pulumi.Input

	ToRouteRequestParameterOutput() RouteRequestParameterOutput
	ToRouteRequestParameterOutputWithContext(context.Context) RouteRequestParameterOutput
}

RouteRequestParameterInput is an input type that accepts RouteRequestParameterArgs and RouteRequestParameterOutput values. You can construct a concrete instance of `RouteRequestParameterInput` via:

RouteRequestParameterArgs{...}

type RouteRequestParameterOutput

type RouteRequestParameterOutput struct{ *pulumi.OutputState }

func (RouteRequestParameterOutput) ElementType

func (RouteRequestParameterOutput) RequestParameterKey

func (o RouteRequestParameterOutput) RequestParameterKey() pulumi.StringOutput

Request parameter key. This is a [request data mapping parameter](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-data-mapping.html#websocket-mapping-request-parameters).

func (RouteRequestParameterOutput) Required

Boolean whether or not the parameter is required.

func (RouteRequestParameterOutput) ToOutput added in v6.1.0

func (RouteRequestParameterOutput) ToRouteRequestParameterOutput

func (o RouteRequestParameterOutput) ToRouteRequestParameterOutput() RouteRequestParameterOutput

func (RouteRequestParameterOutput) ToRouteRequestParameterOutputWithContext

func (o RouteRequestParameterOutput) ToRouteRequestParameterOutputWithContext(ctx context.Context) RouteRequestParameterOutput

type RouteResponse

type RouteResponse struct {
	pulumi.CustomResourceState

	// 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"`
	// Response models for the route response.
	ResponseModels pulumi.StringMapOutput `pulumi:"responseModels"`
	// Identifier of the `apigatewayv2.Route`.
	RouteId pulumi.StringOutput `pulumi:"routeId"`
	// 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 (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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("$default"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_route_response` using the API identifier, route identifier and route response identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/routeResponse:RouteResponse example aabbccddee/1122334/998877

```

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.

func (*RouteResponse) ElementType

func (*RouteResponse) ElementType() reflect.Type

func (*RouteResponse) ToOutput added in v6.1.0

func (*RouteResponse) ToRouteResponseOutput

func (i *RouteResponse) ToRouteResponseOutput() RouteResponseOutput

func (*RouteResponse) ToRouteResponseOutputWithContext

func (i *RouteResponse) ToRouteResponseOutputWithContext(ctx context.Context) RouteResponseOutput

type RouteResponseArgs

type RouteResponseArgs struct {
	// 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
	// Response models for the route response.
	ResponseModels pulumi.StringMapInput
	// Identifier of the `apigatewayv2.Route`.
	RouteId pulumi.StringInput
	// Route response key.
	RouteResponseKey pulumi.StringInput
}

The set of arguments for constructing a RouteResponse resource.

func (RouteResponseArgs) ElementType

func (RouteResponseArgs) ElementType() reflect.Type

type RouteResponseArray

type RouteResponseArray []RouteResponseInput

func (RouteResponseArray) ElementType

func (RouteResponseArray) ElementType() reflect.Type

func (RouteResponseArray) ToOutput added in v6.1.0

func (RouteResponseArray) ToRouteResponseArrayOutput

func (i RouteResponseArray) ToRouteResponseArrayOutput() RouteResponseArrayOutput

func (RouteResponseArray) ToRouteResponseArrayOutputWithContext

func (i RouteResponseArray) ToRouteResponseArrayOutputWithContext(ctx context.Context) RouteResponseArrayOutput

type RouteResponseArrayInput

type RouteResponseArrayInput interface {
	pulumi.Input

	ToRouteResponseArrayOutput() RouteResponseArrayOutput
	ToRouteResponseArrayOutputWithContext(context.Context) RouteResponseArrayOutput
}

RouteResponseArrayInput is an input type that accepts RouteResponseArray and RouteResponseArrayOutput values. You can construct a concrete instance of `RouteResponseArrayInput` via:

RouteResponseArray{ RouteResponseArgs{...} }

type RouteResponseArrayOutput

type RouteResponseArrayOutput struct{ *pulumi.OutputState }

func (RouteResponseArrayOutput) ElementType

func (RouteResponseArrayOutput) ElementType() reflect.Type

func (RouteResponseArrayOutput) Index

func (RouteResponseArrayOutput) ToOutput added in v6.1.0

func (RouteResponseArrayOutput) ToRouteResponseArrayOutput

func (o RouteResponseArrayOutput) ToRouteResponseArrayOutput() RouteResponseArrayOutput

func (RouteResponseArrayOutput) ToRouteResponseArrayOutputWithContext

func (o RouteResponseArrayOutput) ToRouteResponseArrayOutputWithContext(ctx context.Context) RouteResponseArrayOutput

type RouteResponseInput

type RouteResponseInput interface {
	pulumi.Input

	ToRouteResponseOutput() RouteResponseOutput
	ToRouteResponseOutputWithContext(ctx context.Context) RouteResponseOutput
}

type RouteResponseMap

type RouteResponseMap map[string]RouteResponseInput

func (RouteResponseMap) ElementType

func (RouteResponseMap) ElementType() reflect.Type

func (RouteResponseMap) ToOutput added in v6.1.0

func (RouteResponseMap) ToRouteResponseMapOutput

func (i RouteResponseMap) ToRouteResponseMapOutput() RouteResponseMapOutput

func (RouteResponseMap) ToRouteResponseMapOutputWithContext

func (i RouteResponseMap) ToRouteResponseMapOutputWithContext(ctx context.Context) RouteResponseMapOutput

type RouteResponseMapInput

type RouteResponseMapInput interface {
	pulumi.Input

	ToRouteResponseMapOutput() RouteResponseMapOutput
	ToRouteResponseMapOutputWithContext(context.Context) RouteResponseMapOutput
}

RouteResponseMapInput is an input type that accepts RouteResponseMap and RouteResponseMapOutput values. You can construct a concrete instance of `RouteResponseMapInput` via:

RouteResponseMap{ "key": RouteResponseArgs{...} }

type RouteResponseMapOutput

type RouteResponseMapOutput struct{ *pulumi.OutputState }

func (RouteResponseMapOutput) ElementType

func (RouteResponseMapOutput) ElementType() reflect.Type

func (RouteResponseMapOutput) MapIndex

func (RouteResponseMapOutput) ToOutput added in v6.1.0

func (RouteResponseMapOutput) ToRouteResponseMapOutput

func (o RouteResponseMapOutput) ToRouteResponseMapOutput() RouteResponseMapOutput

func (RouteResponseMapOutput) ToRouteResponseMapOutputWithContext

func (o RouteResponseMapOutput) ToRouteResponseMapOutputWithContext(ctx context.Context) RouteResponseMapOutput

type RouteResponseOutput

type RouteResponseOutput struct{ *pulumi.OutputState }

func (RouteResponseOutput) ApiId

API identifier.

func (RouteResponseOutput) ElementType

func (RouteResponseOutput) ElementType() reflect.Type

func (RouteResponseOutput) ResponseModels

func (o RouteResponseOutput) ResponseModels() pulumi.StringMapOutput

Response models for the route response.

func (RouteResponseOutput) RouteId

Identifier of the `apigatewayv2.Route`.

func (RouteResponseOutput) RouteResponseKey

func (o RouteResponseOutput) RouteResponseKey() pulumi.StringOutput

Route response key.

func (RouteResponseOutput) ToOutput added in v6.1.0

func (RouteResponseOutput) ToRouteResponseOutput

func (o RouteResponseOutput) ToRouteResponseOutput() RouteResponseOutput

func (RouteResponseOutput) ToRouteResponseOutputWithContext

func (o RouteResponseOutput) ToRouteResponseOutputWithContext(ctx context.Context) RouteResponseOutput

type RouteResponseState

type RouteResponseState struct {
	// 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
	// Response models for the route response.
	ResponseModels pulumi.StringMapInput
	// Identifier of the `apigatewayv2.Route`.
	RouteId pulumi.StringPtrInput
	// Route response key.
	RouteResponseKey pulumi.StringPtrInput
}

func (RouteResponseState) ElementType

func (RouteResponseState) ElementType() reflect.Type

type RouteState

type RouteState struct {
	// API identifier.
	ApiId pulumi.StringPtrInput
	// Boolean whether an API key is required for the route. Defaults to `false`. Supported only for WebSocket APIs.
	ApiKeyRequired pulumi.BoolPtrInput
	// Authorization scopes supported by this route. The scopes are used with a JWT authorizer to authorize the method invocation.
	AuthorizationScopes pulumi.StringArrayInput
	// 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, `JWT` for using JSON Web Tokens, `AWS_IAM` for using AWS IAM permissions, and `CUSTOM` for using a Lambda authorizer.
	// Defaults to `NONE`.
	AuthorizationType pulumi.StringPtrInput
	// Identifier of the `apigatewayv2.Authorizer` resource to be associated with this route.
	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. Supported only for WebSocket APIs.
	ModelSelectionExpression pulumi.StringPtrInput
	// Operation name for the route. Must be between 1 and 64 characters in length.
	OperationName pulumi.StringPtrInput
	// Request models for the route. Supported only for WebSocket APIs.
	RequestModels pulumi.StringMapInput
	// Request parameters for the route. Supported only for WebSocket APIs.
	RequestParameters RouteRequestParameterArrayInput
	// Route key for the route. For HTTP APIs, the route key can be either `$default`, or a combination of an HTTP method and resource path, for example, `GET /pets`.
	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. Supported only for WebSocket APIs.
	RouteResponseSelectionExpression pulumi.StringPtrInput
	// Target for the route, of the form `integrations/`*`IntegrationID`*, where *`IntegrationID`* is the identifier of an `apigatewayv2.Integration` resource.
	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"`
	// API identifier.
	ApiId pulumi.StringOutput `pulumi:"apiId"`
	// ARN of the stage.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether updates to an API automatically trigger a new deployment. Defaults to `false`. Applicable for HTTP APIs.
	AutoDeploy pulumi.BoolPtrOutput `pulumi:"autoDeploy"`
	// 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"`
	// Default route settings for the stage.
	DefaultRouteSettings StageDefaultRouteSettingsPtrOutput `pulumi:"defaultRouteSettings"`
	// Deployment identifier of the stage. Use the `apigatewayv2.Deployment` resource to configure a deployment.
	DeploymentId pulumi.StringOutput `pulumi:"deploymentId"`
	// Description for the stage. Must be less than or equal to 1024 characters in length.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// ARN prefix to be used in an `lambda.Permission`'s `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"`
	// 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"`
	// Name of the stage. Must be between 1 and 128 characters in length.
	//
	// The following arguments are optional:
	Name pulumi.StringOutput `pulumi:"name"`
	// Route settings for the stage.
	RouteSettings StageRouteSettingArrayOutput `pulumi:"routeSettings"`
	// Map that defines the stage variables for the stage.
	StageVariables pulumi.StringMapOutput `pulumi:"stageVariables"`
	// Map of tags to assign to the stage. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_stage` using the API identifier and stage name. For example:

```sh

$ pulumi import aws:apigatewayv2/stage:Stage example aabbccddee/example-stage

```

-> __Note:__ The API Gateway managed stage created as part of [_quick_create_](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-basic-concept.html#apigateway-definition-quick-create) cannot be imported.

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.

func (*Stage) ElementType

func (*Stage) ElementType() reflect.Type

func (*Stage) ToOutput added in v6.1.0

func (i *Stage) ToOutput(ctx context.Context) pulumix.Output[*Stage]

func (*Stage) ToStageOutput

func (i *Stage) ToStageOutput() StageOutput

func (*Stage) ToStageOutputWithContext

func (i *Stage) ToStageOutputWithContext(ctx context.Context) StageOutput

type StageAccessLogSettings

type StageAccessLogSettings struct {
	// ARN of the CloudWatch Logs log group to receive access logs. Any trailing `:*` is trimmed from the ARN.
	DestinationArn string `pulumi:"destinationArn"`
	// 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. Refer to log settings for [HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-logging-variables.html) or [Websocket](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-logging.html).
	Format string `pulumi:"format"`
}

type StageAccessLogSettingsArgs

type StageAccessLogSettingsArgs struct {
	// ARN of the CloudWatch Logs log group to receive access logs. Any trailing `:*` is trimmed from the ARN.
	DestinationArn pulumi.StringInput `pulumi:"destinationArn"`
	// 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. Refer to log settings for [HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-logging-variables.html) or [Websocket](https://docs.aws.amazon.com/apigateway/latest/developerguide/websocket-api-logging.html).
	Format pulumi.StringInput `pulumi:"format"`
}

func (StageAccessLogSettingsArgs) ElementType

func (StageAccessLogSettingsArgs) ElementType() reflect.Type

func (StageAccessLogSettingsArgs) ToOutput added in v6.1.0

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

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

func (StageAccessLogSettingsOutput) ElementType

func (StageAccessLogSettingsOutput) ToOutput added in v6.1.0

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

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) ToOutput added in v6.1.0

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
	// API identifier.
	ApiId pulumi.StringInput
	// Whether updates to an API automatically trigger a new deployment. Defaults to `false`. Applicable for HTTP APIs.
	AutoDeploy pulumi.BoolPtrInput
	// 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
	// Default route settings for the stage.
	DefaultRouteSettings StageDefaultRouteSettingsPtrInput
	// Deployment identifier of the stage. Use the `apigatewayv2.Deployment` resource to configure a deployment.
	DeploymentId pulumi.StringPtrInput
	// Description for the stage. Must be less than or equal to 1024 characters in length.
	Description pulumi.StringPtrInput
	// Name of the stage. Must be between 1 and 128 characters in length.
	//
	// The following arguments are optional:
	Name pulumi.StringPtrInput
	// Route settings for the stage.
	RouteSettings StageRouteSettingArrayInput
	// Map that defines the stage variables for the stage.
	StageVariables pulumi.StringMapInput
	// Map of tags to assign to the stage. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Stage resource.

func (StageArgs) ElementType

func (StageArgs) ElementType() reflect.Type

type StageArray

type StageArray []StageInput

func (StageArray) ElementType

func (StageArray) ElementType() reflect.Type

func (StageArray) ToOutput added in v6.1.0

func (i StageArray) ToOutput(ctx context.Context) pulumix.Output[[]*Stage]

func (StageArray) ToStageArrayOutput

func (i StageArray) ToStageArrayOutput() StageArrayOutput

func (StageArray) ToStageArrayOutputWithContext

func (i StageArray) ToStageArrayOutputWithContext(ctx context.Context) StageArrayOutput

type StageArrayInput

type StageArrayInput interface {
	pulumi.Input

	ToStageArrayOutput() StageArrayOutput
	ToStageArrayOutputWithContext(context.Context) StageArrayOutput
}

StageArrayInput is an input type that accepts StageArray and StageArrayOutput values. You can construct a concrete instance of `StageArrayInput` via:

StageArray{ StageArgs{...} }

type StageArrayOutput

type StageArrayOutput struct{ *pulumi.OutputState }

func (StageArrayOutput) ElementType

func (StageArrayOutput) ElementType() reflect.Type

func (StageArrayOutput) Index

func (StageArrayOutput) ToOutput added in v6.1.0

func (o StageArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Stage]

func (StageArrayOutput) ToStageArrayOutput

func (o StageArrayOutput) ToStageArrayOutput() StageArrayOutput

func (StageArrayOutput) ToStageArrayOutputWithContext

func (o StageArrayOutput) ToStageArrayOutputWithContext(ctx context.Context) StageArrayOutput

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"`
	// 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"`
	// Throttling burst limit for the default route.
	ThrottlingBurstLimit *int `pulumi:"throttlingBurstLimit"`
	// 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"`
	// 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"`
	// Throttling burst limit for the default route.
	ThrottlingBurstLimit pulumi.IntPtrInput `pulumi:"throttlingBurstLimit"`
	// Throttling rate limit for the default route.
	ThrottlingRateLimit pulumi.Float64PtrInput `pulumi:"throttlingRateLimit"`
}

func (StageDefaultRouteSettingsArgs) ElementType

func (StageDefaultRouteSettingsArgs) ToOutput added in v6.1.0

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

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

Throttling burst limit for the default route.

func (StageDefaultRouteSettingsOutput) ThrottlingRateLimit

Throttling rate limit for the default route.

func (StageDefaultRouteSettingsOutput) ToOutput added in v6.1.0

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

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

Throttling burst limit for the default route.

func (StageDefaultRouteSettingsPtrOutput) ThrottlingRateLimit

Throttling rate limit for the default route.

func (StageDefaultRouteSettingsPtrOutput) ToOutput added in v6.1.0

func (StageDefaultRouteSettingsPtrOutput) ToStageDefaultRouteSettingsPtrOutput

func (o StageDefaultRouteSettingsPtrOutput) ToStageDefaultRouteSettingsPtrOutput() StageDefaultRouteSettingsPtrOutput

func (StageDefaultRouteSettingsPtrOutput) ToStageDefaultRouteSettingsPtrOutputWithContext

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

type StageInput

type StageInput interface {
	pulumi.Input

	ToStageOutput() StageOutput
	ToStageOutputWithContext(ctx context.Context) StageOutput
}

type StageMap

type StageMap map[string]StageInput

func (StageMap) ElementType

func (StageMap) ElementType() reflect.Type

func (StageMap) ToOutput added in v6.1.0

func (i StageMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Stage]

func (StageMap) ToStageMapOutput

func (i StageMap) ToStageMapOutput() StageMapOutput

func (StageMap) ToStageMapOutputWithContext

func (i StageMap) ToStageMapOutputWithContext(ctx context.Context) StageMapOutput

type StageMapInput

type StageMapInput interface {
	pulumi.Input

	ToStageMapOutput() StageMapOutput
	ToStageMapOutputWithContext(context.Context) StageMapOutput
}

StageMapInput is an input type that accepts StageMap and StageMapOutput values. You can construct a concrete instance of `StageMapInput` via:

StageMap{ "key": StageArgs{...} }

type StageMapOutput

type StageMapOutput struct{ *pulumi.OutputState }

func (StageMapOutput) ElementType

func (StageMapOutput) ElementType() reflect.Type

func (StageMapOutput) MapIndex

func (StageMapOutput) ToOutput added in v6.1.0

func (o StageMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Stage]

func (StageMapOutput) ToStageMapOutput

func (o StageMapOutput) ToStageMapOutput() StageMapOutput

func (StageMapOutput) ToStageMapOutputWithContext

func (o StageMapOutput) ToStageMapOutputWithContext(ctx context.Context) StageMapOutput

type StageOutput

type StageOutput struct{ *pulumi.OutputState }

func (StageOutput) AccessLogSettings

func (o StageOutput) AccessLogSettings() StageAccessLogSettingsPtrOutput

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

func (StageOutput) ApiId

func (o StageOutput) ApiId() pulumi.StringOutput

API identifier.

func (StageOutput) Arn

ARN of the stage.

func (StageOutput) AutoDeploy

func (o StageOutput) AutoDeploy() pulumi.BoolPtrOutput

Whether updates to an API automatically trigger a new deployment. Defaults to `false`. Applicable for HTTP APIs.

func (StageOutput) ClientCertificateId

func (o StageOutput) ClientCertificateId() pulumi.StringPtrOutput

Identifier of a client certificate for the stage. Use the `apigateway.ClientCertificate` resource to configure a client certificate. Supported only for WebSocket APIs.

func (StageOutput) DefaultRouteSettings

func (o StageOutput) DefaultRouteSettings() StageDefaultRouteSettingsPtrOutput

Default route settings for the stage.

func (StageOutput) DeploymentId

func (o StageOutput) DeploymentId() pulumi.StringOutput

Deployment identifier of the stage. Use the `apigatewayv2.Deployment` resource to configure a deployment.

func (StageOutput) Description

func (o StageOutput) Description() pulumi.StringPtrOutput

Description for the stage. Must be less than or equal to 1024 characters in length.

func (StageOutput) ElementType

func (StageOutput) ElementType() reflect.Type

func (StageOutput) ExecutionArn

func (o StageOutput) ExecutionArn() pulumi.StringOutput

ARN prefix to be used in an `lambda.Permission`'s `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.

func (StageOutput) InvokeUrl

func (o StageOutput) InvokeUrl() pulumi.StringOutput

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/`

func (StageOutput) Name

func (o StageOutput) Name() pulumi.StringOutput

Name of the stage. Must be between 1 and 128 characters in length.

The following arguments are optional:

func (StageOutput) RouteSettings

func (o StageOutput) RouteSettings() StageRouteSettingArrayOutput

Route settings for the stage.

func (StageOutput) StageVariables

func (o StageOutput) StageVariables() pulumi.StringMapOutput

Map that defines the stage variables for the stage.

func (StageOutput) Tags

Map of tags to assign to the stage. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (StageOutput) TagsAll

func (o StageOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (StageOutput) ToOutput added in v6.1.0

func (o StageOutput) ToOutput(ctx context.Context) pulumix.Output[*Stage]

func (StageOutput) ToStageOutput

func (o StageOutput) ToStageOutput() StageOutput

func (StageOutput) ToStageOutputWithContext

func (o StageOutput) ToStageOutputWithContext(ctx context.Context) StageOutput

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"`
	// 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"`
	// Throttling burst limit for the route.
	ThrottlingBurstLimit *int `pulumi:"throttlingBurstLimit"`
	// 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"`
	// 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"`
	// Throttling burst limit for the route.
	ThrottlingBurstLimit pulumi.IntPtrInput `pulumi:"throttlingBurstLimit"`
	// Throttling rate limit for the route.
	ThrottlingRateLimit pulumi.Float64PtrInput `pulumi:"throttlingRateLimit"`
}

func (StageRouteSettingArgs) ElementType

func (StageRouteSettingArgs) ElementType() reflect.Type

func (StageRouteSettingArgs) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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) ToOutput added in v6.1.0

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

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

Throttling burst limit for the route.

func (StageRouteSettingOutput) ThrottlingRateLimit

func (o StageRouteSettingOutput) ThrottlingRateLimit() pulumi.Float64PtrOutput

Throttling rate limit for the route.

func (StageRouteSettingOutput) ToOutput added in v6.1.0

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
	// API identifier.
	ApiId pulumi.StringPtrInput
	// ARN of the stage.
	Arn pulumi.StringPtrInput
	// Whether updates to an API automatically trigger a new deployment. Defaults to `false`. Applicable for HTTP APIs.
	AutoDeploy pulumi.BoolPtrInput
	// 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
	// Default route settings for the stage.
	DefaultRouteSettings StageDefaultRouteSettingsPtrInput
	// Deployment identifier of the stage. Use the `apigatewayv2.Deployment` resource to configure a deployment.
	DeploymentId pulumi.StringPtrInput
	// Description for the stage. Must be less than or equal to 1024 characters in length.
	Description pulumi.StringPtrInput
	// ARN prefix to be used in an `lambda.Permission`'s `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
	// 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
	// Name of the stage. Must be between 1 and 128 characters in length.
	//
	// The following arguments are optional:
	Name pulumi.StringPtrInput
	// Route settings for the stage.
	RouteSettings StageRouteSettingArrayInput
	// Map that defines the stage variables for the stage.
	StageVariables pulumi.StringMapInput
	// Map of tags to assign to the stage. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (StageState) ElementType

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

	// VPC Link ARN.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Name of the VPC Link. Must be between 1 and 128 characters in length.
	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"`
	// Map of tags to assign to the VPC Link. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## Import

Using `pulumi import`, import `aws_apigatewayv2_vpc_link` using the VPC Link identifier. For example:

```sh

$ pulumi import aws:apigatewayv2/vpcLink:VpcLink example aabbccddee

```

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.

func (*VpcLink) ElementType

func (*VpcLink) ElementType() reflect.Type

func (*VpcLink) ToOutput added in v6.1.0

func (i *VpcLink) ToOutput(ctx context.Context) pulumix.Output[*VpcLink]

func (*VpcLink) ToVpcLinkOutput

func (i *VpcLink) ToVpcLinkOutput() VpcLinkOutput

func (*VpcLink) ToVpcLinkOutputWithContext

func (i *VpcLink) ToVpcLinkOutputWithContext(ctx context.Context) VpcLinkOutput

type VpcLinkArgs

type VpcLinkArgs struct {
	// Name of the VPC Link. Must be between 1 and 128 characters in length.
	Name pulumi.StringPtrInput
	// Security group IDs for the VPC Link.
	SecurityGroupIds pulumi.StringArrayInput
	// Subnet IDs for the VPC Link.
	SubnetIds pulumi.StringArrayInput
	// Map of tags to assign to the VPC Link. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a VpcLink resource.

func (VpcLinkArgs) ElementType

func (VpcLinkArgs) ElementType() reflect.Type

type VpcLinkArray

type VpcLinkArray []VpcLinkInput

func (VpcLinkArray) ElementType

func (VpcLinkArray) ElementType() reflect.Type

func (VpcLinkArray) ToOutput added in v6.1.0

func (i VpcLinkArray) ToOutput(ctx context.Context) pulumix.Output[[]*VpcLink]

func (VpcLinkArray) ToVpcLinkArrayOutput

func (i VpcLinkArray) ToVpcLinkArrayOutput() VpcLinkArrayOutput

func (VpcLinkArray) ToVpcLinkArrayOutputWithContext

func (i VpcLinkArray) ToVpcLinkArrayOutputWithContext(ctx context.Context) VpcLinkArrayOutput

type VpcLinkArrayInput

type VpcLinkArrayInput interface {
	pulumi.Input

	ToVpcLinkArrayOutput() VpcLinkArrayOutput
	ToVpcLinkArrayOutputWithContext(context.Context) VpcLinkArrayOutput
}

VpcLinkArrayInput is an input type that accepts VpcLinkArray and VpcLinkArrayOutput values. You can construct a concrete instance of `VpcLinkArrayInput` via:

VpcLinkArray{ VpcLinkArgs{...} }

type VpcLinkArrayOutput

type VpcLinkArrayOutput struct{ *pulumi.OutputState }

func (VpcLinkArrayOutput) ElementType

func (VpcLinkArrayOutput) ElementType() reflect.Type

func (VpcLinkArrayOutput) Index

func (VpcLinkArrayOutput) ToOutput added in v6.1.0

func (VpcLinkArrayOutput) ToVpcLinkArrayOutput

func (o VpcLinkArrayOutput) ToVpcLinkArrayOutput() VpcLinkArrayOutput

func (VpcLinkArrayOutput) ToVpcLinkArrayOutputWithContext

func (o VpcLinkArrayOutput) ToVpcLinkArrayOutputWithContext(ctx context.Context) VpcLinkArrayOutput

type VpcLinkInput

type VpcLinkInput interface {
	pulumi.Input

	ToVpcLinkOutput() VpcLinkOutput
	ToVpcLinkOutputWithContext(ctx context.Context) VpcLinkOutput
}

type VpcLinkMap

type VpcLinkMap map[string]VpcLinkInput

func (VpcLinkMap) ElementType

func (VpcLinkMap) ElementType() reflect.Type

func (VpcLinkMap) ToOutput added in v6.1.0

func (i VpcLinkMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*VpcLink]

func (VpcLinkMap) ToVpcLinkMapOutput

func (i VpcLinkMap) ToVpcLinkMapOutput() VpcLinkMapOutput

func (VpcLinkMap) ToVpcLinkMapOutputWithContext

func (i VpcLinkMap) ToVpcLinkMapOutputWithContext(ctx context.Context) VpcLinkMapOutput

type VpcLinkMapInput

type VpcLinkMapInput interface {
	pulumi.Input

	ToVpcLinkMapOutput() VpcLinkMapOutput
	ToVpcLinkMapOutputWithContext(context.Context) VpcLinkMapOutput
}

VpcLinkMapInput is an input type that accepts VpcLinkMap and VpcLinkMapOutput values. You can construct a concrete instance of `VpcLinkMapInput` via:

VpcLinkMap{ "key": VpcLinkArgs{...} }

type VpcLinkMapOutput

type VpcLinkMapOutput struct{ *pulumi.OutputState }

func (VpcLinkMapOutput) ElementType

func (VpcLinkMapOutput) ElementType() reflect.Type

func (VpcLinkMapOutput) MapIndex

func (VpcLinkMapOutput) ToOutput added in v6.1.0

func (VpcLinkMapOutput) ToVpcLinkMapOutput

func (o VpcLinkMapOutput) ToVpcLinkMapOutput() VpcLinkMapOutput

func (VpcLinkMapOutput) ToVpcLinkMapOutputWithContext

func (o VpcLinkMapOutput) ToVpcLinkMapOutputWithContext(ctx context.Context) VpcLinkMapOutput

type VpcLinkOutput

type VpcLinkOutput struct{ *pulumi.OutputState }

func (VpcLinkOutput) Arn

VPC Link ARN.

func (VpcLinkOutput) ElementType

func (VpcLinkOutput) ElementType() reflect.Type

func (VpcLinkOutput) Name

Name of the VPC Link. Must be between 1 and 128 characters in length.

func (VpcLinkOutput) SecurityGroupIds

func (o VpcLinkOutput) SecurityGroupIds() pulumi.StringArrayOutput

Security group IDs for the VPC Link.

func (VpcLinkOutput) SubnetIds

func (o VpcLinkOutput) SubnetIds() pulumi.StringArrayOutput

Subnet IDs for the VPC Link.

func (VpcLinkOutput) Tags

Map of tags to assign to the VPC Link. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (VpcLinkOutput) TagsAll

func (o VpcLinkOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (VpcLinkOutput) ToOutput added in v6.1.0

func (o VpcLinkOutput) ToOutput(ctx context.Context) pulumix.Output[*VpcLink]

func (VpcLinkOutput) ToVpcLinkOutput

func (o VpcLinkOutput) ToVpcLinkOutput() VpcLinkOutput

func (VpcLinkOutput) ToVpcLinkOutputWithContext

func (o VpcLinkOutput) ToVpcLinkOutputWithContext(ctx context.Context) VpcLinkOutput

type VpcLinkState

type VpcLinkState struct {
	// VPC Link ARN.
	Arn pulumi.StringPtrInput
	// Name of the VPC Link. Must be between 1 and 128 characters in length.
	Name pulumi.StringPtrInput
	// Security group IDs for the VPC Link.
	SecurityGroupIds pulumi.StringArrayInput
	// Subnet IDs for the VPC Link.
	SubnetIds pulumi.StringArrayInput
	// Map of tags to assign to the VPC Link. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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