apigateway

package
v3.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 7 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	pulumi.CustomResourceState

	// The ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level.
	CloudwatchRoleArn pulumi.StringPtrOutput `pulumi:"cloudwatchRoleArn"`
	// Account-Level throttle settings. See exported fields below.
	ThrottleSettings AccountThrottleSettingsOutput `pulumi:"throttleSettings"`
}

Provides a settings of an API Gateway Account. Settings is applied region-wide per `provider` block.

> **Note:** As there is no API method for deleting account settings or resetting it to defaults, destroying this resource will keep your account settings intact

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cloudwatchRole, err := iam.NewRole(ctx, "cloudwatchRole", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Sid\": \"\",\n", "      \"Effect\": \"Allow\",\n", "      \"Principal\": {\n", "        \"Service\": \"apigateway.amazonaws.com\"\n", "      },\n", "      \"Action\": \"sts:AssumeRole\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewAccount(ctx, "demo", &apigateway.AccountArgs{
			CloudwatchRoleArn: cloudwatchRole.Arn,
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicy(ctx, "cloudwatchRolePolicy", &iam.RolePolicyArgs{
			Role:   cloudwatchRole.ID(),
			Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "    \"Version\": \"2012-10-17\",\n", "    \"Statement\": [\n", "        {\n", "            \"Effect\": \"Allow\",\n", "            \"Action\": [\n", "                \"logs:CreateLogGroup\",\n", "                \"logs:CreateLogStream\",\n", "                \"logs:DescribeLogGroups\",\n", "                \"logs:DescribeLogStreams\",\n", "                \"logs:PutLogEvents\",\n", "                \"logs:GetLogEvents\",\n", "                \"logs:FilterLogEvents\"\n", "            ],\n", "            \"Resource\": \"*\"\n", "        }\n", "    ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

API Gateway Accounts can be imported using the word `api-gateway-account`, e.g.

```sh

$ pulumi import aws:apigateway/account:Account demo api-gateway-account

```

func GetAccount

func GetAccount(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccountState, opts ...pulumi.ResourceOption) (*Account, error)

GetAccount gets an existing Account 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 NewAccount

func NewAccount(ctx *pulumi.Context,
	name string, args *AccountArgs, opts ...pulumi.ResourceOption) (*Account, error)

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

func (*Account) ElementType added in v3.13.0

func (*Account) ElementType() reflect.Type

func (*Account) ToAccountOutput added in v3.13.0

func (i *Account) ToAccountOutput() AccountOutput

func (*Account) ToAccountOutputWithContext added in v3.13.0

func (i *Account) ToAccountOutputWithContext(ctx context.Context) AccountOutput

func (*Account) ToAccountPtrOutput added in v3.25.0

func (i *Account) ToAccountPtrOutput() AccountPtrOutput

func (*Account) ToAccountPtrOutputWithContext added in v3.25.0

func (i *Account) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountArgs

type AccountArgs struct {
	// The ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level.
	CloudwatchRoleArn pulumi.StringPtrInput
}

The set of arguments for constructing a Account resource.

func (AccountArgs) ElementType

func (AccountArgs) ElementType() reflect.Type

type AccountArray added in v3.25.0

type AccountArray []AccountInput

func (AccountArray) ElementType added in v3.25.0

func (AccountArray) ElementType() reflect.Type

func (AccountArray) ToAccountArrayOutput added in v3.25.0

func (i AccountArray) ToAccountArrayOutput() AccountArrayOutput

func (AccountArray) ToAccountArrayOutputWithContext added in v3.25.0

func (i AccountArray) ToAccountArrayOutputWithContext(ctx context.Context) AccountArrayOutput

type AccountArrayInput added in v3.25.0

type AccountArrayInput interface {
	pulumi.Input

	ToAccountArrayOutput() AccountArrayOutput
	ToAccountArrayOutputWithContext(context.Context) AccountArrayOutput
}

AccountArrayInput is an input type that accepts AccountArray and AccountArrayOutput values. You can construct a concrete instance of `AccountArrayInput` via:

AccountArray{ AccountArgs{...} }

type AccountArrayOutput added in v3.25.0

type AccountArrayOutput struct{ *pulumi.OutputState }

func (AccountArrayOutput) ElementType added in v3.25.0

func (AccountArrayOutput) ElementType() reflect.Type

func (AccountArrayOutput) Index added in v3.25.0

func (AccountArrayOutput) ToAccountArrayOutput added in v3.25.0

func (o AccountArrayOutput) ToAccountArrayOutput() AccountArrayOutput

func (AccountArrayOutput) ToAccountArrayOutputWithContext added in v3.25.0

func (o AccountArrayOutput) ToAccountArrayOutputWithContext(ctx context.Context) AccountArrayOutput

type AccountInput added in v3.13.0

type AccountInput interface {
	pulumi.Input

	ToAccountOutput() AccountOutput
	ToAccountOutputWithContext(ctx context.Context) AccountOutput
}

type AccountMap added in v3.25.0

type AccountMap map[string]AccountInput

func (AccountMap) ElementType added in v3.25.0

func (AccountMap) ElementType() reflect.Type

func (AccountMap) ToAccountMapOutput added in v3.25.0

func (i AccountMap) ToAccountMapOutput() AccountMapOutput

func (AccountMap) ToAccountMapOutputWithContext added in v3.25.0

func (i AccountMap) ToAccountMapOutputWithContext(ctx context.Context) AccountMapOutput

type AccountMapInput added in v3.25.0

type AccountMapInput interface {
	pulumi.Input

	ToAccountMapOutput() AccountMapOutput
	ToAccountMapOutputWithContext(context.Context) AccountMapOutput
}

AccountMapInput is an input type that accepts AccountMap and AccountMapOutput values. You can construct a concrete instance of `AccountMapInput` via:

AccountMap{ "key": AccountArgs{...} }

type AccountMapOutput added in v3.25.0

type AccountMapOutput struct{ *pulumi.OutputState }

func (AccountMapOutput) ElementType added in v3.25.0

func (AccountMapOutput) ElementType() reflect.Type

func (AccountMapOutput) MapIndex added in v3.25.0

func (AccountMapOutput) ToAccountMapOutput added in v3.25.0

func (o AccountMapOutput) ToAccountMapOutput() AccountMapOutput

func (AccountMapOutput) ToAccountMapOutputWithContext added in v3.25.0

func (o AccountMapOutput) ToAccountMapOutputWithContext(ctx context.Context) AccountMapOutput

type AccountOutput added in v3.13.0

type AccountOutput struct {
	*pulumi.OutputState
}

func (AccountOutput) ElementType added in v3.13.0

func (AccountOutput) ElementType() reflect.Type

func (AccountOutput) ToAccountOutput added in v3.13.0

func (o AccountOutput) ToAccountOutput() AccountOutput

func (AccountOutput) ToAccountOutputWithContext added in v3.13.0

func (o AccountOutput) ToAccountOutputWithContext(ctx context.Context) AccountOutput

func (AccountOutput) ToAccountPtrOutput added in v3.25.0

func (o AccountOutput) ToAccountPtrOutput() AccountPtrOutput

func (AccountOutput) ToAccountPtrOutputWithContext added in v3.25.0

func (o AccountOutput) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountPtrInput added in v3.25.0

type AccountPtrInput interface {
	pulumi.Input

	ToAccountPtrOutput() AccountPtrOutput
	ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput
}

type AccountPtrOutput added in v3.25.0

type AccountPtrOutput struct {
	*pulumi.OutputState
}

func (AccountPtrOutput) ElementType added in v3.25.0

func (AccountPtrOutput) ElementType() reflect.Type

func (AccountPtrOutput) ToAccountPtrOutput added in v3.25.0

func (o AccountPtrOutput) ToAccountPtrOutput() AccountPtrOutput

func (AccountPtrOutput) ToAccountPtrOutputWithContext added in v3.25.0

func (o AccountPtrOutput) ToAccountPtrOutputWithContext(ctx context.Context) AccountPtrOutput

type AccountState

type AccountState struct {
	// The ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS Docs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to-stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API Gateway Stage level.
	CloudwatchRoleArn pulumi.StringPtrInput
	// Account-Level throttle settings. See exported fields below.
	ThrottleSettings AccountThrottleSettingsPtrInput
}

func (AccountState) ElementType

func (AccountState) ElementType() reflect.Type

type AccountThrottleSettings

type AccountThrottleSettings struct {
	// The absolute maximum number of times API Gateway allows the API to be called per second (RPS).
	BurstLimit *int `pulumi:"burstLimit"`
	// The number of times API Gateway allows the API to be called per second on average (RPS).
	RateLimit *float64 `pulumi:"rateLimit"`
}

type AccountThrottleSettingsArgs

type AccountThrottleSettingsArgs struct {
	// The absolute maximum number of times API Gateway allows the API to be called per second (RPS).
	BurstLimit pulumi.IntPtrInput `pulumi:"burstLimit"`
	// The number of times API Gateway allows the API to be called per second on average (RPS).
	RateLimit pulumi.Float64PtrInput `pulumi:"rateLimit"`
}

func (AccountThrottleSettingsArgs) ElementType

func (AccountThrottleSettingsArgs) ToAccountThrottleSettingsOutput

func (i AccountThrottleSettingsArgs) ToAccountThrottleSettingsOutput() AccountThrottleSettingsOutput

func (AccountThrottleSettingsArgs) ToAccountThrottleSettingsOutputWithContext

func (i AccountThrottleSettingsArgs) ToAccountThrottleSettingsOutputWithContext(ctx context.Context) AccountThrottleSettingsOutput

func (AccountThrottleSettingsArgs) ToAccountThrottleSettingsPtrOutput

func (i AccountThrottleSettingsArgs) ToAccountThrottleSettingsPtrOutput() AccountThrottleSettingsPtrOutput

func (AccountThrottleSettingsArgs) ToAccountThrottleSettingsPtrOutputWithContext

func (i AccountThrottleSettingsArgs) ToAccountThrottleSettingsPtrOutputWithContext(ctx context.Context) AccountThrottleSettingsPtrOutput

type AccountThrottleSettingsInput

type AccountThrottleSettingsInput interface {
	pulumi.Input

	ToAccountThrottleSettingsOutput() AccountThrottleSettingsOutput
	ToAccountThrottleSettingsOutputWithContext(context.Context) AccountThrottleSettingsOutput
}

AccountThrottleSettingsInput is an input type that accepts AccountThrottleSettingsArgs and AccountThrottleSettingsOutput values. You can construct a concrete instance of `AccountThrottleSettingsInput` via:

AccountThrottleSettingsArgs{...}

type AccountThrottleSettingsOutput

type AccountThrottleSettingsOutput struct{ *pulumi.OutputState }

func (AccountThrottleSettingsOutput) BurstLimit

The absolute maximum number of times API Gateway allows the API to be called per second (RPS).

func (AccountThrottleSettingsOutput) ElementType

func (AccountThrottleSettingsOutput) RateLimit

The number of times API Gateway allows the API to be called per second on average (RPS).

func (AccountThrottleSettingsOutput) ToAccountThrottleSettingsOutput

func (o AccountThrottleSettingsOutput) ToAccountThrottleSettingsOutput() AccountThrottleSettingsOutput

func (AccountThrottleSettingsOutput) ToAccountThrottleSettingsOutputWithContext

func (o AccountThrottleSettingsOutput) ToAccountThrottleSettingsOutputWithContext(ctx context.Context) AccountThrottleSettingsOutput

func (AccountThrottleSettingsOutput) ToAccountThrottleSettingsPtrOutput

func (o AccountThrottleSettingsOutput) ToAccountThrottleSettingsPtrOutput() AccountThrottleSettingsPtrOutput

func (AccountThrottleSettingsOutput) ToAccountThrottleSettingsPtrOutputWithContext

func (o AccountThrottleSettingsOutput) ToAccountThrottleSettingsPtrOutputWithContext(ctx context.Context) AccountThrottleSettingsPtrOutput

type AccountThrottleSettingsPtrInput

type AccountThrottleSettingsPtrInput interface {
	pulumi.Input

	ToAccountThrottleSettingsPtrOutput() AccountThrottleSettingsPtrOutput
	ToAccountThrottleSettingsPtrOutputWithContext(context.Context) AccountThrottleSettingsPtrOutput
}

AccountThrottleSettingsPtrInput is an input type that accepts AccountThrottleSettingsArgs, AccountThrottleSettingsPtr and AccountThrottleSettingsPtrOutput values. You can construct a concrete instance of `AccountThrottleSettingsPtrInput` via:

        AccountThrottleSettingsArgs{...}

or:

        nil

type AccountThrottleSettingsPtrOutput

type AccountThrottleSettingsPtrOutput struct{ *pulumi.OutputState }

func (AccountThrottleSettingsPtrOutput) BurstLimit

The absolute maximum number of times API Gateway allows the API to be called per second (RPS).

func (AccountThrottleSettingsPtrOutput) Elem

func (AccountThrottleSettingsPtrOutput) ElementType

func (AccountThrottleSettingsPtrOutput) RateLimit

The number of times API Gateway allows the API to be called per second on average (RPS).

func (AccountThrottleSettingsPtrOutput) ToAccountThrottleSettingsPtrOutput

func (o AccountThrottleSettingsPtrOutput) ToAccountThrottleSettingsPtrOutput() AccountThrottleSettingsPtrOutput

func (AccountThrottleSettingsPtrOutput) ToAccountThrottleSettingsPtrOutputWithContext

func (o AccountThrottleSettingsPtrOutput) ToAccountThrottleSettingsPtrOutputWithContext(ctx context.Context) AccountThrottleSettingsPtrOutput

type ApiKey

type ApiKey struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN)
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The creation date of the API key
	CreatedDate pulumi.StringOutput `pulumi:"createdDate"`
	// The API key description. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// Specifies whether the API key can be used by callers. Defaults to `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The last update date of the API key
	LastUpdatedDate pulumi.StringOutput `pulumi:"lastUpdatedDate"`
	// The name of the API key
	Name pulumi.StringOutput `pulumi:"name"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The value of the API key. If not specified, it will be automatically generated by AWS on creation.
	Value pulumi.StringOutput `pulumi:"value"`
}

Provides an API Gateway API Key.

> **NOTE:** Since the API Gateway usage plans feature was launched on August 11, 2016, usage plans are now **required** to associate an API key with an API stage.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigateway.NewApiKey(ctx, "myDemoApiKey", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

API Gateway Keys can be imported using the `id`, e.g.

```sh

$ pulumi import aws:apigateway/apiKey:ApiKey my_demo_key 8bklk8bl1k3sB38D9B3l0enyWT8c09B30lkq0blk

```

func GetApiKey

func GetApiKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApiKeyState, opts ...pulumi.ResourceOption) (*ApiKey, error)

GetApiKey gets an existing ApiKey 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 NewApiKey

func NewApiKey(ctx *pulumi.Context,
	name string, args *ApiKeyArgs, opts ...pulumi.ResourceOption) (*ApiKey, error)

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

func (*ApiKey) ElementType added in v3.13.0

func (*ApiKey) ElementType() reflect.Type

func (*ApiKey) ToApiKeyOutput added in v3.13.0

func (i *ApiKey) ToApiKeyOutput() ApiKeyOutput

func (*ApiKey) ToApiKeyOutputWithContext added in v3.13.0

func (i *ApiKey) ToApiKeyOutputWithContext(ctx context.Context) ApiKeyOutput

func (*ApiKey) ToApiKeyPtrOutput added in v3.25.0

func (i *ApiKey) ToApiKeyPtrOutput() ApiKeyPtrOutput

func (*ApiKey) ToApiKeyPtrOutputWithContext added in v3.25.0

func (i *ApiKey) ToApiKeyPtrOutputWithContext(ctx context.Context) ApiKeyPtrOutput

type ApiKeyArgs

type ApiKeyArgs struct {
	// The API key description. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// Specifies whether the API key can be used by callers. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
	// The name of the API key
	Name pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// The value of the API key. If not specified, it will be automatically generated by AWS on creation.
	Value pulumi.StringPtrInput
}

The set of arguments for constructing a ApiKey resource.

func (ApiKeyArgs) ElementType

func (ApiKeyArgs) ElementType() reflect.Type

type ApiKeyArray added in v3.25.0

type ApiKeyArray []ApiKeyInput

func (ApiKeyArray) ElementType added in v3.25.0

func (ApiKeyArray) ElementType() reflect.Type

func (ApiKeyArray) ToApiKeyArrayOutput added in v3.25.0

func (i ApiKeyArray) ToApiKeyArrayOutput() ApiKeyArrayOutput

func (ApiKeyArray) ToApiKeyArrayOutputWithContext added in v3.25.0

func (i ApiKeyArray) ToApiKeyArrayOutputWithContext(ctx context.Context) ApiKeyArrayOutput

type ApiKeyArrayInput added in v3.25.0

type ApiKeyArrayInput interface {
	pulumi.Input

	ToApiKeyArrayOutput() ApiKeyArrayOutput
	ToApiKeyArrayOutputWithContext(context.Context) ApiKeyArrayOutput
}

ApiKeyArrayInput is an input type that accepts ApiKeyArray and ApiKeyArrayOutput values. You can construct a concrete instance of `ApiKeyArrayInput` via:

ApiKeyArray{ ApiKeyArgs{...} }

type ApiKeyArrayOutput added in v3.25.0

type ApiKeyArrayOutput struct{ *pulumi.OutputState }

func (ApiKeyArrayOutput) ElementType added in v3.25.0

func (ApiKeyArrayOutput) ElementType() reflect.Type

func (ApiKeyArrayOutput) Index added in v3.25.0

func (ApiKeyArrayOutput) ToApiKeyArrayOutput added in v3.25.0

func (o ApiKeyArrayOutput) ToApiKeyArrayOutput() ApiKeyArrayOutput

func (ApiKeyArrayOutput) ToApiKeyArrayOutputWithContext added in v3.25.0

func (o ApiKeyArrayOutput) ToApiKeyArrayOutputWithContext(ctx context.Context) ApiKeyArrayOutput

type ApiKeyInput added in v3.13.0

type ApiKeyInput interface {
	pulumi.Input

	ToApiKeyOutput() ApiKeyOutput
	ToApiKeyOutputWithContext(ctx context.Context) ApiKeyOutput
}

type ApiKeyMap added in v3.25.0

type ApiKeyMap map[string]ApiKeyInput

func (ApiKeyMap) ElementType added in v3.25.0

func (ApiKeyMap) ElementType() reflect.Type

func (ApiKeyMap) ToApiKeyMapOutput added in v3.25.0

func (i ApiKeyMap) ToApiKeyMapOutput() ApiKeyMapOutput

func (ApiKeyMap) ToApiKeyMapOutputWithContext added in v3.25.0

func (i ApiKeyMap) ToApiKeyMapOutputWithContext(ctx context.Context) ApiKeyMapOutput

type ApiKeyMapInput added in v3.25.0

type ApiKeyMapInput interface {
	pulumi.Input

	ToApiKeyMapOutput() ApiKeyMapOutput
	ToApiKeyMapOutputWithContext(context.Context) ApiKeyMapOutput
}

ApiKeyMapInput is an input type that accepts ApiKeyMap and ApiKeyMapOutput values. You can construct a concrete instance of `ApiKeyMapInput` via:

ApiKeyMap{ "key": ApiKeyArgs{...} }

type ApiKeyMapOutput added in v3.25.0

type ApiKeyMapOutput struct{ *pulumi.OutputState }

func (ApiKeyMapOutput) ElementType added in v3.25.0

func (ApiKeyMapOutput) ElementType() reflect.Type

func (ApiKeyMapOutput) MapIndex added in v3.25.0

func (ApiKeyMapOutput) ToApiKeyMapOutput added in v3.25.0

func (o ApiKeyMapOutput) ToApiKeyMapOutput() ApiKeyMapOutput

func (ApiKeyMapOutput) ToApiKeyMapOutputWithContext added in v3.25.0

func (o ApiKeyMapOutput) ToApiKeyMapOutputWithContext(ctx context.Context) ApiKeyMapOutput

type ApiKeyOutput added in v3.13.0

type ApiKeyOutput struct {
	*pulumi.OutputState
}

func (ApiKeyOutput) ElementType added in v3.13.0

func (ApiKeyOutput) ElementType() reflect.Type

func (ApiKeyOutput) ToApiKeyOutput added in v3.13.0

func (o ApiKeyOutput) ToApiKeyOutput() ApiKeyOutput

func (ApiKeyOutput) ToApiKeyOutputWithContext added in v3.13.0

func (o ApiKeyOutput) ToApiKeyOutputWithContext(ctx context.Context) ApiKeyOutput

func (ApiKeyOutput) ToApiKeyPtrOutput added in v3.25.0

func (o ApiKeyOutput) ToApiKeyPtrOutput() ApiKeyPtrOutput

func (ApiKeyOutput) ToApiKeyPtrOutputWithContext added in v3.25.0

func (o ApiKeyOutput) ToApiKeyPtrOutputWithContext(ctx context.Context) ApiKeyPtrOutput

type ApiKeyPtrInput added in v3.25.0

type ApiKeyPtrInput interface {
	pulumi.Input

	ToApiKeyPtrOutput() ApiKeyPtrOutput
	ToApiKeyPtrOutputWithContext(ctx context.Context) ApiKeyPtrOutput
}

type ApiKeyPtrOutput added in v3.25.0

type ApiKeyPtrOutput struct {
	*pulumi.OutputState
}

func (ApiKeyPtrOutput) ElementType added in v3.25.0

func (ApiKeyPtrOutput) ElementType() reflect.Type

func (ApiKeyPtrOutput) ToApiKeyPtrOutput added in v3.25.0

func (o ApiKeyPtrOutput) ToApiKeyPtrOutput() ApiKeyPtrOutput

func (ApiKeyPtrOutput) ToApiKeyPtrOutputWithContext added in v3.25.0

func (o ApiKeyPtrOutput) ToApiKeyPtrOutputWithContext(ctx context.Context) ApiKeyPtrOutput

type ApiKeyState

type ApiKeyState struct {
	// Amazon Resource Name (ARN)
	Arn pulumi.StringPtrInput
	// The creation date of the API key
	CreatedDate pulumi.StringPtrInput
	// The API key description. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// Specifies whether the API key can be used by callers. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
	// The last update date of the API key
	LastUpdatedDate pulumi.StringPtrInput
	// The name of the API key
	Name pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// The value of the API key. If not specified, it will be automatically generated by AWS on creation.
	Value pulumi.StringPtrInput
}

func (ApiKeyState) ElementType

func (ApiKeyState) ElementType() reflect.Type

type Authorizer

type Authorizer struct {
	pulumi.CustomResourceState

	// The credentials required for the authorizer. To specify an IAM Role for API Gateway to assume, use the IAM Role ARN.
	AuthorizerCredentials pulumi.StringPtrOutput `pulumi:"authorizerCredentials"`
	// The TTL of cached authorizer results in seconds. Defaults to `300`.
	AuthorizerResultTtlInSeconds pulumi.IntPtrOutput `pulumi:"authorizerResultTtlInSeconds"`
	// The authorizer's Uniform Resource Identifier (URI). This must be a well-formed Lambda function URI in the form of `arn:aws:apigateway:{region}:lambda:path/{service_api}`,
	// e.g. `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:012345678912:function:my-function/invocations`
	AuthorizerUri pulumi.StringPtrOutput `pulumi:"authorizerUri"`
	// The source of the identity in an incoming request. Defaults to `method.request.header.Authorization`. For `REQUEST` type, this may be a comma-separated list of values, including headers, query string parameters and stage variables - e.g. `"method.request.header.SomeHeaderName,method.request.querystring.SomeQueryStringName,stageVariables.SomeStageVariableName"`
	IdentitySource pulumi.StringPtrOutput `pulumi:"identitySource"`
	// A validation expression for the incoming identity. For `TOKEN` type, this value should be a regular expression. The incoming token from the client is matched against this expression, and will proceed if the token matches. If the token doesn't match, the client receives a 401 Unauthorized response.
	IdentityValidationExpression pulumi.StringPtrOutput `pulumi:"identityValidationExpression"`
	// The name of the authorizer
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of the Amazon Cognito user pool ARNs. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}`.
	ProviderArns pulumi.StringArrayOutput `pulumi:"providerArns"`
	// The ID of the associated REST API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// The type of the authorizer. Possible values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, or `COGNITO_USER_POOLS` for using an Amazon Cognito user pool. Defaults to `TOKEN`.
	Type pulumi.StringPtrOutput `pulumi:"type"`
}

Provides an API Gateway Authorizer.

## Import

AWS API Gateway Authorizer can be imported using the `REST-API-ID/AUTHORIZER-ID`, e.g.

```sh

$ pulumi import aws:apigateway/authorizer:Authorizer authorizer 12345abcde/example

```

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 added in v3.13.0

func (*Authorizer) ElementType() reflect.Type

func (*Authorizer) ToAuthorizerOutput added in v3.13.0

func (i *Authorizer) ToAuthorizerOutput() AuthorizerOutput

func (*Authorizer) ToAuthorizerOutputWithContext added in v3.13.0

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

func (*Authorizer) ToAuthorizerPtrOutput added in v3.25.0

func (i *Authorizer) ToAuthorizerPtrOutput() AuthorizerPtrOutput

func (*Authorizer) ToAuthorizerPtrOutputWithContext added in v3.25.0

func (i *Authorizer) ToAuthorizerPtrOutputWithContext(ctx context.Context) AuthorizerPtrOutput

type AuthorizerArgs

type AuthorizerArgs struct {
	// The credentials required for the authorizer. To specify an IAM Role for API Gateway to assume, use the IAM Role ARN.
	AuthorizerCredentials pulumi.StringPtrInput
	// The TTL of cached authorizer results in seconds. Defaults to `300`.
	AuthorizerResultTtlInSeconds pulumi.IntPtrInput
	// The authorizer's Uniform Resource Identifier (URI). This must be a well-formed Lambda function URI in the form of `arn:aws:apigateway:{region}:lambda:path/{service_api}`,
	// e.g. `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:012345678912:function:my-function/invocations`
	AuthorizerUri pulumi.StringPtrInput
	// The source of the identity in an incoming request. Defaults to `method.request.header.Authorization`. For `REQUEST` type, this may be a comma-separated list of values, including headers, query string parameters and stage variables - e.g. `"method.request.header.SomeHeaderName,method.request.querystring.SomeQueryStringName,stageVariables.SomeStageVariableName"`
	IdentitySource pulumi.StringPtrInput
	// A validation expression for the incoming identity. For `TOKEN` type, this value should be a regular expression. The incoming token from the client is matched against this expression, and will proceed if the token matches. If the token doesn't match, the client receives a 401 Unauthorized response.
	IdentityValidationExpression pulumi.StringPtrInput
	// The name of the authorizer
	Name pulumi.StringPtrInput
	// A list of the Amazon Cognito user pool ARNs. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}`.
	ProviderArns pulumi.StringArrayInput
	// The ID of the associated REST API
	RestApi pulumi.Input
	// The type of the authorizer. Possible values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, or `COGNITO_USER_POOLS` for using an Amazon Cognito user pool. Defaults to `TOKEN`.
	Type pulumi.StringPtrInput
}

The set of arguments for constructing a Authorizer resource.

func (AuthorizerArgs) ElementType

func (AuthorizerArgs) ElementType() reflect.Type

type AuthorizerArray added in v3.25.0

type AuthorizerArray []AuthorizerInput

func (AuthorizerArray) ElementType added in v3.25.0

func (AuthorizerArray) ElementType() reflect.Type

func (AuthorizerArray) ToAuthorizerArrayOutput added in v3.25.0

func (i AuthorizerArray) ToAuthorizerArrayOutput() AuthorizerArrayOutput

func (AuthorizerArray) ToAuthorizerArrayOutputWithContext added in v3.25.0

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

type AuthorizerArrayInput added in v3.25.0

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 added in v3.25.0

type AuthorizerArrayOutput struct{ *pulumi.OutputState }

func (AuthorizerArrayOutput) ElementType added in v3.25.0

func (AuthorizerArrayOutput) ElementType() reflect.Type

func (AuthorizerArrayOutput) Index added in v3.25.0

func (AuthorizerArrayOutput) ToAuthorizerArrayOutput added in v3.25.0

func (o AuthorizerArrayOutput) ToAuthorizerArrayOutput() AuthorizerArrayOutput

func (AuthorizerArrayOutput) ToAuthorizerArrayOutputWithContext added in v3.25.0

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

type AuthorizerInput added in v3.13.0

type AuthorizerInput interface {
	pulumi.Input

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

type AuthorizerMap added in v3.25.0

type AuthorizerMap map[string]AuthorizerInput

func (AuthorizerMap) ElementType added in v3.25.0

func (AuthorizerMap) ElementType() reflect.Type

func (AuthorizerMap) ToAuthorizerMapOutput added in v3.25.0

func (i AuthorizerMap) ToAuthorizerMapOutput() AuthorizerMapOutput

func (AuthorizerMap) ToAuthorizerMapOutputWithContext added in v3.25.0

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

type AuthorizerMapInput added in v3.25.0

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 added in v3.25.0

type AuthorizerMapOutput struct{ *pulumi.OutputState }

func (AuthorizerMapOutput) ElementType added in v3.25.0

func (AuthorizerMapOutput) ElementType() reflect.Type

func (AuthorizerMapOutput) MapIndex added in v3.25.0

func (AuthorizerMapOutput) ToAuthorizerMapOutput added in v3.25.0

func (o AuthorizerMapOutput) ToAuthorizerMapOutput() AuthorizerMapOutput

func (AuthorizerMapOutput) ToAuthorizerMapOutputWithContext added in v3.25.0

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

type AuthorizerOutput added in v3.13.0

type AuthorizerOutput struct {
	*pulumi.OutputState
}

func (AuthorizerOutput) ElementType added in v3.13.0

func (AuthorizerOutput) ElementType() reflect.Type

func (AuthorizerOutput) ToAuthorizerOutput added in v3.13.0

func (o AuthorizerOutput) ToAuthorizerOutput() AuthorizerOutput

func (AuthorizerOutput) ToAuthorizerOutputWithContext added in v3.13.0

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

func (AuthorizerOutput) ToAuthorizerPtrOutput added in v3.25.0

func (o AuthorizerOutput) ToAuthorizerPtrOutput() AuthorizerPtrOutput

func (AuthorizerOutput) ToAuthorizerPtrOutputWithContext added in v3.25.0

func (o AuthorizerOutput) ToAuthorizerPtrOutputWithContext(ctx context.Context) AuthorizerPtrOutput

type AuthorizerPtrInput added in v3.25.0

type AuthorizerPtrInput interface {
	pulumi.Input

	ToAuthorizerPtrOutput() AuthorizerPtrOutput
	ToAuthorizerPtrOutputWithContext(ctx context.Context) AuthorizerPtrOutput
}

type AuthorizerPtrOutput added in v3.25.0

type AuthorizerPtrOutput struct {
	*pulumi.OutputState
}

func (AuthorizerPtrOutput) ElementType added in v3.25.0

func (AuthorizerPtrOutput) ElementType() reflect.Type

func (AuthorizerPtrOutput) ToAuthorizerPtrOutput added in v3.25.0

func (o AuthorizerPtrOutput) ToAuthorizerPtrOutput() AuthorizerPtrOutput

func (AuthorizerPtrOutput) ToAuthorizerPtrOutputWithContext added in v3.25.0

func (o AuthorizerPtrOutput) ToAuthorizerPtrOutputWithContext(ctx context.Context) AuthorizerPtrOutput

type AuthorizerState

type AuthorizerState struct {
	// The credentials required for the authorizer. To specify an IAM Role for API Gateway to assume, use the IAM Role ARN.
	AuthorizerCredentials pulumi.StringPtrInput
	// The TTL of cached authorizer results in seconds. Defaults to `300`.
	AuthorizerResultTtlInSeconds pulumi.IntPtrInput
	// The authorizer's Uniform Resource Identifier (URI). This must be a well-formed Lambda function URI in the form of `arn:aws:apigateway:{region}:lambda:path/{service_api}`,
	// e.g. `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:012345678912:function:my-function/invocations`
	AuthorizerUri pulumi.StringPtrInput
	// The source of the identity in an incoming request. Defaults to `method.request.header.Authorization`. For `REQUEST` type, this may be a comma-separated list of values, including headers, query string parameters and stage variables - e.g. `"method.request.header.SomeHeaderName,method.request.querystring.SomeQueryStringName,stageVariables.SomeStageVariableName"`
	IdentitySource pulumi.StringPtrInput
	// A validation expression for the incoming identity. For `TOKEN` type, this value should be a regular expression. The incoming token from the client is matched against this expression, and will proceed if the token matches. If the token doesn't match, the client receives a 401 Unauthorized response.
	IdentityValidationExpression pulumi.StringPtrInput
	// The name of the authorizer
	Name pulumi.StringPtrInput
	// A list of the Amazon Cognito user pool ARNs. Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}`.
	ProviderArns pulumi.StringArrayInput
	// The ID of the associated REST API
	RestApi pulumi.StringPtrInput
	// The type of the authorizer. Possible values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, or `COGNITO_USER_POOLS` for using an Amazon Cognito user pool. Defaults to `TOKEN`.
	Type pulumi.StringPtrInput
}

func (AuthorizerState) ElementType

func (AuthorizerState) ElementType() reflect.Type

type BasePathMapping

type BasePathMapping struct {
	pulumi.CustomResourceState

	// Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain.
	BasePath pulumi.StringPtrOutput `pulumi:"basePath"`
	// The already-registered domain name to connect the API to.
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// The id of the API to connect.
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// The name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path.
	StageName pulumi.StringPtrOutput `pulumi:"stageName"`
}

Connects a custom domain name registered via `apigateway.DomainName` with a deployed API so that its methods can be called via the custom domain name.

## Import

`aws_api_gateway_base_path_mapping` can be imported by using the domain name and base path, e.g. For empty `base_path` (e.g. root path (`/`))

```sh

$ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/

```

Otherwise

```sh

$ pulumi import aws:apigateway/basePathMapping:BasePathMapping example example.com/base-path

```

func GetBasePathMapping

func GetBasePathMapping(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BasePathMappingState, opts ...pulumi.ResourceOption) (*BasePathMapping, error)

GetBasePathMapping gets an existing BasePathMapping 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 NewBasePathMapping

func NewBasePathMapping(ctx *pulumi.Context,
	name string, args *BasePathMappingArgs, opts ...pulumi.ResourceOption) (*BasePathMapping, error)

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

func (*BasePathMapping) ElementType added in v3.13.0

func (*BasePathMapping) ElementType() reflect.Type

func (*BasePathMapping) ToBasePathMappingOutput added in v3.13.0

func (i *BasePathMapping) ToBasePathMappingOutput() BasePathMappingOutput

func (*BasePathMapping) ToBasePathMappingOutputWithContext added in v3.13.0

func (i *BasePathMapping) ToBasePathMappingOutputWithContext(ctx context.Context) BasePathMappingOutput

func (*BasePathMapping) ToBasePathMappingPtrOutput added in v3.25.0

func (i *BasePathMapping) ToBasePathMappingPtrOutput() BasePathMappingPtrOutput

func (*BasePathMapping) ToBasePathMappingPtrOutputWithContext added in v3.25.0

func (i *BasePathMapping) ToBasePathMappingPtrOutputWithContext(ctx context.Context) BasePathMappingPtrOutput

type BasePathMappingArgs

type BasePathMappingArgs struct {
	// Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain.
	BasePath pulumi.StringPtrInput
	// The already-registered domain name to connect the API to.
	DomainName pulumi.StringInput
	// The id of the API to connect.
	RestApi pulumi.Input
	// The name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path.
	StageName pulumi.StringPtrInput
}

The set of arguments for constructing a BasePathMapping resource.

func (BasePathMappingArgs) ElementType

func (BasePathMappingArgs) ElementType() reflect.Type

type BasePathMappingArray added in v3.25.0

type BasePathMappingArray []BasePathMappingInput

func (BasePathMappingArray) ElementType added in v3.25.0

func (BasePathMappingArray) ElementType() reflect.Type

func (BasePathMappingArray) ToBasePathMappingArrayOutput added in v3.25.0

func (i BasePathMappingArray) ToBasePathMappingArrayOutput() BasePathMappingArrayOutput

func (BasePathMappingArray) ToBasePathMappingArrayOutputWithContext added in v3.25.0

func (i BasePathMappingArray) ToBasePathMappingArrayOutputWithContext(ctx context.Context) BasePathMappingArrayOutput

type BasePathMappingArrayInput added in v3.25.0

type BasePathMappingArrayInput interface {
	pulumi.Input

	ToBasePathMappingArrayOutput() BasePathMappingArrayOutput
	ToBasePathMappingArrayOutputWithContext(context.Context) BasePathMappingArrayOutput
}

BasePathMappingArrayInput is an input type that accepts BasePathMappingArray and BasePathMappingArrayOutput values. You can construct a concrete instance of `BasePathMappingArrayInput` via:

BasePathMappingArray{ BasePathMappingArgs{...} }

type BasePathMappingArrayOutput added in v3.25.0

type BasePathMappingArrayOutput struct{ *pulumi.OutputState }

func (BasePathMappingArrayOutput) ElementType added in v3.25.0

func (BasePathMappingArrayOutput) ElementType() reflect.Type

func (BasePathMappingArrayOutput) Index added in v3.25.0

func (BasePathMappingArrayOutput) ToBasePathMappingArrayOutput added in v3.25.0

func (o BasePathMappingArrayOutput) ToBasePathMappingArrayOutput() BasePathMappingArrayOutput

func (BasePathMappingArrayOutput) ToBasePathMappingArrayOutputWithContext added in v3.25.0

func (o BasePathMappingArrayOutput) ToBasePathMappingArrayOutputWithContext(ctx context.Context) BasePathMappingArrayOutput

type BasePathMappingInput added in v3.13.0

type BasePathMappingInput interface {
	pulumi.Input

	ToBasePathMappingOutput() BasePathMappingOutput
	ToBasePathMappingOutputWithContext(ctx context.Context) BasePathMappingOutput
}

type BasePathMappingMap added in v3.25.0

type BasePathMappingMap map[string]BasePathMappingInput

func (BasePathMappingMap) ElementType added in v3.25.0

func (BasePathMappingMap) ElementType() reflect.Type

func (BasePathMappingMap) ToBasePathMappingMapOutput added in v3.25.0

func (i BasePathMappingMap) ToBasePathMappingMapOutput() BasePathMappingMapOutput

func (BasePathMappingMap) ToBasePathMappingMapOutputWithContext added in v3.25.0

func (i BasePathMappingMap) ToBasePathMappingMapOutputWithContext(ctx context.Context) BasePathMappingMapOutput

type BasePathMappingMapInput added in v3.25.0

type BasePathMappingMapInput interface {
	pulumi.Input

	ToBasePathMappingMapOutput() BasePathMappingMapOutput
	ToBasePathMappingMapOutputWithContext(context.Context) BasePathMappingMapOutput
}

BasePathMappingMapInput is an input type that accepts BasePathMappingMap and BasePathMappingMapOutput values. You can construct a concrete instance of `BasePathMappingMapInput` via:

BasePathMappingMap{ "key": BasePathMappingArgs{...} }

type BasePathMappingMapOutput added in v3.25.0

type BasePathMappingMapOutput struct{ *pulumi.OutputState }

func (BasePathMappingMapOutput) ElementType added in v3.25.0

func (BasePathMappingMapOutput) ElementType() reflect.Type

func (BasePathMappingMapOutput) MapIndex added in v3.25.0

func (BasePathMappingMapOutput) ToBasePathMappingMapOutput added in v3.25.0

func (o BasePathMappingMapOutput) ToBasePathMappingMapOutput() BasePathMappingMapOutput

func (BasePathMappingMapOutput) ToBasePathMappingMapOutputWithContext added in v3.25.0

func (o BasePathMappingMapOutput) ToBasePathMappingMapOutputWithContext(ctx context.Context) BasePathMappingMapOutput

type BasePathMappingOutput added in v3.13.0

type BasePathMappingOutput struct {
	*pulumi.OutputState
}

func (BasePathMappingOutput) ElementType added in v3.13.0

func (BasePathMappingOutput) ElementType() reflect.Type

func (BasePathMappingOutput) ToBasePathMappingOutput added in v3.13.0

func (o BasePathMappingOutput) ToBasePathMappingOutput() BasePathMappingOutput

func (BasePathMappingOutput) ToBasePathMappingOutputWithContext added in v3.13.0

func (o BasePathMappingOutput) ToBasePathMappingOutputWithContext(ctx context.Context) BasePathMappingOutput

func (BasePathMappingOutput) ToBasePathMappingPtrOutput added in v3.25.0

func (o BasePathMappingOutput) ToBasePathMappingPtrOutput() BasePathMappingPtrOutput

func (BasePathMappingOutput) ToBasePathMappingPtrOutputWithContext added in v3.25.0

func (o BasePathMappingOutput) ToBasePathMappingPtrOutputWithContext(ctx context.Context) BasePathMappingPtrOutput

type BasePathMappingPtrInput added in v3.25.0

type BasePathMappingPtrInput interface {
	pulumi.Input

	ToBasePathMappingPtrOutput() BasePathMappingPtrOutput
	ToBasePathMappingPtrOutputWithContext(ctx context.Context) BasePathMappingPtrOutput
}

type BasePathMappingPtrOutput added in v3.25.0

type BasePathMappingPtrOutput struct {
	*pulumi.OutputState
}

func (BasePathMappingPtrOutput) ElementType added in v3.25.0

func (BasePathMappingPtrOutput) ElementType() reflect.Type

func (BasePathMappingPtrOutput) ToBasePathMappingPtrOutput added in v3.25.0

func (o BasePathMappingPtrOutput) ToBasePathMappingPtrOutput() BasePathMappingPtrOutput

func (BasePathMappingPtrOutput) ToBasePathMappingPtrOutputWithContext added in v3.25.0

func (o BasePathMappingPtrOutput) ToBasePathMappingPtrOutputWithContext(ctx context.Context) BasePathMappingPtrOutput

type BasePathMappingState

type BasePathMappingState struct {
	// Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain.
	BasePath pulumi.StringPtrInput
	// The already-registered domain name to connect the API to.
	DomainName pulumi.StringPtrInput
	// The id of the API to connect.
	RestApi pulumi.StringPtrInput
	// The name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path.
	StageName pulumi.StringPtrInput
}

func (BasePathMappingState) ElementType

func (BasePathMappingState) ElementType() reflect.Type

type ClientCertificate

type ClientCertificate struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN)
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The date when the client certificate was created.
	CreatedDate pulumi.StringOutput `pulumi:"createdDate"`
	// The description of the client certificate.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The date when the client certificate will expire.
	ExpirationDate pulumi.StringOutput `pulumi:"expirationDate"`
	// The PEM-encoded public key of the client certificate.
	PemEncodedCertificate pulumi.StringOutput `pulumi:"pemEncodedCertificate"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides an API Gateway Client Certificate.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigateway.NewClientCertificate(ctx, "demo", &apigateway.ClientCertificateArgs{
			Description: pulumi.String("My client certificate"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

API Gateway Client Certificates can be imported using the id, e.g.

```sh

$ pulumi import aws:apigateway/clientCertificate:ClientCertificate demo ab1cqe

```

func GetClientCertificate

func GetClientCertificate(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientCertificateState, opts ...pulumi.ResourceOption) (*ClientCertificate, error)

GetClientCertificate gets an existing ClientCertificate 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 NewClientCertificate

func NewClientCertificate(ctx *pulumi.Context,
	name string, args *ClientCertificateArgs, opts ...pulumi.ResourceOption) (*ClientCertificate, error)

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

func (*ClientCertificate) ElementType added in v3.13.0

func (*ClientCertificate) ElementType() reflect.Type

func (*ClientCertificate) ToClientCertificateOutput added in v3.13.0

func (i *ClientCertificate) ToClientCertificateOutput() ClientCertificateOutput

func (*ClientCertificate) ToClientCertificateOutputWithContext added in v3.13.0

func (i *ClientCertificate) ToClientCertificateOutputWithContext(ctx context.Context) ClientCertificateOutput

func (*ClientCertificate) ToClientCertificatePtrOutput added in v3.25.0

func (i *ClientCertificate) ToClientCertificatePtrOutput() ClientCertificatePtrOutput

func (*ClientCertificate) ToClientCertificatePtrOutputWithContext added in v3.25.0

func (i *ClientCertificate) ToClientCertificatePtrOutputWithContext(ctx context.Context) ClientCertificatePtrOutput

type ClientCertificateArgs

type ClientCertificateArgs struct {
	// The description of the client certificate.
	Description pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ClientCertificate resource.

func (ClientCertificateArgs) ElementType

func (ClientCertificateArgs) ElementType() reflect.Type

type ClientCertificateArray added in v3.25.0

type ClientCertificateArray []ClientCertificateInput

func (ClientCertificateArray) ElementType added in v3.25.0

func (ClientCertificateArray) ElementType() reflect.Type

func (ClientCertificateArray) ToClientCertificateArrayOutput added in v3.25.0

func (i ClientCertificateArray) ToClientCertificateArrayOutput() ClientCertificateArrayOutput

func (ClientCertificateArray) ToClientCertificateArrayOutputWithContext added in v3.25.0

func (i ClientCertificateArray) ToClientCertificateArrayOutputWithContext(ctx context.Context) ClientCertificateArrayOutput

type ClientCertificateArrayInput added in v3.25.0

type ClientCertificateArrayInput interface {
	pulumi.Input

	ToClientCertificateArrayOutput() ClientCertificateArrayOutput
	ToClientCertificateArrayOutputWithContext(context.Context) ClientCertificateArrayOutput
}

ClientCertificateArrayInput is an input type that accepts ClientCertificateArray and ClientCertificateArrayOutput values. You can construct a concrete instance of `ClientCertificateArrayInput` via:

ClientCertificateArray{ ClientCertificateArgs{...} }

type ClientCertificateArrayOutput added in v3.25.0

type ClientCertificateArrayOutput struct{ *pulumi.OutputState }

func (ClientCertificateArrayOutput) ElementType added in v3.25.0

func (ClientCertificateArrayOutput) Index added in v3.25.0

func (ClientCertificateArrayOutput) ToClientCertificateArrayOutput added in v3.25.0

func (o ClientCertificateArrayOutput) ToClientCertificateArrayOutput() ClientCertificateArrayOutput

func (ClientCertificateArrayOutput) ToClientCertificateArrayOutputWithContext added in v3.25.0

func (o ClientCertificateArrayOutput) ToClientCertificateArrayOutputWithContext(ctx context.Context) ClientCertificateArrayOutput

type ClientCertificateInput added in v3.13.0

type ClientCertificateInput interface {
	pulumi.Input

	ToClientCertificateOutput() ClientCertificateOutput
	ToClientCertificateOutputWithContext(ctx context.Context) ClientCertificateOutput
}

type ClientCertificateMap added in v3.25.0

type ClientCertificateMap map[string]ClientCertificateInput

func (ClientCertificateMap) ElementType added in v3.25.0

func (ClientCertificateMap) ElementType() reflect.Type

func (ClientCertificateMap) ToClientCertificateMapOutput added in v3.25.0

func (i ClientCertificateMap) ToClientCertificateMapOutput() ClientCertificateMapOutput

func (ClientCertificateMap) ToClientCertificateMapOutputWithContext added in v3.25.0

func (i ClientCertificateMap) ToClientCertificateMapOutputWithContext(ctx context.Context) ClientCertificateMapOutput

type ClientCertificateMapInput added in v3.25.0

type ClientCertificateMapInput interface {
	pulumi.Input

	ToClientCertificateMapOutput() ClientCertificateMapOutput
	ToClientCertificateMapOutputWithContext(context.Context) ClientCertificateMapOutput
}

ClientCertificateMapInput is an input type that accepts ClientCertificateMap and ClientCertificateMapOutput values. You can construct a concrete instance of `ClientCertificateMapInput` via:

ClientCertificateMap{ "key": ClientCertificateArgs{...} }

type ClientCertificateMapOutput added in v3.25.0

type ClientCertificateMapOutput struct{ *pulumi.OutputState }

func (ClientCertificateMapOutput) ElementType added in v3.25.0

func (ClientCertificateMapOutput) ElementType() reflect.Type

func (ClientCertificateMapOutput) MapIndex added in v3.25.0

func (ClientCertificateMapOutput) ToClientCertificateMapOutput added in v3.25.0

func (o ClientCertificateMapOutput) ToClientCertificateMapOutput() ClientCertificateMapOutput

func (ClientCertificateMapOutput) ToClientCertificateMapOutputWithContext added in v3.25.0

func (o ClientCertificateMapOutput) ToClientCertificateMapOutputWithContext(ctx context.Context) ClientCertificateMapOutput

type ClientCertificateOutput added in v3.13.0

type ClientCertificateOutput struct {
	*pulumi.OutputState
}

func (ClientCertificateOutput) ElementType added in v3.13.0

func (ClientCertificateOutput) ElementType() reflect.Type

func (ClientCertificateOutput) ToClientCertificateOutput added in v3.13.0

func (o ClientCertificateOutput) ToClientCertificateOutput() ClientCertificateOutput

func (ClientCertificateOutput) ToClientCertificateOutputWithContext added in v3.13.0

func (o ClientCertificateOutput) ToClientCertificateOutputWithContext(ctx context.Context) ClientCertificateOutput

func (ClientCertificateOutput) ToClientCertificatePtrOutput added in v3.25.0

func (o ClientCertificateOutput) ToClientCertificatePtrOutput() ClientCertificatePtrOutput

func (ClientCertificateOutput) ToClientCertificatePtrOutputWithContext added in v3.25.0

func (o ClientCertificateOutput) ToClientCertificatePtrOutputWithContext(ctx context.Context) ClientCertificatePtrOutput

type ClientCertificatePtrInput added in v3.25.0

type ClientCertificatePtrInput interface {
	pulumi.Input

	ToClientCertificatePtrOutput() ClientCertificatePtrOutput
	ToClientCertificatePtrOutputWithContext(ctx context.Context) ClientCertificatePtrOutput
}

type ClientCertificatePtrOutput added in v3.25.0

type ClientCertificatePtrOutput struct {
	*pulumi.OutputState
}

func (ClientCertificatePtrOutput) ElementType added in v3.25.0

func (ClientCertificatePtrOutput) ElementType() reflect.Type

func (ClientCertificatePtrOutput) ToClientCertificatePtrOutput added in v3.25.0

func (o ClientCertificatePtrOutput) ToClientCertificatePtrOutput() ClientCertificatePtrOutput

func (ClientCertificatePtrOutput) ToClientCertificatePtrOutputWithContext added in v3.25.0

func (o ClientCertificatePtrOutput) ToClientCertificatePtrOutputWithContext(ctx context.Context) ClientCertificatePtrOutput

type ClientCertificateState

type ClientCertificateState struct {
	// Amazon Resource Name (ARN)
	Arn pulumi.StringPtrInput
	// The date when the client certificate was created.
	CreatedDate pulumi.StringPtrInput
	// The description of the client certificate.
	Description pulumi.StringPtrInput
	// The date when the client certificate will expire.
	ExpirationDate pulumi.StringPtrInput
	// The PEM-encoded public key of the client certificate.
	PemEncodedCertificate pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

func (ClientCertificateState) ElementType

func (ClientCertificateState) ElementType() reflect.Type

type Deployment

type Deployment struct {
	pulumi.CustomResourceState

	// The creation date of the deployment
	CreatedDate pulumi.StringOutput `pulumi:"createdDate"`
	// Description of the deployment
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The execution ARN to be used in `lambdaPermission` resource's `sourceArn`
	// when allowing API Gateway to invoke a Lambda function,
	// e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod`
	ExecutionArn pulumi.StringOutput `pulumi:"executionArn"`
	// The URL to invoke the API pointing to the stage,
	// e.g. `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod`
	InvokeUrl pulumi.StringOutput `pulumi:"invokeUrl"`
	// REST API identifier.
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// Description to set on the stage managed by the `stageName` argument.
	StageDescription pulumi.StringPtrOutput `pulumi:"stageDescription"`
	// Name of the stage to create with this deployment. If the specified stage already exists, it will be updated to point to the new deployment. It is recommended to use the `apigateway.Stage` resource instead to manage stages.
	StageName pulumi.StringPtrOutput `pulumi:"stageName"`
	// Map of arbitrary keys and values that, when changed, will trigger a redeployment.
	Triggers pulumi.StringMapOutput `pulumi:"triggers"`
	// Map to set on the stage managed by the `stageName` argument.
	Variables pulumi.StringMapOutput `pulumi:"variables"`
}

Manages an API Gateway REST Deployment. A deployment is a snapshot of the REST API configuration. The deployment can then be published to callable endpoints via the `apigateway.Stage` resource and optionally managed further with the `apigateway.BasePathMapping` resource, `apigateway.DomainName` resource, and `awsApiMethodSettings` resource. For more information, see the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-deploy-api.html).

To properly capture all REST API configuration in a deployment, this resource must have dependencies on all prior resources that manage resources/paths, methods, integrations, etc.

* For REST APIs that are configured via OpenAPI specification (`apigateway.RestApi` resource `body` argument), no special dependency setup is needed beyond referencing the `id` attribute of that resource unless additional resources have further customized the REST API. * When the REST API configuration involves other resources (`apigateway.Integration` resource), the dependency setup can be done with implicit resource references in the `triggers` argument or explicit resource references using the [resource `dependsOn` custom option](https://www.pulumi.com/docs/intro/concepts/resources/#dependson). The `triggers` argument should be preferred over `dependsOn`, since `dependsOn` can only capture dependency ordering and will not cause the resource to recreate (redeploy the REST API) with upstream configuration changes.

!> **WARNING:** It is recommended to use the `apigateway.Stage` resource instead of managing an API Gateway Stage via the `stageName` argument of this resource. When this resource is recreated (REST API redeployment) with the `stageName` configured, the stage is deleted and recreated. This will cause a temporary service interruption, increase provide plan differences, and can require a second apply to recreate any downstream stage configuration such as associated `awsApiMethodSettings` resources.

## Example Usage

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 added in v3.13.0

func (*Deployment) ElementType() reflect.Type

func (*Deployment) ToDeploymentOutput added in v3.13.0

func (i *Deployment) ToDeploymentOutput() DeploymentOutput

func (*Deployment) ToDeploymentOutputWithContext added in v3.13.0

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

func (*Deployment) ToDeploymentPtrOutput added in v3.25.0

func (i *Deployment) ToDeploymentPtrOutput() DeploymentPtrOutput

func (*Deployment) ToDeploymentPtrOutputWithContext added in v3.25.0

func (i *Deployment) ToDeploymentPtrOutputWithContext(ctx context.Context) DeploymentPtrOutput

type DeploymentArgs

type DeploymentArgs struct {
	// Description of the deployment
	Description pulumi.StringPtrInput
	// REST API identifier.
	RestApi pulumi.Input
	// Description to set on the stage managed by the `stageName` argument.
	StageDescription pulumi.StringPtrInput
	// Name of the stage to create with this deployment. If the specified stage already exists, it will be updated to point to the new deployment. It is recommended to use the `apigateway.Stage` resource instead to manage stages.
	StageName pulumi.StringPtrInput
	// Map of arbitrary keys and values that, when changed, will trigger a redeployment.
	Triggers pulumi.StringMapInput
	// Map to set on the stage managed by the `stageName` argument.
	Variables pulumi.StringMapInput
}

The set of arguments for constructing a Deployment resource.

func (DeploymentArgs) ElementType

func (DeploymentArgs) ElementType() reflect.Type

type DeploymentArray added in v3.25.0

type DeploymentArray []DeploymentInput

func (DeploymentArray) ElementType added in v3.25.0

func (DeploymentArray) ElementType() reflect.Type

func (DeploymentArray) ToDeploymentArrayOutput added in v3.25.0

func (i DeploymentArray) ToDeploymentArrayOutput() DeploymentArrayOutput

func (DeploymentArray) ToDeploymentArrayOutputWithContext added in v3.25.0

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

type DeploymentArrayInput added in v3.25.0

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 added in v3.25.0

type DeploymentArrayOutput struct{ *pulumi.OutputState }

func (DeploymentArrayOutput) ElementType added in v3.25.0

func (DeploymentArrayOutput) ElementType() reflect.Type

func (DeploymentArrayOutput) Index added in v3.25.0

func (DeploymentArrayOutput) ToDeploymentArrayOutput added in v3.25.0

func (o DeploymentArrayOutput) ToDeploymentArrayOutput() DeploymentArrayOutput

func (DeploymentArrayOutput) ToDeploymentArrayOutputWithContext added in v3.25.0

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

type DeploymentInput added in v3.13.0

type DeploymentInput interface {
	pulumi.Input

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

type DeploymentMap added in v3.25.0

type DeploymentMap map[string]DeploymentInput

func (DeploymentMap) ElementType added in v3.25.0

func (DeploymentMap) ElementType() reflect.Type

func (DeploymentMap) ToDeploymentMapOutput added in v3.25.0

func (i DeploymentMap) ToDeploymentMapOutput() DeploymentMapOutput

func (DeploymentMap) ToDeploymentMapOutputWithContext added in v3.25.0

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

type DeploymentMapInput added in v3.25.0

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 added in v3.25.0

type DeploymentMapOutput struct{ *pulumi.OutputState }

func (DeploymentMapOutput) ElementType added in v3.25.0

func (DeploymentMapOutput) ElementType() reflect.Type

func (DeploymentMapOutput) MapIndex added in v3.25.0

func (DeploymentMapOutput) ToDeploymentMapOutput added in v3.25.0

func (o DeploymentMapOutput) ToDeploymentMapOutput() DeploymentMapOutput

func (DeploymentMapOutput) ToDeploymentMapOutputWithContext added in v3.25.0

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

type DeploymentOutput added in v3.13.0

type DeploymentOutput struct {
	*pulumi.OutputState
}

func (DeploymentOutput) ElementType added in v3.13.0

func (DeploymentOutput) ElementType() reflect.Type

func (DeploymentOutput) ToDeploymentOutput added in v3.13.0

func (o DeploymentOutput) ToDeploymentOutput() DeploymentOutput

func (DeploymentOutput) ToDeploymentOutputWithContext added in v3.13.0

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

func (DeploymentOutput) ToDeploymentPtrOutput added in v3.25.0

func (o DeploymentOutput) ToDeploymentPtrOutput() DeploymentPtrOutput

func (DeploymentOutput) ToDeploymentPtrOutputWithContext added in v3.25.0

func (o DeploymentOutput) ToDeploymentPtrOutputWithContext(ctx context.Context) DeploymentPtrOutput

type DeploymentPtrInput added in v3.25.0

type DeploymentPtrInput interface {
	pulumi.Input

	ToDeploymentPtrOutput() DeploymentPtrOutput
	ToDeploymentPtrOutputWithContext(ctx context.Context) DeploymentPtrOutput
}

type DeploymentPtrOutput added in v3.25.0

type DeploymentPtrOutput struct {
	*pulumi.OutputState
}

func (DeploymentPtrOutput) ElementType added in v3.25.0

func (DeploymentPtrOutput) ElementType() reflect.Type

func (DeploymentPtrOutput) ToDeploymentPtrOutput added in v3.25.0

func (o DeploymentPtrOutput) ToDeploymentPtrOutput() DeploymentPtrOutput

func (DeploymentPtrOutput) ToDeploymentPtrOutputWithContext added in v3.25.0

func (o DeploymentPtrOutput) ToDeploymentPtrOutputWithContext(ctx context.Context) DeploymentPtrOutput

type DeploymentState

type DeploymentState struct {
	// The creation date of the deployment
	CreatedDate pulumi.StringPtrInput
	// Description of the deployment
	Description pulumi.StringPtrInput
	// The execution ARN to be used in `lambdaPermission` resource's `sourceArn`
	// when allowing API Gateway to invoke a Lambda function,
	// e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod`
	ExecutionArn pulumi.StringPtrInput
	// The URL to invoke the API pointing to the stage,
	// e.g. `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod`
	InvokeUrl pulumi.StringPtrInput
	// REST API identifier.
	RestApi pulumi.StringPtrInput
	// Description to set on the stage managed by the `stageName` argument.
	StageDescription pulumi.StringPtrInput
	// Name of the stage to create with this deployment. If the specified stage already exists, it will be updated to point to the new deployment. It is recommended to use the `apigateway.Stage` resource instead to manage stages.
	StageName pulumi.StringPtrInput
	// Map of arbitrary keys and values that, when changed, will trigger a redeployment.
	Triggers pulumi.StringMapInput
	// Map to set on the stage managed by the `stageName` argument.
	Variables pulumi.StringMapInput
}

func (DeploymentState) ElementType

func (DeploymentState) ElementType() reflect.Type

type DocumentationPart

type DocumentationPart struct {
	pulumi.CustomResourceState

	// The location of the targeted API entity of the to-be-created documentation part. See below.
	Location DocumentationPartLocationOutput `pulumi:"location"`
	// A content map of API-specific key-value pairs describing the targeted API entity. The map must be encoded as a JSON string, e.g., "{ \"description\": \"The API does ...\" }". Only Swagger-compliant key-value pairs can be exported and, hence, published.
	Properties pulumi.StringOutput `pulumi:"properties"`
	// The ID of the associated Rest API
	RestApiId pulumi.StringOutput `pulumi:"restApiId"`
}

Provides a settings of an API Gateway Documentation Part.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleRestApi, err := apigateway.NewRestApi(ctx, "exampleRestApi", nil)
		if err != nil {
			return err
		}
		_, err = apigateway.NewDocumentationPart(ctx, "exampleDocumentationPart", &apigateway.DocumentationPartArgs{
			Location: &apigateway.DocumentationPartLocationArgs{
				Type:   pulumi.String("METHOD"),
				Method: pulumi.String("GET"),
				Path:   pulumi.String("/example"),
			},
			Properties: pulumi.String("{\"description\":\"Example description\"}"),
			RestApiId:  exampleRestApi.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

API Gateway documentation_parts can be imported using `REST-API-ID/DOC-PART-ID`, e.g.

```sh

$ pulumi import aws:apigateway/documentationPart:DocumentationPart example 5i4e1ko720/3oyy3t

```

func GetDocumentationPart

func GetDocumentationPart(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DocumentationPartState, opts ...pulumi.ResourceOption) (*DocumentationPart, error)

GetDocumentationPart gets an existing DocumentationPart 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 NewDocumentationPart

func NewDocumentationPart(ctx *pulumi.Context,
	name string, args *DocumentationPartArgs, opts ...pulumi.ResourceOption) (*DocumentationPart, error)

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

func (*DocumentationPart) ElementType added in v3.13.0

func (*DocumentationPart) ElementType() reflect.Type

func (*DocumentationPart) ToDocumentationPartOutput added in v3.13.0

func (i *DocumentationPart) ToDocumentationPartOutput() DocumentationPartOutput

func (*DocumentationPart) ToDocumentationPartOutputWithContext added in v3.13.0

func (i *DocumentationPart) ToDocumentationPartOutputWithContext(ctx context.Context) DocumentationPartOutput

func (*DocumentationPart) ToDocumentationPartPtrOutput added in v3.25.0

func (i *DocumentationPart) ToDocumentationPartPtrOutput() DocumentationPartPtrOutput

func (*DocumentationPart) ToDocumentationPartPtrOutputWithContext added in v3.25.0

func (i *DocumentationPart) ToDocumentationPartPtrOutputWithContext(ctx context.Context) DocumentationPartPtrOutput

type DocumentationPartArgs

type DocumentationPartArgs struct {
	// The location of the targeted API entity of the to-be-created documentation part. See below.
	Location DocumentationPartLocationInput
	// A content map of API-specific key-value pairs describing the targeted API entity. The map must be encoded as a JSON string, e.g., "{ \"description\": \"The API does ...\" }". Only Swagger-compliant key-value pairs can be exported and, hence, published.
	Properties pulumi.StringInput
	// The ID of the associated Rest API
	RestApiId pulumi.StringInput
}

The set of arguments for constructing a DocumentationPart resource.

func (DocumentationPartArgs) ElementType

func (DocumentationPartArgs) ElementType() reflect.Type

type DocumentationPartArray added in v3.25.0

type DocumentationPartArray []DocumentationPartInput

func (DocumentationPartArray) ElementType added in v3.25.0

func (DocumentationPartArray) ElementType() reflect.Type

func (DocumentationPartArray) ToDocumentationPartArrayOutput added in v3.25.0

func (i DocumentationPartArray) ToDocumentationPartArrayOutput() DocumentationPartArrayOutput

func (DocumentationPartArray) ToDocumentationPartArrayOutputWithContext added in v3.25.0

func (i DocumentationPartArray) ToDocumentationPartArrayOutputWithContext(ctx context.Context) DocumentationPartArrayOutput

type DocumentationPartArrayInput added in v3.25.0

type DocumentationPartArrayInput interface {
	pulumi.Input

	ToDocumentationPartArrayOutput() DocumentationPartArrayOutput
	ToDocumentationPartArrayOutputWithContext(context.Context) DocumentationPartArrayOutput
}

DocumentationPartArrayInput is an input type that accepts DocumentationPartArray and DocumentationPartArrayOutput values. You can construct a concrete instance of `DocumentationPartArrayInput` via:

DocumentationPartArray{ DocumentationPartArgs{...} }

type DocumentationPartArrayOutput added in v3.25.0

type DocumentationPartArrayOutput struct{ *pulumi.OutputState }

func (DocumentationPartArrayOutput) ElementType added in v3.25.0

func (DocumentationPartArrayOutput) Index added in v3.25.0

func (DocumentationPartArrayOutput) ToDocumentationPartArrayOutput added in v3.25.0

func (o DocumentationPartArrayOutput) ToDocumentationPartArrayOutput() DocumentationPartArrayOutput

func (DocumentationPartArrayOutput) ToDocumentationPartArrayOutputWithContext added in v3.25.0

func (o DocumentationPartArrayOutput) ToDocumentationPartArrayOutputWithContext(ctx context.Context) DocumentationPartArrayOutput

type DocumentationPartInput added in v3.13.0

type DocumentationPartInput interface {
	pulumi.Input

	ToDocumentationPartOutput() DocumentationPartOutput
	ToDocumentationPartOutputWithContext(ctx context.Context) DocumentationPartOutput
}

type DocumentationPartLocation

type DocumentationPartLocation struct {
	// The HTTP verb of a method. The default value is `*` for any method.
	Method *string `pulumi:"method"`
	// The name of the targeted API entity.
	Name *string `pulumi:"name"`
	// The URL path of the target. The default value is `/` for the root resource.
	Path *string `pulumi:"path"`
	// The HTTP status code of a response. The default value is `*` for any status code.
	StatusCode *string `pulumi:"statusCode"`
	// The type of API entity to which the documentation content applies. e.g. `API`, `METHOD` or `REQUEST_BODY`
	Type string `pulumi:"type"`
}

type DocumentationPartLocationArgs

type DocumentationPartLocationArgs struct {
	// The HTTP verb of a method. The default value is `*` for any method.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// The name of the targeted API entity.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The URL path of the target. The default value is `/` for the root resource.
	Path pulumi.StringPtrInput `pulumi:"path"`
	// The HTTP status code of a response. The default value is `*` for any status code.
	StatusCode pulumi.StringPtrInput `pulumi:"statusCode"`
	// The type of API entity to which the documentation content applies. e.g. `API`, `METHOD` or `REQUEST_BODY`
	Type pulumi.StringInput `pulumi:"type"`
}

func (DocumentationPartLocationArgs) ElementType

func (DocumentationPartLocationArgs) ToDocumentationPartLocationOutput

func (i DocumentationPartLocationArgs) ToDocumentationPartLocationOutput() DocumentationPartLocationOutput

func (DocumentationPartLocationArgs) ToDocumentationPartLocationOutputWithContext

func (i DocumentationPartLocationArgs) ToDocumentationPartLocationOutputWithContext(ctx context.Context) DocumentationPartLocationOutput

func (DocumentationPartLocationArgs) ToDocumentationPartLocationPtrOutput

func (i DocumentationPartLocationArgs) ToDocumentationPartLocationPtrOutput() DocumentationPartLocationPtrOutput

func (DocumentationPartLocationArgs) ToDocumentationPartLocationPtrOutputWithContext

func (i DocumentationPartLocationArgs) ToDocumentationPartLocationPtrOutputWithContext(ctx context.Context) DocumentationPartLocationPtrOutput

type DocumentationPartLocationInput

type DocumentationPartLocationInput interface {
	pulumi.Input

	ToDocumentationPartLocationOutput() DocumentationPartLocationOutput
	ToDocumentationPartLocationOutputWithContext(context.Context) DocumentationPartLocationOutput
}

DocumentationPartLocationInput is an input type that accepts DocumentationPartLocationArgs and DocumentationPartLocationOutput values. You can construct a concrete instance of `DocumentationPartLocationInput` via:

DocumentationPartLocationArgs{...}

type DocumentationPartLocationOutput

type DocumentationPartLocationOutput struct{ *pulumi.OutputState }

func (DocumentationPartLocationOutput) ElementType

func (DocumentationPartLocationOutput) Method

The HTTP verb of a method. The default value is `*` for any method.

func (DocumentationPartLocationOutput) Name

The name of the targeted API entity.

func (DocumentationPartLocationOutput) Path

The URL path of the target. The default value is `/` for the root resource.

func (DocumentationPartLocationOutput) StatusCode

The HTTP status code of a response. The default value is `*` for any status code.

func (DocumentationPartLocationOutput) ToDocumentationPartLocationOutput

func (o DocumentationPartLocationOutput) ToDocumentationPartLocationOutput() DocumentationPartLocationOutput

func (DocumentationPartLocationOutput) ToDocumentationPartLocationOutputWithContext

func (o DocumentationPartLocationOutput) ToDocumentationPartLocationOutputWithContext(ctx context.Context) DocumentationPartLocationOutput

func (DocumentationPartLocationOutput) ToDocumentationPartLocationPtrOutput

func (o DocumentationPartLocationOutput) ToDocumentationPartLocationPtrOutput() DocumentationPartLocationPtrOutput

func (DocumentationPartLocationOutput) ToDocumentationPartLocationPtrOutputWithContext

func (o DocumentationPartLocationOutput) ToDocumentationPartLocationPtrOutputWithContext(ctx context.Context) DocumentationPartLocationPtrOutput

func (DocumentationPartLocationOutput) Type

The type of API entity to which the documentation content applies. e.g. `API`, `METHOD` or `REQUEST_BODY`

type DocumentationPartLocationPtrInput

type DocumentationPartLocationPtrInput interface {
	pulumi.Input

	ToDocumentationPartLocationPtrOutput() DocumentationPartLocationPtrOutput
	ToDocumentationPartLocationPtrOutputWithContext(context.Context) DocumentationPartLocationPtrOutput
}

DocumentationPartLocationPtrInput is an input type that accepts DocumentationPartLocationArgs, DocumentationPartLocationPtr and DocumentationPartLocationPtrOutput values. You can construct a concrete instance of `DocumentationPartLocationPtrInput` via:

        DocumentationPartLocationArgs{...}

or:

        nil

type DocumentationPartLocationPtrOutput

type DocumentationPartLocationPtrOutput struct{ *pulumi.OutputState }

func (DocumentationPartLocationPtrOutput) Elem

func (DocumentationPartLocationPtrOutput) ElementType

func (DocumentationPartLocationPtrOutput) Method

The HTTP verb of a method. The default value is `*` for any method.

func (DocumentationPartLocationPtrOutput) Name

The name of the targeted API entity.

func (DocumentationPartLocationPtrOutput) Path

The URL path of the target. The default value is `/` for the root resource.

func (DocumentationPartLocationPtrOutput) StatusCode

The HTTP status code of a response. The default value is `*` for any status code.

func (DocumentationPartLocationPtrOutput) ToDocumentationPartLocationPtrOutput

func (o DocumentationPartLocationPtrOutput) ToDocumentationPartLocationPtrOutput() DocumentationPartLocationPtrOutput

func (DocumentationPartLocationPtrOutput) ToDocumentationPartLocationPtrOutputWithContext

func (o DocumentationPartLocationPtrOutput) ToDocumentationPartLocationPtrOutputWithContext(ctx context.Context) DocumentationPartLocationPtrOutput

func (DocumentationPartLocationPtrOutput) Type

The type of API entity to which the documentation content applies. e.g. `API`, `METHOD` or `REQUEST_BODY`

type DocumentationPartMap added in v3.25.0

type DocumentationPartMap map[string]DocumentationPartInput

func (DocumentationPartMap) ElementType added in v3.25.0

func (DocumentationPartMap) ElementType() reflect.Type

func (DocumentationPartMap) ToDocumentationPartMapOutput added in v3.25.0

func (i DocumentationPartMap) ToDocumentationPartMapOutput() DocumentationPartMapOutput

func (DocumentationPartMap) ToDocumentationPartMapOutputWithContext added in v3.25.0

func (i DocumentationPartMap) ToDocumentationPartMapOutputWithContext(ctx context.Context) DocumentationPartMapOutput

type DocumentationPartMapInput added in v3.25.0

type DocumentationPartMapInput interface {
	pulumi.Input

	ToDocumentationPartMapOutput() DocumentationPartMapOutput
	ToDocumentationPartMapOutputWithContext(context.Context) DocumentationPartMapOutput
}

DocumentationPartMapInput is an input type that accepts DocumentationPartMap and DocumentationPartMapOutput values. You can construct a concrete instance of `DocumentationPartMapInput` via:

DocumentationPartMap{ "key": DocumentationPartArgs{...} }

type DocumentationPartMapOutput added in v3.25.0

type DocumentationPartMapOutput struct{ *pulumi.OutputState }

func (DocumentationPartMapOutput) ElementType added in v3.25.0

func (DocumentationPartMapOutput) ElementType() reflect.Type

func (DocumentationPartMapOutput) MapIndex added in v3.25.0

func (DocumentationPartMapOutput) ToDocumentationPartMapOutput added in v3.25.0

func (o DocumentationPartMapOutput) ToDocumentationPartMapOutput() DocumentationPartMapOutput

func (DocumentationPartMapOutput) ToDocumentationPartMapOutputWithContext added in v3.25.0

func (o DocumentationPartMapOutput) ToDocumentationPartMapOutputWithContext(ctx context.Context) DocumentationPartMapOutput

type DocumentationPartOutput added in v3.13.0

type DocumentationPartOutput struct {
	*pulumi.OutputState
}

func (DocumentationPartOutput) ElementType added in v3.13.0

func (DocumentationPartOutput) ElementType() reflect.Type

func (DocumentationPartOutput) ToDocumentationPartOutput added in v3.13.0

func (o DocumentationPartOutput) ToDocumentationPartOutput() DocumentationPartOutput

func (DocumentationPartOutput) ToDocumentationPartOutputWithContext added in v3.13.0

func (o DocumentationPartOutput) ToDocumentationPartOutputWithContext(ctx context.Context) DocumentationPartOutput

func (DocumentationPartOutput) ToDocumentationPartPtrOutput added in v3.25.0

func (o DocumentationPartOutput) ToDocumentationPartPtrOutput() DocumentationPartPtrOutput

func (DocumentationPartOutput) ToDocumentationPartPtrOutputWithContext added in v3.25.0

func (o DocumentationPartOutput) ToDocumentationPartPtrOutputWithContext(ctx context.Context) DocumentationPartPtrOutput

type DocumentationPartPtrInput added in v3.25.0

type DocumentationPartPtrInput interface {
	pulumi.Input

	ToDocumentationPartPtrOutput() DocumentationPartPtrOutput
	ToDocumentationPartPtrOutputWithContext(ctx context.Context) DocumentationPartPtrOutput
}

type DocumentationPartPtrOutput added in v3.25.0

type DocumentationPartPtrOutput struct {
	*pulumi.OutputState
}

func (DocumentationPartPtrOutput) ElementType added in v3.25.0

func (DocumentationPartPtrOutput) ElementType() reflect.Type

func (DocumentationPartPtrOutput) ToDocumentationPartPtrOutput added in v3.25.0

func (o DocumentationPartPtrOutput) ToDocumentationPartPtrOutput() DocumentationPartPtrOutput

func (DocumentationPartPtrOutput) ToDocumentationPartPtrOutputWithContext added in v3.25.0

func (o DocumentationPartPtrOutput) ToDocumentationPartPtrOutputWithContext(ctx context.Context) DocumentationPartPtrOutput

type DocumentationPartState

type DocumentationPartState struct {
	// The location of the targeted API entity of the to-be-created documentation part. See below.
	Location DocumentationPartLocationPtrInput
	// A content map of API-specific key-value pairs describing the targeted API entity. The map must be encoded as a JSON string, e.g., "{ \"description\": \"The API does ...\" }". Only Swagger-compliant key-value pairs can be exported and, hence, published.
	Properties pulumi.StringPtrInput
	// The ID of the associated Rest API
	RestApiId pulumi.StringPtrInput
}

func (DocumentationPartState) ElementType

func (DocumentationPartState) ElementType() reflect.Type

type DocumentationVersion

type DocumentationVersion struct {
	pulumi.CustomResourceState

	// The description of the API documentation version.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The ID of the associated Rest API
	RestApiId pulumi.StringOutput `pulumi:"restApiId"`
	// The version identifier of the API documentation snapshot.
	Version pulumi.StringOutput `pulumi:"version"`
}

Provides a resource to manage an API Gateway Documentation Version.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleRestApi, err := apigateway.NewRestApi(ctx, "exampleRestApi", nil)
		if err != nil {
			return err
		}
		exampleDocumentationPart, err := apigateway.NewDocumentationPart(ctx, "exampleDocumentationPart", &apigateway.DocumentationPartArgs{
			Location: &apigateway.DocumentationPartLocationArgs{
				Type: pulumi.String("API"),
			},
			Properties: pulumi.String("{\"description\":\"Example\"}"),
			RestApiId:  exampleRestApi.ID(),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewDocumentationVersion(ctx, "exampleDocumentationVersion", &apigateway.DocumentationVersionArgs{
			Version:     pulumi.String("example_version"),
			RestApiId:   exampleRestApi.ID(),
			Description: pulumi.String("Example description"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleDocumentationPart,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

API Gateway documentation versions can be imported using `REST-API-ID/VERSION`, e.g.

```sh

$ pulumi import aws:apigateway/documentationVersion:DocumentationVersion example 5i4e1ko720/example-version

```

func GetDocumentationVersion

func GetDocumentationVersion(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DocumentationVersionState, opts ...pulumi.ResourceOption) (*DocumentationVersion, error)

GetDocumentationVersion gets an existing DocumentationVersion 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 NewDocumentationVersion

func NewDocumentationVersion(ctx *pulumi.Context,
	name string, args *DocumentationVersionArgs, opts ...pulumi.ResourceOption) (*DocumentationVersion, error)

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

func (*DocumentationVersion) ElementType added in v3.13.0

func (*DocumentationVersion) ElementType() reflect.Type

func (*DocumentationVersion) ToDocumentationVersionOutput added in v3.13.0

func (i *DocumentationVersion) ToDocumentationVersionOutput() DocumentationVersionOutput

func (*DocumentationVersion) ToDocumentationVersionOutputWithContext added in v3.13.0

func (i *DocumentationVersion) ToDocumentationVersionOutputWithContext(ctx context.Context) DocumentationVersionOutput

func (*DocumentationVersion) ToDocumentationVersionPtrOutput added in v3.25.0

func (i *DocumentationVersion) ToDocumentationVersionPtrOutput() DocumentationVersionPtrOutput

func (*DocumentationVersion) ToDocumentationVersionPtrOutputWithContext added in v3.25.0

func (i *DocumentationVersion) ToDocumentationVersionPtrOutputWithContext(ctx context.Context) DocumentationVersionPtrOutput

type DocumentationVersionArgs

type DocumentationVersionArgs struct {
	// The description of the API documentation version.
	Description pulumi.StringPtrInput
	// The ID of the associated Rest API
	RestApiId pulumi.StringInput
	// The version identifier of the API documentation snapshot.
	Version pulumi.StringInput
}

The set of arguments for constructing a DocumentationVersion resource.

func (DocumentationVersionArgs) ElementType

func (DocumentationVersionArgs) ElementType() reflect.Type

type DocumentationVersionArray added in v3.25.0

type DocumentationVersionArray []DocumentationVersionInput

func (DocumentationVersionArray) ElementType added in v3.25.0

func (DocumentationVersionArray) ElementType() reflect.Type

func (DocumentationVersionArray) ToDocumentationVersionArrayOutput added in v3.25.0

func (i DocumentationVersionArray) ToDocumentationVersionArrayOutput() DocumentationVersionArrayOutput

func (DocumentationVersionArray) ToDocumentationVersionArrayOutputWithContext added in v3.25.0

func (i DocumentationVersionArray) ToDocumentationVersionArrayOutputWithContext(ctx context.Context) DocumentationVersionArrayOutput

type DocumentationVersionArrayInput added in v3.25.0

type DocumentationVersionArrayInput interface {
	pulumi.Input

	ToDocumentationVersionArrayOutput() DocumentationVersionArrayOutput
	ToDocumentationVersionArrayOutputWithContext(context.Context) DocumentationVersionArrayOutput
}

DocumentationVersionArrayInput is an input type that accepts DocumentationVersionArray and DocumentationVersionArrayOutput values. You can construct a concrete instance of `DocumentationVersionArrayInput` via:

DocumentationVersionArray{ DocumentationVersionArgs{...} }

type DocumentationVersionArrayOutput added in v3.25.0

type DocumentationVersionArrayOutput struct{ *pulumi.OutputState }

func (DocumentationVersionArrayOutput) ElementType added in v3.25.0

func (DocumentationVersionArrayOutput) Index added in v3.25.0

func (DocumentationVersionArrayOutput) ToDocumentationVersionArrayOutput added in v3.25.0

func (o DocumentationVersionArrayOutput) ToDocumentationVersionArrayOutput() DocumentationVersionArrayOutput

func (DocumentationVersionArrayOutput) ToDocumentationVersionArrayOutputWithContext added in v3.25.0

func (o DocumentationVersionArrayOutput) ToDocumentationVersionArrayOutputWithContext(ctx context.Context) DocumentationVersionArrayOutput

type DocumentationVersionInput added in v3.13.0

type DocumentationVersionInput interface {
	pulumi.Input

	ToDocumentationVersionOutput() DocumentationVersionOutput
	ToDocumentationVersionOutputWithContext(ctx context.Context) DocumentationVersionOutput
}

type DocumentationVersionMap added in v3.25.0

type DocumentationVersionMap map[string]DocumentationVersionInput

func (DocumentationVersionMap) ElementType added in v3.25.0

func (DocumentationVersionMap) ElementType() reflect.Type

func (DocumentationVersionMap) ToDocumentationVersionMapOutput added in v3.25.0

func (i DocumentationVersionMap) ToDocumentationVersionMapOutput() DocumentationVersionMapOutput

func (DocumentationVersionMap) ToDocumentationVersionMapOutputWithContext added in v3.25.0

func (i DocumentationVersionMap) ToDocumentationVersionMapOutputWithContext(ctx context.Context) DocumentationVersionMapOutput

type DocumentationVersionMapInput added in v3.25.0

type DocumentationVersionMapInput interface {
	pulumi.Input

	ToDocumentationVersionMapOutput() DocumentationVersionMapOutput
	ToDocumentationVersionMapOutputWithContext(context.Context) DocumentationVersionMapOutput
}

DocumentationVersionMapInput is an input type that accepts DocumentationVersionMap and DocumentationVersionMapOutput values. You can construct a concrete instance of `DocumentationVersionMapInput` via:

DocumentationVersionMap{ "key": DocumentationVersionArgs{...} }

type DocumentationVersionMapOutput added in v3.25.0

type DocumentationVersionMapOutput struct{ *pulumi.OutputState }

func (DocumentationVersionMapOutput) ElementType added in v3.25.0

func (DocumentationVersionMapOutput) MapIndex added in v3.25.0

func (DocumentationVersionMapOutput) ToDocumentationVersionMapOutput added in v3.25.0

func (o DocumentationVersionMapOutput) ToDocumentationVersionMapOutput() DocumentationVersionMapOutput

func (DocumentationVersionMapOutput) ToDocumentationVersionMapOutputWithContext added in v3.25.0

func (o DocumentationVersionMapOutput) ToDocumentationVersionMapOutputWithContext(ctx context.Context) DocumentationVersionMapOutput

type DocumentationVersionOutput added in v3.13.0

type DocumentationVersionOutput struct {
	*pulumi.OutputState
}

func (DocumentationVersionOutput) ElementType added in v3.13.0

func (DocumentationVersionOutput) ElementType() reflect.Type

func (DocumentationVersionOutput) ToDocumentationVersionOutput added in v3.13.0

func (o DocumentationVersionOutput) ToDocumentationVersionOutput() DocumentationVersionOutput

func (DocumentationVersionOutput) ToDocumentationVersionOutputWithContext added in v3.13.0

func (o DocumentationVersionOutput) ToDocumentationVersionOutputWithContext(ctx context.Context) DocumentationVersionOutput

func (DocumentationVersionOutput) ToDocumentationVersionPtrOutput added in v3.25.0

func (o DocumentationVersionOutput) ToDocumentationVersionPtrOutput() DocumentationVersionPtrOutput

func (DocumentationVersionOutput) ToDocumentationVersionPtrOutputWithContext added in v3.25.0

func (o DocumentationVersionOutput) ToDocumentationVersionPtrOutputWithContext(ctx context.Context) DocumentationVersionPtrOutput

type DocumentationVersionPtrInput added in v3.25.0

type DocumentationVersionPtrInput interface {
	pulumi.Input

	ToDocumentationVersionPtrOutput() DocumentationVersionPtrOutput
	ToDocumentationVersionPtrOutputWithContext(ctx context.Context) DocumentationVersionPtrOutput
}

type DocumentationVersionPtrOutput added in v3.25.0

type DocumentationVersionPtrOutput struct {
	*pulumi.OutputState
}

func (DocumentationVersionPtrOutput) ElementType added in v3.25.0

func (DocumentationVersionPtrOutput) ToDocumentationVersionPtrOutput added in v3.25.0

func (o DocumentationVersionPtrOutput) ToDocumentationVersionPtrOutput() DocumentationVersionPtrOutput

func (DocumentationVersionPtrOutput) ToDocumentationVersionPtrOutputWithContext added in v3.25.0

func (o DocumentationVersionPtrOutput) ToDocumentationVersionPtrOutputWithContext(ctx context.Context) DocumentationVersionPtrOutput

type DocumentationVersionState

type DocumentationVersionState struct {
	// The description of the API documentation version.
	Description pulumi.StringPtrInput
	// The ID of the associated Rest API
	RestApiId pulumi.StringPtrInput
	// The version identifier of the API documentation snapshot.
	Version pulumi.StringPtrInput
}

func (DocumentationVersionState) ElementType

func (DocumentationVersionState) ElementType() reflect.Type

type DomainName

type DomainName struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN)
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when an edge-optimized domain name is desired. Conflicts with `certificateName`, `certificateBody`, `certificateChain`, `certificatePrivateKey`, `regionalCertificateArn`, and `regionalCertificateName`.
	CertificateArn pulumi.StringPtrOutput `pulumi:"certificateArn"`
	// The certificate issued for the domain name
	// being registered, in PEM format. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`, `regionalCertificateArn`, and
	// `regionalCertificateName`.
	CertificateBody pulumi.StringPtrOutput `pulumi:"certificateBody"`
	// The certificate for the CA that issued the
	// certificate, along with any intermediate CA certificates required to
	// create an unbroken chain to a certificate trusted by the intended API clients. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`,
	// `regionalCertificateArn`, and `regionalCertificateName`.
	CertificateChain pulumi.StringPtrOutput `pulumi:"certificateChain"`
	// The unique name to use when registering this
	// certificate as an IAM server certificate. Conflicts with `certificateArn`, `regionalCertificateArn`, and
	// `regionalCertificateName`. Required if `certificateArn` is not set.
	CertificateName pulumi.StringPtrOutput `pulumi:"certificateName"`
	// The private key associated with the
	// domain certificate given in `certificateBody`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`, `regionalCertificateArn`, and `regionalCertificateName`.
	CertificatePrivateKey pulumi.StringPtrOutput `pulumi:"certificatePrivateKey"`
	// The upload date associated with the domain certificate.
	CertificateUploadDate pulumi.StringOutput `pulumi:"certificateUploadDate"`
	// The hostname created by Cloudfront to represent
	// the distribution that implements this domain name mapping.
	CloudfrontDomainName pulumi.StringOutput `pulumi:"cloudfrontDomainName"`
	// For convenience, the hosted zone ID (`Z2FDTNDATAQYW2`)
	// that can be used to create a Route53 alias record for the distribution.
	CloudfrontZoneId pulumi.StringOutput `pulumi:"cloudfrontZoneId"`
	// The fully-qualified domain name to register
	DomainName pulumi.StringOutput `pulumi:"domainName"`
	// Configuration block defining API endpoint information including type. Defined below.
	EndpointConfiguration DomainNameEndpointConfigurationOutput `pulumi:"endpointConfiguration"`
	// The mutual TLS authentication configuration for the domain name. Defined below.
	MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrOutput `pulumi:"mutualTlsAuthentication"`
	// The ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`.
	RegionalCertificateArn pulumi.StringPtrOutput `pulumi:"regionalCertificateArn"`
	// The user-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and
	// `certificatePrivateKey`.
	RegionalCertificateName pulumi.StringPtrOutput `pulumi:"regionalCertificateName"`
	// The hostname for the custom domain's regional endpoint.
	RegionalDomainName pulumi.StringOutput `pulumi:"regionalDomainName"`
	// The hosted zone ID that can be used to create a Route53 alias record for the regional endpoint.
	RegionalZoneId pulumi.StringOutput `pulumi:"regionalZoneId"`
	// The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are `TLS_1_0` and `TLS_1_2`. Must be configured to perform drift detection.
	SecurityPolicy pulumi.StringOutput `pulumi:"securityPolicy"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Registers a custom domain name for use with AWS API Gateway. Additional information about this functionality can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html).

This resource just establishes ownership of and the TLS settings for a particular domain name. An API can be attached to a particular path under the registered domain name using the `apigateway.BasePathMapping` resource.

API Gateway domains can be defined as either 'edge-optimized' or 'regional'. In an edge-optimized configuration, API Gateway internally creates and manages a CloudFront distribution to route requests on the given hostname. In addition to this resource it's necessary to create a DNS record corresponding to the given domain name which is an alias (either Route53 alias or traditional CNAME) to the Cloudfront domain name exported in the `cloudfrontDomainName` attribute.

In a regional configuration, API Gateway does not create a CloudFront distribution to route requests to the API, though a distribution can be created if needed. In either case, it is necessary to create a DNS record corresponding to the given domain name which is an alias (either Route53 alias or traditional CNAME) to the regional domain name exported in the `regionalDomainName` attribute.

> **Note:** API Gateway requires the use of AWS Certificate Manager (ACM) certificates instead of Identity and Access Management (IAM) certificates in regions that support ACM. Regions that support ACM can be found in the [Regions and Endpoints Documentation](https://docs.aws.amazon.com/general/latest/gr/rande.html#acm_region). To import an existing private key and certificate into ACM or request an ACM certificate, see the `acm.Certificate` resource.

> **Note:** The `apigateway.DomainName` resource expects dependency on the `acm.CertificateValidation` as only verified certificates can be used. This can be made either explicitly by adding the `dependsOn = [aws_acm_certificate_validation.cert]` attribute. Or implicitly by referring certificate ARN from the validation resource where it will be available after the resource creation: `regionalCertificateArn = aws_acm_certificate_validation.cert.certificate_arn`.

## Example Usage ### Edge Optimized (ACM Certificate)

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleDomainName, err := apigateway.NewDomainName(ctx, "exampleDomainName", &apigateway.DomainNameArgs{
			CertificateArn: pulumi.Any(aws_acm_certificate_validation.Example.Certificate_arn),
			DomainName:     pulumi.String("api.example.com"),
		})
		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.Id),
			Aliases: route53.RecordAliasArray{
				&route53.RecordAliasArgs{
					EvaluateTargetHealth: pulumi.Bool(true),
					Name:                 exampleDomainName.CloudfrontDomainName,
					ZoneId:               exampleDomainName.CloudfrontZoneId,
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Regional (ACM Certificate)

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleDomainName, err := apigateway.NewDomainName(ctx, "exampleDomainName", &apigateway.DomainNameArgs{
			DomainName:             pulumi.String("api.example.com"),
			RegionalCertificateArn: pulumi.Any(aws_acm_certificate_validation.Example.Certificate_arn),
			EndpointConfiguration: &apigateway.DomainNameEndpointConfigurationArgs{
				Types: pulumi.String(pulumi.String{
					pulumi.String("REGIONAL"),
				}),
			},
		})
		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.Id),
			Aliases: route53.RecordAliasArray{
				&route53.RecordAliasArgs{
					EvaluateTargetHealth: pulumi.Bool(true),
					Name:                 exampleDomainName.RegionalDomainName,
					ZoneId:               exampleDomainName.RegionalZoneId,
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

API Gateway domain names can be imported using their `name`, e.g.

```sh

$ pulumi import aws:apigateway/domainName:DomainName example dev.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 added in v3.13.0

func (*DomainName) ElementType() reflect.Type

func (*DomainName) ToDomainNameOutput added in v3.13.0

func (i *DomainName) ToDomainNameOutput() DomainNameOutput

func (*DomainName) ToDomainNameOutputWithContext added in v3.13.0

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

func (*DomainName) ToDomainNamePtrOutput added in v3.25.0

func (i *DomainName) ToDomainNamePtrOutput() DomainNamePtrOutput

func (*DomainName) ToDomainNamePtrOutputWithContext added in v3.25.0

func (i *DomainName) ToDomainNamePtrOutputWithContext(ctx context.Context) DomainNamePtrOutput

type DomainNameArgs

type DomainNameArgs struct {
	// The ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when an edge-optimized domain name is desired. Conflicts with `certificateName`, `certificateBody`, `certificateChain`, `certificatePrivateKey`, `regionalCertificateArn`, and `regionalCertificateName`.
	CertificateArn pulumi.StringPtrInput
	// The certificate issued for the domain name
	// being registered, in PEM format. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`, `regionalCertificateArn`, and
	// `regionalCertificateName`.
	CertificateBody pulumi.StringPtrInput
	// The certificate for the CA that issued the
	// certificate, along with any intermediate CA certificates required to
	// create an unbroken chain to a certificate trusted by the intended API clients. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`,
	// `regionalCertificateArn`, and `regionalCertificateName`.
	CertificateChain pulumi.StringPtrInput
	// The unique name to use when registering this
	// certificate as an IAM server certificate. Conflicts with `certificateArn`, `regionalCertificateArn`, and
	// `regionalCertificateName`. Required if `certificateArn` is not set.
	CertificateName pulumi.StringPtrInput
	// The private key associated with the
	// domain certificate given in `certificateBody`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`, `regionalCertificateArn`, and `regionalCertificateName`.
	CertificatePrivateKey pulumi.StringPtrInput
	// The fully-qualified domain name to register
	DomainName pulumi.StringInput
	// Configuration block defining API endpoint information including type. Defined below.
	EndpointConfiguration DomainNameEndpointConfigurationPtrInput
	// The mutual TLS authentication configuration for the domain name. Defined below.
	MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrInput
	// The ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`.
	RegionalCertificateArn pulumi.StringPtrInput
	// The user-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and
	// `certificatePrivateKey`.
	RegionalCertificateName pulumi.StringPtrInput
	// The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are `TLS_1_0` and `TLS_1_2`. Must be configured to perform drift detection.
	SecurityPolicy pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a DomainName resource.

func (DomainNameArgs) ElementType

func (DomainNameArgs) ElementType() reflect.Type

type DomainNameArray added in v3.25.0

type DomainNameArray []DomainNameInput

func (DomainNameArray) ElementType added in v3.25.0

func (DomainNameArray) ElementType() reflect.Type

func (DomainNameArray) ToDomainNameArrayOutput added in v3.25.0

func (i DomainNameArray) ToDomainNameArrayOutput() DomainNameArrayOutput

func (DomainNameArray) ToDomainNameArrayOutputWithContext added in v3.25.0

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

type DomainNameArrayInput added in v3.25.0

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 added in v3.25.0

type DomainNameArrayOutput struct{ *pulumi.OutputState }

func (DomainNameArrayOutput) ElementType added in v3.25.0

func (DomainNameArrayOutput) ElementType() reflect.Type

func (DomainNameArrayOutput) Index added in v3.25.0

func (DomainNameArrayOutput) ToDomainNameArrayOutput added in v3.25.0

func (o DomainNameArrayOutput) ToDomainNameArrayOutput() DomainNameArrayOutput

func (DomainNameArrayOutput) ToDomainNameArrayOutputWithContext added in v3.25.0

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

type DomainNameEndpointConfiguration

type DomainNameEndpointConfiguration struct {
	// A list of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.
	Types string `pulumi:"types"`
}

type DomainNameEndpointConfigurationArgs

type DomainNameEndpointConfigurationArgs struct {
	// A list of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.
	Types pulumi.StringInput `pulumi:"types"`
}

func (DomainNameEndpointConfigurationArgs) ElementType

func (DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationOutput

func (i DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationOutput() DomainNameEndpointConfigurationOutput

func (DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationOutputWithContext

func (i DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationOutput

func (DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationPtrOutput

func (i DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationPtrOutput() DomainNameEndpointConfigurationPtrOutput

func (DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationPtrOutputWithContext

func (i DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationPtrOutput

type DomainNameEndpointConfigurationInput

type DomainNameEndpointConfigurationInput interface {
	pulumi.Input

	ToDomainNameEndpointConfigurationOutput() DomainNameEndpointConfigurationOutput
	ToDomainNameEndpointConfigurationOutputWithContext(context.Context) DomainNameEndpointConfigurationOutput
}

DomainNameEndpointConfigurationInput is an input type that accepts DomainNameEndpointConfigurationArgs and DomainNameEndpointConfigurationOutput values. You can construct a concrete instance of `DomainNameEndpointConfigurationInput` via:

DomainNameEndpointConfigurationArgs{...}

type DomainNameEndpointConfigurationOutput

type DomainNameEndpointConfigurationOutput struct{ *pulumi.OutputState }

func (DomainNameEndpointConfigurationOutput) ElementType

func (DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationOutput

func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationOutput() DomainNameEndpointConfigurationOutput

func (DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationOutputWithContext

func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationOutput

func (DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationPtrOutput

func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationPtrOutput() DomainNameEndpointConfigurationPtrOutput

func (DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationPtrOutputWithContext

func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationPtrOutput

func (DomainNameEndpointConfigurationOutput) Types

A list of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.

type DomainNameEndpointConfigurationPtrInput

type DomainNameEndpointConfigurationPtrInput interface {
	pulumi.Input

	ToDomainNameEndpointConfigurationPtrOutput() DomainNameEndpointConfigurationPtrOutput
	ToDomainNameEndpointConfigurationPtrOutputWithContext(context.Context) DomainNameEndpointConfigurationPtrOutput
}

DomainNameEndpointConfigurationPtrInput is an input type that accepts DomainNameEndpointConfigurationArgs, DomainNameEndpointConfigurationPtr and DomainNameEndpointConfigurationPtrOutput values. You can construct a concrete instance of `DomainNameEndpointConfigurationPtrInput` via:

        DomainNameEndpointConfigurationArgs{...}

or:

        nil

type DomainNameEndpointConfigurationPtrOutput

type DomainNameEndpointConfigurationPtrOutput struct{ *pulumi.OutputState }

func (DomainNameEndpointConfigurationPtrOutput) Elem

func (DomainNameEndpointConfigurationPtrOutput) ElementType

func (DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutput

func (o DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutput() DomainNameEndpointConfigurationPtrOutput

func (DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutputWithContext

func (o DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationPtrOutput

func (DomainNameEndpointConfigurationPtrOutput) Types

A list of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE` or `REGIONAL`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.

type DomainNameInput added in v3.13.0

type DomainNameInput interface {
	pulumi.Input

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

type DomainNameMap added in v3.25.0

type DomainNameMap map[string]DomainNameInput

func (DomainNameMap) ElementType added in v3.25.0

func (DomainNameMap) ElementType() reflect.Type

func (DomainNameMap) ToDomainNameMapOutput added in v3.25.0

func (i DomainNameMap) ToDomainNameMapOutput() DomainNameMapOutput

func (DomainNameMap) ToDomainNameMapOutputWithContext added in v3.25.0

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

type DomainNameMapInput added in v3.25.0

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 added in v3.25.0

type DomainNameMapOutput struct{ *pulumi.OutputState }

func (DomainNameMapOutput) ElementType added in v3.25.0

func (DomainNameMapOutput) ElementType() reflect.Type

func (DomainNameMapOutput) MapIndex added in v3.25.0

func (DomainNameMapOutput) ToDomainNameMapOutput added in v3.25.0

func (o DomainNameMapOutput) ToDomainNameMapOutput() DomainNameMapOutput

func (DomainNameMapOutput) ToDomainNameMapOutputWithContext added in v3.25.0

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

type DomainNameMutualTlsAuthentication added in v3.24.0

type DomainNameMutualTlsAuthentication struct {
	// An 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"`
	// The 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 added in v3.24.0

type DomainNameMutualTlsAuthenticationArgs struct {
	// An 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"`
	// The 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 added in v3.24.0

func (DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationOutput added in v3.24.0

func (i DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationOutput() DomainNameMutualTlsAuthenticationOutput

func (DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationOutputWithContext added in v3.24.0

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

func (DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationPtrOutput added in v3.24.0

func (i DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationPtrOutput() DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationArgs) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext added in v3.24.0

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

type DomainNameMutualTlsAuthenticationInput added in v3.24.0

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 added in v3.24.0

type DomainNameMutualTlsAuthenticationOutput struct{ *pulumi.OutputState }

func (DomainNameMutualTlsAuthenticationOutput) ElementType added in v3.24.0

func (DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationOutput added in v3.24.0

func (o DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationOutput() DomainNameMutualTlsAuthenticationOutput

func (DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationOutputWithContext added in v3.24.0

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

func (DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationPtrOutput added in v3.24.0

func (o DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationPtrOutput() DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationOutput) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext added in v3.24.0

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

func (DomainNameMutualTlsAuthenticationOutput) TruststoreUri added in v3.24.0

An 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 added in v3.24.0

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

type DomainNameMutualTlsAuthenticationPtrInput added in v3.24.0

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 added in v3.24.0

type DomainNameMutualTlsAuthenticationPtrOutput struct{ *pulumi.OutputState }

func (DomainNameMutualTlsAuthenticationPtrOutput) Elem added in v3.24.0

func (DomainNameMutualTlsAuthenticationPtrOutput) ElementType added in v3.24.0

func (DomainNameMutualTlsAuthenticationPtrOutput) ToDomainNameMutualTlsAuthenticationPtrOutput added in v3.24.0

func (o DomainNameMutualTlsAuthenticationPtrOutput) ToDomainNameMutualTlsAuthenticationPtrOutput() DomainNameMutualTlsAuthenticationPtrOutput

func (DomainNameMutualTlsAuthenticationPtrOutput) ToDomainNameMutualTlsAuthenticationPtrOutputWithContext added in v3.24.0

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

func (DomainNameMutualTlsAuthenticationPtrOutput) TruststoreUri added in v3.24.0

An 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 added in v3.24.0

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

type DomainNameOutput added in v3.13.0

type DomainNameOutput struct {
	*pulumi.OutputState
}

func (DomainNameOutput) ElementType added in v3.13.0

func (DomainNameOutput) ElementType() reflect.Type

func (DomainNameOutput) ToDomainNameOutput added in v3.13.0

func (o DomainNameOutput) ToDomainNameOutput() DomainNameOutput

func (DomainNameOutput) ToDomainNameOutputWithContext added in v3.13.0

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

func (DomainNameOutput) ToDomainNamePtrOutput added in v3.25.0

func (o DomainNameOutput) ToDomainNamePtrOutput() DomainNamePtrOutput

func (DomainNameOutput) ToDomainNamePtrOutputWithContext added in v3.25.0

func (o DomainNameOutput) ToDomainNamePtrOutputWithContext(ctx context.Context) DomainNamePtrOutput

type DomainNamePtrInput added in v3.25.0

type DomainNamePtrInput interface {
	pulumi.Input

	ToDomainNamePtrOutput() DomainNamePtrOutput
	ToDomainNamePtrOutputWithContext(ctx context.Context) DomainNamePtrOutput
}

type DomainNamePtrOutput added in v3.25.0

type DomainNamePtrOutput struct {
	*pulumi.OutputState
}

func (DomainNamePtrOutput) ElementType added in v3.25.0

func (DomainNamePtrOutput) ElementType() reflect.Type

func (DomainNamePtrOutput) ToDomainNamePtrOutput added in v3.25.0

func (o DomainNamePtrOutput) ToDomainNamePtrOutput() DomainNamePtrOutput

func (DomainNamePtrOutput) ToDomainNamePtrOutputWithContext added in v3.25.0

func (o DomainNamePtrOutput) ToDomainNamePtrOutputWithContext(ctx context.Context) DomainNamePtrOutput

type DomainNameState

type DomainNameState struct {
	// Amazon Resource Name (ARN)
	Arn pulumi.StringPtrInput
	// The ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when an edge-optimized domain name is desired. Conflicts with `certificateName`, `certificateBody`, `certificateChain`, `certificatePrivateKey`, `regionalCertificateArn`, and `regionalCertificateName`.
	CertificateArn pulumi.StringPtrInput
	// The certificate issued for the domain name
	// being registered, in PEM format. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`, `regionalCertificateArn`, and
	// `regionalCertificateName`.
	CertificateBody pulumi.StringPtrInput
	// The certificate for the CA that issued the
	// certificate, along with any intermediate CA certificates required to
	// create an unbroken chain to a certificate trusted by the intended API clients. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`,
	// `regionalCertificateArn`, and `regionalCertificateName`.
	CertificateChain pulumi.StringPtrInput
	// The unique name to use when registering this
	// certificate as an IAM server certificate. Conflicts with `certificateArn`, `regionalCertificateArn`, and
	// `regionalCertificateName`. Required if `certificateArn` is not set.
	CertificateName pulumi.StringPtrInput
	// The private key associated with the
	// domain certificate given in `certificateBody`. Only valid for `EDGE` endpoint configuration type. Conflicts with `certificateArn`, `regionalCertificateArn`, and `regionalCertificateName`.
	CertificatePrivateKey pulumi.StringPtrInput
	// The upload date associated with the domain certificate.
	CertificateUploadDate pulumi.StringPtrInput
	// The hostname created by Cloudfront to represent
	// the distribution that implements this domain name mapping.
	CloudfrontDomainName pulumi.StringPtrInput
	// For convenience, the hosted zone ID (`Z2FDTNDATAQYW2`)
	// that can be used to create a Route53 alias record for the distribution.
	CloudfrontZoneId pulumi.StringPtrInput
	// The fully-qualified domain name to register
	DomainName pulumi.StringPtrInput
	// Configuration block defining API endpoint information including type. Defined below.
	EndpointConfiguration DomainNameEndpointConfigurationPtrInput
	// The mutual TLS authentication configuration for the domain name. Defined below.
	MutualTlsAuthentication DomainNameMutualTlsAuthenticationPtrInput
	// The ARN for an AWS-managed certificate. AWS Certificate Manager is the only supported source. Used when a regional domain name is desired. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and `certificatePrivateKey`.
	RegionalCertificateArn pulumi.StringPtrInput
	// The user-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with `certificateArn`, `certificateName`, `certificateBody`, `certificateChain`, and
	// `certificatePrivateKey`.
	RegionalCertificateName pulumi.StringPtrInput
	// The hostname for the custom domain's regional endpoint.
	RegionalDomainName pulumi.StringPtrInput
	// The hosted zone ID that can be used to create a Route53 alias record for the regional endpoint.
	RegionalZoneId pulumi.StringPtrInput
	// The Transport Layer Security (TLS) version + cipher suite for this DomainName. The valid values are `TLS_1_0` and `TLS_1_2`. Must be configured to perform drift detection.
	SecurityPolicy pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

func (DomainNameState) ElementType

func (DomainNameState) ElementType() reflect.Type

type GetDomainNameEndpointConfiguration added in v3.24.0

type GetDomainNameEndpointConfiguration struct {
	// List of endpoint types.
	Types []string `pulumi:"types"`
}

type GetDomainNameEndpointConfigurationArgs added in v3.24.0

type GetDomainNameEndpointConfigurationArgs struct {
	// List of endpoint types.
	Types pulumi.StringArrayInput `pulumi:"types"`
}

func (GetDomainNameEndpointConfigurationArgs) ElementType added in v3.24.0

func (GetDomainNameEndpointConfigurationArgs) ToGetDomainNameEndpointConfigurationOutput added in v3.24.0

func (i GetDomainNameEndpointConfigurationArgs) ToGetDomainNameEndpointConfigurationOutput() GetDomainNameEndpointConfigurationOutput

func (GetDomainNameEndpointConfigurationArgs) ToGetDomainNameEndpointConfigurationOutputWithContext added in v3.24.0

func (i GetDomainNameEndpointConfigurationArgs) ToGetDomainNameEndpointConfigurationOutputWithContext(ctx context.Context) GetDomainNameEndpointConfigurationOutput

type GetDomainNameEndpointConfigurationArray added in v3.24.0

type GetDomainNameEndpointConfigurationArray []GetDomainNameEndpointConfigurationInput

func (GetDomainNameEndpointConfigurationArray) ElementType added in v3.24.0

func (GetDomainNameEndpointConfigurationArray) ToGetDomainNameEndpointConfigurationArrayOutput added in v3.24.0

func (i GetDomainNameEndpointConfigurationArray) ToGetDomainNameEndpointConfigurationArrayOutput() GetDomainNameEndpointConfigurationArrayOutput

func (GetDomainNameEndpointConfigurationArray) ToGetDomainNameEndpointConfigurationArrayOutputWithContext added in v3.24.0

func (i GetDomainNameEndpointConfigurationArray) ToGetDomainNameEndpointConfigurationArrayOutputWithContext(ctx context.Context) GetDomainNameEndpointConfigurationArrayOutput

type GetDomainNameEndpointConfigurationArrayInput added in v3.24.0

type GetDomainNameEndpointConfigurationArrayInput interface {
	pulumi.Input

	ToGetDomainNameEndpointConfigurationArrayOutput() GetDomainNameEndpointConfigurationArrayOutput
	ToGetDomainNameEndpointConfigurationArrayOutputWithContext(context.Context) GetDomainNameEndpointConfigurationArrayOutput
}

GetDomainNameEndpointConfigurationArrayInput is an input type that accepts GetDomainNameEndpointConfigurationArray and GetDomainNameEndpointConfigurationArrayOutput values. You can construct a concrete instance of `GetDomainNameEndpointConfigurationArrayInput` via:

GetDomainNameEndpointConfigurationArray{ GetDomainNameEndpointConfigurationArgs{...} }

type GetDomainNameEndpointConfigurationArrayOutput added in v3.24.0

type GetDomainNameEndpointConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetDomainNameEndpointConfigurationArrayOutput) ElementType added in v3.24.0

func (GetDomainNameEndpointConfigurationArrayOutput) Index added in v3.24.0

func (GetDomainNameEndpointConfigurationArrayOutput) ToGetDomainNameEndpointConfigurationArrayOutput added in v3.24.0

func (o GetDomainNameEndpointConfigurationArrayOutput) ToGetDomainNameEndpointConfigurationArrayOutput() GetDomainNameEndpointConfigurationArrayOutput

func (GetDomainNameEndpointConfigurationArrayOutput) ToGetDomainNameEndpointConfigurationArrayOutputWithContext added in v3.24.0

func (o GetDomainNameEndpointConfigurationArrayOutput) ToGetDomainNameEndpointConfigurationArrayOutputWithContext(ctx context.Context) GetDomainNameEndpointConfigurationArrayOutput

type GetDomainNameEndpointConfigurationInput added in v3.24.0

type GetDomainNameEndpointConfigurationInput interface {
	pulumi.Input

	ToGetDomainNameEndpointConfigurationOutput() GetDomainNameEndpointConfigurationOutput
	ToGetDomainNameEndpointConfigurationOutputWithContext(context.Context) GetDomainNameEndpointConfigurationOutput
}

GetDomainNameEndpointConfigurationInput is an input type that accepts GetDomainNameEndpointConfigurationArgs and GetDomainNameEndpointConfigurationOutput values. You can construct a concrete instance of `GetDomainNameEndpointConfigurationInput` via:

GetDomainNameEndpointConfigurationArgs{...}

type GetDomainNameEndpointConfigurationOutput added in v3.24.0

type GetDomainNameEndpointConfigurationOutput struct{ *pulumi.OutputState }

func (GetDomainNameEndpointConfigurationOutput) ElementType added in v3.24.0

func (GetDomainNameEndpointConfigurationOutput) ToGetDomainNameEndpointConfigurationOutput added in v3.24.0

func (o GetDomainNameEndpointConfigurationOutput) ToGetDomainNameEndpointConfigurationOutput() GetDomainNameEndpointConfigurationOutput

func (GetDomainNameEndpointConfigurationOutput) ToGetDomainNameEndpointConfigurationOutputWithContext added in v3.24.0

func (o GetDomainNameEndpointConfigurationOutput) ToGetDomainNameEndpointConfigurationOutputWithContext(ctx context.Context) GetDomainNameEndpointConfigurationOutput

func (GetDomainNameEndpointConfigurationOutput) Types added in v3.24.0

List of endpoint types.

type GetKeyArgs

type GetKeyArgs struct {
	// The ID of the API Key to look up.
	Id string `pulumi:"id"`
	// A map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getKey.

type GetKeyResult

type GetKeyResult struct {
	// The date and time when the API Key was created.
	CreatedDate string `pulumi:"createdDate"`
	// The description of the API Key.
	Description string `pulumi:"description"`
	// Specifies whether the API Key is enabled.
	Enabled bool `pulumi:"enabled"`
	// Set to the ID of the API Key.
	Id string `pulumi:"id"`
	// The date and time when the API Key was last updated.
	LastUpdatedDate string `pulumi:"lastUpdatedDate"`
	// Set to the name of the API Key.
	Name string `pulumi:"name"`
	// A map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
	// Set to the value of the API Key.
	Value string `pulumi:"value"`
}

A collection of values returned by getKey.

func GetKey

func GetKey(ctx *pulumi.Context, args *GetKeyArgs, opts ...pulumi.InvokeOption) (*GetKeyResult, error)

Use this data source to get the name and value of a pre-existing API Key, for example to supply credentials for a dependency microservice.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigateway.GetKey(ctx, &apigateway.GetKeyArgs{
			Id: "ru3mpjgse6",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetRestApiEndpointConfiguration

type GetRestApiEndpointConfiguration struct {
	Types          []string `pulumi:"types"`
	VpcEndpointIds []string `pulumi:"vpcEndpointIds"`
}

type GetRestApiEndpointConfigurationArgs

type GetRestApiEndpointConfigurationArgs struct {
	Types          pulumi.StringArrayInput `pulumi:"types"`
	VpcEndpointIds pulumi.StringArrayInput `pulumi:"vpcEndpointIds"`
}

func (GetRestApiEndpointConfigurationArgs) ElementType

func (GetRestApiEndpointConfigurationArgs) ToGetRestApiEndpointConfigurationOutput

func (i GetRestApiEndpointConfigurationArgs) ToGetRestApiEndpointConfigurationOutput() GetRestApiEndpointConfigurationOutput

func (GetRestApiEndpointConfigurationArgs) ToGetRestApiEndpointConfigurationOutputWithContext

func (i GetRestApiEndpointConfigurationArgs) ToGetRestApiEndpointConfigurationOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationOutput

type GetRestApiEndpointConfigurationArray

type GetRestApiEndpointConfigurationArray []GetRestApiEndpointConfigurationInput

func (GetRestApiEndpointConfigurationArray) ElementType

func (GetRestApiEndpointConfigurationArray) ToGetRestApiEndpointConfigurationArrayOutput

func (i GetRestApiEndpointConfigurationArray) ToGetRestApiEndpointConfigurationArrayOutput() GetRestApiEndpointConfigurationArrayOutput

func (GetRestApiEndpointConfigurationArray) ToGetRestApiEndpointConfigurationArrayOutputWithContext

func (i GetRestApiEndpointConfigurationArray) ToGetRestApiEndpointConfigurationArrayOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationArrayOutput

type GetRestApiEndpointConfigurationArrayInput

type GetRestApiEndpointConfigurationArrayInput interface {
	pulumi.Input

	ToGetRestApiEndpointConfigurationArrayOutput() GetRestApiEndpointConfigurationArrayOutput
	ToGetRestApiEndpointConfigurationArrayOutputWithContext(context.Context) GetRestApiEndpointConfigurationArrayOutput
}

GetRestApiEndpointConfigurationArrayInput is an input type that accepts GetRestApiEndpointConfigurationArray and GetRestApiEndpointConfigurationArrayOutput values. You can construct a concrete instance of `GetRestApiEndpointConfigurationArrayInput` via:

GetRestApiEndpointConfigurationArray{ GetRestApiEndpointConfigurationArgs{...} }

type GetRestApiEndpointConfigurationArrayOutput

type GetRestApiEndpointConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetRestApiEndpointConfigurationArrayOutput) ElementType

func (GetRestApiEndpointConfigurationArrayOutput) Index

func (GetRestApiEndpointConfigurationArrayOutput) ToGetRestApiEndpointConfigurationArrayOutput

func (o GetRestApiEndpointConfigurationArrayOutput) ToGetRestApiEndpointConfigurationArrayOutput() GetRestApiEndpointConfigurationArrayOutput

func (GetRestApiEndpointConfigurationArrayOutput) ToGetRestApiEndpointConfigurationArrayOutputWithContext

func (o GetRestApiEndpointConfigurationArrayOutput) ToGetRestApiEndpointConfigurationArrayOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationArrayOutput

type GetRestApiEndpointConfigurationInput

type GetRestApiEndpointConfigurationInput interface {
	pulumi.Input

	ToGetRestApiEndpointConfigurationOutput() GetRestApiEndpointConfigurationOutput
	ToGetRestApiEndpointConfigurationOutputWithContext(context.Context) GetRestApiEndpointConfigurationOutput
}

GetRestApiEndpointConfigurationInput is an input type that accepts GetRestApiEndpointConfigurationArgs and GetRestApiEndpointConfigurationOutput values. You can construct a concrete instance of `GetRestApiEndpointConfigurationInput` via:

GetRestApiEndpointConfigurationArgs{...}

type GetRestApiEndpointConfigurationOutput

type GetRestApiEndpointConfigurationOutput struct{ *pulumi.OutputState }

func (GetRestApiEndpointConfigurationOutput) ElementType

func (GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutput

func (o GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutput() GetRestApiEndpointConfigurationOutput

func (GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutputWithContext

func (o GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationOutput

func (GetRestApiEndpointConfigurationOutput) Types

func (GetRestApiEndpointConfigurationOutput) VpcEndpointIds

type Integration

type Integration struct {
	pulumi.CustomResourceState

	// A list of cache key parameters for the integration.
	CacheKeyParameters pulumi.StringArrayOutput `pulumi:"cacheKeyParameters"`
	// The integration's cache namespace.
	CacheNamespace pulumi.StringOutput `pulumi:"cacheNamespace"`
	// The id of the VpcLink used for the integration. **Required** if `connectionType` is `VPC_LINK`
	ConnectionId pulumi.StringPtrOutput `pulumi:"connectionId"`
	// The integration input's [connectionType](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/#connectionType). Valid values are `INTERNET` (default for connections through the public routable internet), and `VPC_LINK` (for private connections between API Gateway and a network load balancer in a VPC).
	ConnectionType pulumi.StringPtrOutput `pulumi:"connectionType"`
	// Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT`. If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehaviors is configured to support payload pass-through.
	ContentHandling pulumi.StringPtrOutput `pulumi:"contentHandling"`
	// The credentials required for the integration. For `AWS` integrations, 2 options are available. To specify an IAM Role for Amazon API Gateway to assume, use the role's ARN. To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::\*:user/\*`.
	Credentials pulumi.StringPtrOutput `pulumi:"credentials"`
	// The HTTP method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTION`, `ANY`)
	// when calling the associated resource.
	HttpMethod pulumi.StringOutput `pulumi:"httpMethod"`
	// The integration HTTP method
	// (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONs`, `ANY`, `PATCH`) specifying how API Gateway will interact with the back end.
	// **Required** if `type` is `AWS`, `AWS_PROXY`, `HTTP` or `HTTP_PROXY`.
	// Not all methods are compatible with all `AWS` integrations.
	// e.g. Lambda function [can only be invoked](https://github.com/awslabs/aws-apigateway-importer/issues/9#issuecomment-129651005) via `POST`.
	IntegrationHttpMethod pulumi.StringPtrOutput `pulumi:"integrationHttpMethod"`
	// The integration passthrough behavior (`WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`).  **Required** if `requestTemplates` is used.
	PassthroughBehavior pulumi.StringOutput `pulumi:"passthroughBehavior"`
	// A map of request query string parameters and headers that should be passed to the backend responder.
	// For example: `requestParameters = { "integration.request.header.X-Some-Other-Header" = "method.request.header.X-Some-Header" }`
	RequestParameters pulumi.StringMapOutput `pulumi:"requestParameters"`
	// A map of the integration's request templates.
	RequestTemplates pulumi.StringMapOutput `pulumi:"requestTemplates"`
	// The API resource ID.
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// The ID of the associated REST API.
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds.
	TimeoutMilliseconds pulumi.IntPtrOutput `pulumi:"timeoutMilliseconds"`
	// Configuration block specifying the TLS configuration for an integration. Defined below.
	TlsConfig IntegrationTlsConfigPtrOutput `pulumi:"tlsConfig"`
	// The integration input's [type](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/). Valid values are `HTTP` (for HTTP backends), `MOCK` (not calling any real backend), `AWS` (for AWS services), `AWS_PROXY` (for Lambda proxy integration) and `HTTP_PROXY` (for HTTP proxy integration). An `HTTP` or `HTTP_PROXY` integration with a `connectionType` of `VPC_LINK` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
	Type pulumi.StringOutput `pulumi:"type"`
	// The input's URI. **Required** if `type` is `AWS`, `AWS_PROXY`, `HTTP` or `HTTP_PROXY`.
	// For HTTP integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification . For AWS integrations, the URI should be of the form `arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}`. `region`, `subdomain` and `service` are used to determine the right endpoint.
	// e.g. `arn:aws:apigateway:eu-west-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-west-1:012345678901:function:my-func/invocations`. For private integrations, the URI parameter is not used for routing requests to your endpoint, but is used for setting the Host header and for certificate validation.
	Uri pulumi.StringPtrOutput `pulumi:"uri"`
}

Provides an HTTP Method Integration for an API Gateway Integration.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myDemoAPI, err := apigateway.NewRestApi(ctx, "myDemoAPI", &apigateway.RestApiArgs{
			Description: pulumi.String("This is my API for demonstration purposes"),
		})
		if err != nil {
			return err
		}
		myDemoResource, err := apigateway.NewResource(ctx, "myDemoResource", &apigateway.ResourceArgs{
			RestApi:  myDemoAPI.ID(),
			ParentId: myDemoAPI.RootResourceId,
			PathPart: pulumi.String("mydemoresource"),
		})
		if err != nil {
			return err
		}
		myDemoMethod, err := apigateway.NewMethod(ctx, "myDemoMethod", &apigateway.MethodArgs{
			RestApi:       myDemoAPI.ID(),
			ResourceId:    myDemoResource.ID(),
			HttpMethod:    pulumi.String("GET"),
			Authorization: pulumi.String("NONE"),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewIntegration(ctx, "myDemoIntegration", &apigateway.IntegrationArgs{
			RestApi:    myDemoAPI.ID(),
			ResourceId: myDemoResource.ID(),
			HttpMethod: myDemoMethod.HttpMethod,
			Type:       pulumi.String("MOCK"),
			CacheKeyParameters: pulumi.StringArray{
				pulumi.String("method.request.path.param"),
			},
			CacheNamespace:      pulumi.String("foobar"),
			TimeoutMilliseconds: pulumi.Int(29000),
			RequestParameters: pulumi.StringMap{
				"integration.request.header.X-Authorization": pulumi.String("'static'"),
			},
			RequestTemplates: pulumi.StringMap{
				"application/xml": pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v", "{\n", "   \"body\" : ", "$", "input.json('", "$", "')\n", "}\n")),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_api_gateway_integration` can be imported using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`, e.g.

```sh

$ pulumi import aws:apigateway/integration:Integration example 12345abcde/67890fghij/GET

```

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 added in v3.13.0

func (*Integration) ElementType() reflect.Type

func (*Integration) ToIntegrationOutput added in v3.13.0

func (i *Integration) ToIntegrationOutput() IntegrationOutput

func (*Integration) ToIntegrationOutputWithContext added in v3.13.0

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

func (*Integration) ToIntegrationPtrOutput added in v3.25.0

func (i *Integration) ToIntegrationPtrOutput() IntegrationPtrOutput

func (*Integration) ToIntegrationPtrOutputWithContext added in v3.25.0

func (i *Integration) ToIntegrationPtrOutputWithContext(ctx context.Context) IntegrationPtrOutput

type IntegrationArgs

type IntegrationArgs struct {
	// A list of cache key parameters for the integration.
	CacheKeyParameters pulumi.StringArrayInput
	// The integration's cache namespace.
	CacheNamespace pulumi.StringPtrInput
	// The id of the VpcLink used for the integration. **Required** if `connectionType` is `VPC_LINK`
	ConnectionId pulumi.StringPtrInput
	// The integration input's [connectionType](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/#connectionType). Valid values are `INTERNET` (default for connections through the public routable internet), and `VPC_LINK` (for private connections between API Gateway and a network load balancer in a VPC).
	ConnectionType pulumi.StringPtrInput
	// Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT`. If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehaviors is configured to support payload pass-through.
	ContentHandling pulumi.StringPtrInput
	// The credentials required for the integration. For `AWS` integrations, 2 options are available. To specify an IAM Role for Amazon API Gateway to assume, use the role's ARN. To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::\*:user/\*`.
	Credentials pulumi.StringPtrInput
	// The HTTP method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTION`, `ANY`)
	// when calling the associated resource.
	HttpMethod pulumi.StringInput
	// The integration HTTP method
	// (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONs`, `ANY`, `PATCH`) specifying how API Gateway will interact with the back end.
	// **Required** if `type` is `AWS`, `AWS_PROXY`, `HTTP` or `HTTP_PROXY`.
	// Not all methods are compatible with all `AWS` integrations.
	// e.g. Lambda function [can only be invoked](https://github.com/awslabs/aws-apigateway-importer/issues/9#issuecomment-129651005) via `POST`.
	IntegrationHttpMethod pulumi.StringPtrInput
	// The integration passthrough behavior (`WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`).  **Required** if `requestTemplates` is used.
	PassthroughBehavior pulumi.StringPtrInput
	// A map of request query string parameters and headers that should be passed to the backend responder.
	// For example: `requestParameters = { "integration.request.header.X-Some-Other-Header" = "method.request.header.X-Some-Header" }`
	RequestParameters pulumi.StringMapInput
	// A map of the integration's request templates.
	RequestTemplates pulumi.StringMapInput
	// The API resource ID.
	ResourceId pulumi.StringInput
	// The ID of the associated REST API.
	RestApi pulumi.Input
	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds.
	TimeoutMilliseconds pulumi.IntPtrInput
	// Configuration block specifying the TLS configuration for an integration. Defined below.
	TlsConfig IntegrationTlsConfigPtrInput
	// The integration input's [type](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/). Valid values are `HTTP` (for HTTP backends), `MOCK` (not calling any real backend), `AWS` (for AWS services), `AWS_PROXY` (for Lambda proxy integration) and `HTTP_PROXY` (for HTTP proxy integration). An `HTTP` or `HTTP_PROXY` integration with a `connectionType` of `VPC_LINK` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
	Type pulumi.StringInput
	// The input's URI. **Required** if `type` is `AWS`, `AWS_PROXY`, `HTTP` or `HTTP_PROXY`.
	// For HTTP integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification . For AWS integrations, the URI should be of the form `arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}`. `region`, `subdomain` and `service` are used to determine the right endpoint.
	// e.g. `arn:aws:apigateway:eu-west-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-west-1:012345678901:function:my-func/invocations`. For private integrations, the URI parameter is not used for routing requests to your endpoint, but is used for setting the Host header and for certificate validation.
	Uri pulumi.StringPtrInput
}

The set of arguments for constructing a Integration resource.

func (IntegrationArgs) ElementType

func (IntegrationArgs) ElementType() reflect.Type

type IntegrationArray added in v3.25.0

type IntegrationArray []IntegrationInput

func (IntegrationArray) ElementType added in v3.25.0

func (IntegrationArray) ElementType() reflect.Type

func (IntegrationArray) ToIntegrationArrayOutput added in v3.25.0

func (i IntegrationArray) ToIntegrationArrayOutput() IntegrationArrayOutput

func (IntegrationArray) ToIntegrationArrayOutputWithContext added in v3.25.0

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

type IntegrationArrayInput added in v3.25.0

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 added in v3.25.0

type IntegrationArrayOutput struct{ *pulumi.OutputState }

func (IntegrationArrayOutput) ElementType added in v3.25.0

func (IntegrationArrayOutput) ElementType() reflect.Type

func (IntegrationArrayOutput) Index added in v3.25.0

func (IntegrationArrayOutput) ToIntegrationArrayOutput added in v3.25.0

func (o IntegrationArrayOutput) ToIntegrationArrayOutput() IntegrationArrayOutput

func (IntegrationArrayOutput) ToIntegrationArrayOutputWithContext added in v3.25.0

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

type IntegrationInput added in v3.13.0

type IntegrationInput interface {
	pulumi.Input

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

type IntegrationMap added in v3.25.0

type IntegrationMap map[string]IntegrationInput

func (IntegrationMap) ElementType added in v3.25.0

func (IntegrationMap) ElementType() reflect.Type

func (IntegrationMap) ToIntegrationMapOutput added in v3.25.0

func (i IntegrationMap) ToIntegrationMapOutput() IntegrationMapOutput

func (IntegrationMap) ToIntegrationMapOutputWithContext added in v3.25.0

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

type IntegrationMapInput added in v3.25.0

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 added in v3.25.0

type IntegrationMapOutput struct{ *pulumi.OutputState }

func (IntegrationMapOutput) ElementType added in v3.25.0

func (IntegrationMapOutput) ElementType() reflect.Type

func (IntegrationMapOutput) MapIndex added in v3.25.0

func (IntegrationMapOutput) ToIntegrationMapOutput added in v3.25.0

func (o IntegrationMapOutput) ToIntegrationMapOutput() IntegrationMapOutput

func (IntegrationMapOutput) ToIntegrationMapOutputWithContext added in v3.25.0

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

type IntegrationOutput added in v3.13.0

type IntegrationOutput struct {
	*pulumi.OutputState
}

func (IntegrationOutput) ElementType added in v3.13.0

func (IntegrationOutput) ElementType() reflect.Type

func (IntegrationOutput) ToIntegrationOutput added in v3.13.0

func (o IntegrationOutput) ToIntegrationOutput() IntegrationOutput

func (IntegrationOutput) ToIntegrationOutputWithContext added in v3.13.0

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

func (IntegrationOutput) ToIntegrationPtrOutput added in v3.25.0

func (o IntegrationOutput) ToIntegrationPtrOutput() IntegrationPtrOutput

func (IntegrationOutput) ToIntegrationPtrOutputWithContext added in v3.25.0

func (o IntegrationOutput) ToIntegrationPtrOutputWithContext(ctx context.Context) IntegrationPtrOutput

type IntegrationPtrInput added in v3.25.0

type IntegrationPtrInput interface {
	pulumi.Input

	ToIntegrationPtrOutput() IntegrationPtrOutput
	ToIntegrationPtrOutputWithContext(ctx context.Context) IntegrationPtrOutput
}

type IntegrationPtrOutput added in v3.25.0

type IntegrationPtrOutput struct {
	*pulumi.OutputState
}

func (IntegrationPtrOutput) ElementType added in v3.25.0

func (IntegrationPtrOutput) ElementType() reflect.Type

func (IntegrationPtrOutput) ToIntegrationPtrOutput added in v3.25.0

func (o IntegrationPtrOutput) ToIntegrationPtrOutput() IntegrationPtrOutput

func (IntegrationPtrOutput) ToIntegrationPtrOutputWithContext added in v3.25.0

func (o IntegrationPtrOutput) ToIntegrationPtrOutputWithContext(ctx context.Context) IntegrationPtrOutput

type IntegrationResponse

type IntegrationResponse struct {
	pulumi.CustomResourceState

	// Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT`. If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.
	ContentHandling pulumi.StringPtrOutput `pulumi:"contentHandling"`
	// The HTTP method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringOutput `pulumi:"httpMethod"`
	// The API resource ID
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// A map of response parameters that can be read from the backend response.
	// For example: `responseParameters = { "method.response.header.X-Some-Header" = "integration.response.header.X-Some-Other-Header" }`
	ResponseParameters pulumi.StringMapOutput `pulumi:"responseParameters"`
	// A map specifying the templates used to transform the integration response body
	ResponseTemplates pulumi.StringMapOutput `pulumi:"responseTemplates"`
	// The ID of the associated REST API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// Specifies the regular expression pattern used to choose
	// an integration response based on the response from the backend. Omit configuring this to make the integration the default one.
	// If the backend is an `AWS` Lambda function, the AWS Lambda function error header is matched.
	// For all other `HTTP` and `AWS` backends, the HTTP status code is matched.
	SelectionPattern pulumi.StringPtrOutput `pulumi:"selectionPattern"`
	// The HTTP status code
	StatusCode pulumi.StringOutput `pulumi:"statusCode"`
}

Provides an HTTP Method Integration Response for an API Gateway Resource.

> **Note:** Depends on having `apigateway.Integration` inside your rest api. To ensure this you might need to add an explicit `dependsOn` for clean runs.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myDemoAPI, err := apigateway.NewRestApi(ctx, "myDemoAPI", &apigateway.RestApiArgs{
			Description: pulumi.String("This is my API for demonstration purposes"),
		})
		if err != nil {
			return err
		}
		myDemoResource, err := apigateway.NewResource(ctx, "myDemoResource", &apigateway.ResourceArgs{
			RestApi:  myDemoAPI.ID(),
			ParentId: myDemoAPI.RootResourceId,
			PathPart: pulumi.String("mydemoresource"),
		})
		if err != nil {
			return err
		}
		myDemoMethod, err := apigateway.NewMethod(ctx, "myDemoMethod", &apigateway.MethodArgs{
			RestApi:       myDemoAPI.ID(),
			ResourceId:    myDemoResource.ID(),
			HttpMethod:    pulumi.String("GET"),
			Authorization: pulumi.String("NONE"),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewIntegration(ctx, "myDemoIntegration", &apigateway.IntegrationArgs{
			RestApi:    myDemoAPI.ID(),
			ResourceId: myDemoResource.ID(),
			HttpMethod: myDemoMethod.HttpMethod,
			Type:       pulumi.String("MOCK"),
		})
		if err != nil {
			return err
		}
		response200, err := apigateway.NewMethodResponse(ctx, "response200", &apigateway.MethodResponseArgs{
			RestApi:    myDemoAPI.ID(),
			ResourceId: myDemoResource.ID(),
			HttpMethod: myDemoMethod.HttpMethod,
			StatusCode: pulumi.String("200"),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewIntegrationResponse(ctx, "myDemoIntegrationResponse", &apigateway.IntegrationResponseArgs{
			RestApi:    myDemoAPI.ID(),
			ResourceId: myDemoResource.ID(),
			HttpMethod: myDemoMethod.HttpMethod,
			StatusCode: response200.StatusCode,
			ResponseTemplates: pulumi.StringMap{
				"application/xml": pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "#set(", "$", "inputRoot = ", "$", "input.path('", "$", "'))\n", "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n", "<message>\n", "    ", "$", "inputRoot.body\n", "</message>\n")),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_api_gateway_integration_response` can be imported using `REST-API-ID/RESOURCE-ID/HTTP-METHOD/STATUS-CODE`, e.g.

```sh

$ pulumi import aws:apigateway/integrationResponse:IntegrationResponse example 12345abcde/67890fghij/GET/200

```

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 added in v3.13.0

func (*IntegrationResponse) ElementType() reflect.Type

func (*IntegrationResponse) ToIntegrationResponseOutput added in v3.13.0

func (i *IntegrationResponse) ToIntegrationResponseOutput() IntegrationResponseOutput

func (*IntegrationResponse) ToIntegrationResponseOutputWithContext added in v3.13.0

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

func (*IntegrationResponse) ToIntegrationResponsePtrOutput added in v3.25.0

func (i *IntegrationResponse) ToIntegrationResponsePtrOutput() IntegrationResponsePtrOutput

func (*IntegrationResponse) ToIntegrationResponsePtrOutputWithContext added in v3.25.0

func (i *IntegrationResponse) ToIntegrationResponsePtrOutputWithContext(ctx context.Context) IntegrationResponsePtrOutput

type IntegrationResponseArgs

type IntegrationResponseArgs struct {
	// Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT`. If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.
	ContentHandling pulumi.StringPtrInput
	// The HTTP method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringInput
	// The API resource ID
	ResourceId pulumi.StringInput
	// A map of response parameters that can be read from the backend response.
	// For example: `responseParameters = { "method.response.header.X-Some-Header" = "integration.response.header.X-Some-Other-Header" }`
	ResponseParameters pulumi.StringMapInput
	// A map specifying the templates used to transform the integration response body
	ResponseTemplates pulumi.StringMapInput
	// The ID of the associated REST API
	RestApi pulumi.Input
	// Specifies the regular expression pattern used to choose
	// an integration response based on the response from the backend. Omit configuring this to make the integration the default one.
	// If the backend is an `AWS` Lambda function, the AWS Lambda function error header is matched.
	// For all other `HTTP` and `AWS` backends, the HTTP status code is matched.
	SelectionPattern pulumi.StringPtrInput
	// The HTTP status code
	StatusCode pulumi.StringInput
}

The set of arguments for constructing a IntegrationResponse resource.

func (IntegrationResponseArgs) ElementType

func (IntegrationResponseArgs) ElementType() reflect.Type

type IntegrationResponseArray added in v3.25.0

type IntegrationResponseArray []IntegrationResponseInput

func (IntegrationResponseArray) ElementType added in v3.25.0

func (IntegrationResponseArray) ElementType() reflect.Type

func (IntegrationResponseArray) ToIntegrationResponseArrayOutput added in v3.25.0

func (i IntegrationResponseArray) ToIntegrationResponseArrayOutput() IntegrationResponseArrayOutput

func (IntegrationResponseArray) ToIntegrationResponseArrayOutputWithContext added in v3.25.0

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

type IntegrationResponseArrayInput added in v3.25.0

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 added in v3.25.0

type IntegrationResponseArrayOutput struct{ *pulumi.OutputState }

func (IntegrationResponseArrayOutput) ElementType added in v3.25.0

func (IntegrationResponseArrayOutput) Index added in v3.25.0

func (IntegrationResponseArrayOutput) ToIntegrationResponseArrayOutput added in v3.25.0

func (o IntegrationResponseArrayOutput) ToIntegrationResponseArrayOutput() IntegrationResponseArrayOutput

func (IntegrationResponseArrayOutput) ToIntegrationResponseArrayOutputWithContext added in v3.25.0

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

type IntegrationResponseInput added in v3.13.0

type IntegrationResponseInput interface {
	pulumi.Input

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

type IntegrationResponseMap added in v3.25.0

type IntegrationResponseMap map[string]IntegrationResponseInput

func (IntegrationResponseMap) ElementType added in v3.25.0

func (IntegrationResponseMap) ElementType() reflect.Type

func (IntegrationResponseMap) ToIntegrationResponseMapOutput added in v3.25.0

func (i IntegrationResponseMap) ToIntegrationResponseMapOutput() IntegrationResponseMapOutput

func (IntegrationResponseMap) ToIntegrationResponseMapOutputWithContext added in v3.25.0

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

type IntegrationResponseMapInput added in v3.25.0

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 added in v3.25.0

type IntegrationResponseMapOutput struct{ *pulumi.OutputState }

func (IntegrationResponseMapOutput) ElementType added in v3.25.0

func (IntegrationResponseMapOutput) MapIndex added in v3.25.0

func (IntegrationResponseMapOutput) ToIntegrationResponseMapOutput added in v3.25.0

func (o IntegrationResponseMapOutput) ToIntegrationResponseMapOutput() IntegrationResponseMapOutput

func (IntegrationResponseMapOutput) ToIntegrationResponseMapOutputWithContext added in v3.25.0

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

type IntegrationResponseOutput added in v3.13.0

type IntegrationResponseOutput struct {
	*pulumi.OutputState
}

func (IntegrationResponseOutput) ElementType added in v3.13.0

func (IntegrationResponseOutput) ElementType() reflect.Type

func (IntegrationResponseOutput) ToIntegrationResponseOutput added in v3.13.0

func (o IntegrationResponseOutput) ToIntegrationResponseOutput() IntegrationResponseOutput

func (IntegrationResponseOutput) ToIntegrationResponseOutputWithContext added in v3.13.0

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

func (IntegrationResponseOutput) ToIntegrationResponsePtrOutput added in v3.25.0

func (o IntegrationResponseOutput) ToIntegrationResponsePtrOutput() IntegrationResponsePtrOutput

func (IntegrationResponseOutput) ToIntegrationResponsePtrOutputWithContext added in v3.25.0

func (o IntegrationResponseOutput) ToIntegrationResponsePtrOutputWithContext(ctx context.Context) IntegrationResponsePtrOutput

type IntegrationResponsePtrInput added in v3.25.0

type IntegrationResponsePtrInput interface {
	pulumi.Input

	ToIntegrationResponsePtrOutput() IntegrationResponsePtrOutput
	ToIntegrationResponsePtrOutputWithContext(ctx context.Context) IntegrationResponsePtrOutput
}

type IntegrationResponsePtrOutput added in v3.25.0

type IntegrationResponsePtrOutput struct {
	*pulumi.OutputState
}

func (IntegrationResponsePtrOutput) ElementType added in v3.25.0

func (IntegrationResponsePtrOutput) ToIntegrationResponsePtrOutput added in v3.25.0

func (o IntegrationResponsePtrOutput) ToIntegrationResponsePtrOutput() IntegrationResponsePtrOutput

func (IntegrationResponsePtrOutput) ToIntegrationResponsePtrOutputWithContext added in v3.25.0

func (o IntegrationResponsePtrOutput) ToIntegrationResponsePtrOutputWithContext(ctx context.Context) IntegrationResponsePtrOutput

type IntegrationResponseState

type IntegrationResponseState struct {
	// Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT`. If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.
	ContentHandling pulumi.StringPtrInput
	// The HTTP method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringPtrInput
	// The API resource ID
	ResourceId pulumi.StringPtrInput
	// A map of response parameters that can be read from the backend response.
	// For example: `responseParameters = { "method.response.header.X-Some-Header" = "integration.response.header.X-Some-Other-Header" }`
	ResponseParameters pulumi.StringMapInput
	// A map specifying the templates used to transform the integration response body
	ResponseTemplates pulumi.StringMapInput
	// The ID of the associated REST API
	RestApi pulumi.StringPtrInput
	// Specifies the regular expression pattern used to choose
	// an integration response based on the response from the backend. Omit configuring this to make the integration the default one.
	// If the backend is an `AWS` Lambda function, the AWS Lambda function error header is matched.
	// For all other `HTTP` and `AWS` backends, the HTTP status code is matched.
	SelectionPattern pulumi.StringPtrInput
	// The HTTP status code
	StatusCode pulumi.StringPtrInput
}

func (IntegrationResponseState) ElementType

func (IntegrationResponseState) ElementType() reflect.Type

type IntegrationState

type IntegrationState struct {
	// A list of cache key parameters for the integration.
	CacheKeyParameters pulumi.StringArrayInput
	// The integration's cache namespace.
	CacheNamespace pulumi.StringPtrInput
	// The id of the VpcLink used for the integration. **Required** if `connectionType` is `VPC_LINK`
	ConnectionId pulumi.StringPtrInput
	// The integration input's [connectionType](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/#connectionType). Valid values are `INTERNET` (default for connections through the public routable internet), and `VPC_LINK` (for private connections between API Gateway and a network load balancer in a VPC).
	ConnectionType pulumi.StringPtrInput
	// Specifies how to handle request payload content type conversions. Supported values are `CONVERT_TO_BINARY` and `CONVERT_TO_TEXT`. If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehaviors is configured to support payload pass-through.
	ContentHandling pulumi.StringPtrInput
	// The credentials required for the integration. For `AWS` integrations, 2 options are available. To specify an IAM Role for Amazon API Gateway to assume, use the role's ARN. To require that the caller's identity be passed through from the request, specify the string `arn:aws:iam::\*:user/\*`.
	Credentials pulumi.StringPtrInput
	// The HTTP method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTION`, `ANY`)
	// when calling the associated resource.
	HttpMethod pulumi.StringPtrInput
	// The integration HTTP method
	// (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONs`, `ANY`, `PATCH`) specifying how API Gateway will interact with the back end.
	// **Required** if `type` is `AWS`, `AWS_PROXY`, `HTTP` or `HTTP_PROXY`.
	// Not all methods are compatible with all `AWS` integrations.
	// e.g. Lambda function [can only be invoked](https://github.com/awslabs/aws-apigateway-importer/issues/9#issuecomment-129651005) via `POST`.
	IntegrationHttpMethod pulumi.StringPtrInput
	// The integration passthrough behavior (`WHEN_NO_MATCH`, `WHEN_NO_TEMPLATES`, `NEVER`).  **Required** if `requestTemplates` is used.
	PassthroughBehavior pulumi.StringPtrInput
	// A map of request query string parameters and headers that should be passed to the backend responder.
	// For example: `requestParameters = { "integration.request.header.X-Some-Other-Header" = "method.request.header.X-Some-Header" }`
	RequestParameters pulumi.StringMapInput
	// A map of the integration's request templates.
	RequestTemplates pulumi.StringMapInput
	// The API resource ID.
	ResourceId pulumi.StringPtrInput
	// The ID of the associated REST API.
	RestApi pulumi.StringPtrInput
	// Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds.
	TimeoutMilliseconds pulumi.IntPtrInput
	// Configuration block specifying the TLS configuration for an integration. Defined below.
	TlsConfig IntegrationTlsConfigPtrInput
	// The integration input's [type](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/). Valid values are `HTTP` (for HTTP backends), `MOCK` (not calling any real backend), `AWS` (for AWS services), `AWS_PROXY` (for Lambda proxy integration) and `HTTP_PROXY` (for HTTP proxy integration). An `HTTP` or `HTTP_PROXY` integration with a `connectionType` of `VPC_LINK` is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.
	Type pulumi.StringPtrInput
	// The input's URI. **Required** if `type` is `AWS`, `AWS_PROXY`, `HTTP` or `HTTP_PROXY`.
	// For HTTP integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the RFC-3986 specification . For AWS integrations, the URI should be of the form `arn:aws:apigateway:{region}:{subdomain.service|service}:{path|action}/{service_api}`. `region`, `subdomain` and `service` are used to determine the right endpoint.
	// e.g. `arn:aws:apigateway:eu-west-1:lambda:path/2015-03-31/functions/arn:aws:lambda:eu-west-1:012345678901:function:my-func/invocations`. For private integrations, the URI parameter is not used for routing requests to your endpoint, but is used for setting the Host header and for certificate validation.
	Uri pulumi.StringPtrInput
}

func (IntegrationState) ElementType

func (IntegrationState) ElementType() reflect.Type

type IntegrationTlsConfig added in v3.24.0

type IntegrationTlsConfig struct {
	// Specifies whether or not API Gateway skips verification that the certificate for an integration endpoint is issued by a [supported certificate authority](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html). This isn’t recommended, but it enables you to use certificates that are signed by private certificate authorities, or certificates that are self-signed. If enabled, API Gateway still performs basic certificate validation, which includes checking the certificate's expiration date, hostname, and presence of a root certificate authority. Supported only for `HTTP` and `HTTP_PROXY` integrations.
	InsecureSkipVerification *bool `pulumi:"insecureSkipVerification"`
}

type IntegrationTlsConfigArgs added in v3.24.0

type IntegrationTlsConfigArgs struct {
	// Specifies whether or not API Gateway skips verification that the certificate for an integration endpoint is issued by a [supported certificate authority](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html). This isn’t recommended, but it enables you to use certificates that are signed by private certificate authorities, or certificates that are self-signed. If enabled, API Gateway still performs basic certificate validation, which includes checking the certificate's expiration date, hostname, and presence of a root certificate authority. Supported only for `HTTP` and `HTTP_PROXY` integrations.
	InsecureSkipVerification pulumi.BoolPtrInput `pulumi:"insecureSkipVerification"`
}

func (IntegrationTlsConfigArgs) ElementType added in v3.24.0

func (IntegrationTlsConfigArgs) ElementType() reflect.Type

func (IntegrationTlsConfigArgs) ToIntegrationTlsConfigOutput added in v3.24.0

func (i IntegrationTlsConfigArgs) ToIntegrationTlsConfigOutput() IntegrationTlsConfigOutput

func (IntegrationTlsConfigArgs) ToIntegrationTlsConfigOutputWithContext added in v3.24.0

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

func (IntegrationTlsConfigArgs) ToIntegrationTlsConfigPtrOutput added in v3.24.0

func (i IntegrationTlsConfigArgs) ToIntegrationTlsConfigPtrOutput() IntegrationTlsConfigPtrOutput

func (IntegrationTlsConfigArgs) ToIntegrationTlsConfigPtrOutputWithContext added in v3.24.0

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

type IntegrationTlsConfigInput added in v3.24.0

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 added in v3.24.0

type IntegrationTlsConfigOutput struct{ *pulumi.OutputState }

func (IntegrationTlsConfigOutput) ElementType added in v3.24.0

func (IntegrationTlsConfigOutput) ElementType() reflect.Type

func (IntegrationTlsConfigOutput) InsecureSkipVerification added in v3.24.0

func (o IntegrationTlsConfigOutput) InsecureSkipVerification() pulumi.BoolPtrOutput

Specifies whether or not API Gateway skips verification that the certificate for an integration endpoint is issued by a [supported certificate authority](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html). This isn’t recommended, but it enables you to use certificates that are signed by private certificate authorities, or certificates that are self-signed. If enabled, API Gateway still performs basic certificate validation, which includes checking the certificate's expiration date, hostname, and presence of a root certificate authority. Supported only for `HTTP` and `HTTP_PROXY` integrations.

func (IntegrationTlsConfigOutput) ToIntegrationTlsConfigOutput added in v3.24.0

func (o IntegrationTlsConfigOutput) ToIntegrationTlsConfigOutput() IntegrationTlsConfigOutput

func (IntegrationTlsConfigOutput) ToIntegrationTlsConfigOutputWithContext added in v3.24.0

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

func (IntegrationTlsConfigOutput) ToIntegrationTlsConfigPtrOutput added in v3.24.0

func (o IntegrationTlsConfigOutput) ToIntegrationTlsConfigPtrOutput() IntegrationTlsConfigPtrOutput

func (IntegrationTlsConfigOutput) ToIntegrationTlsConfigPtrOutputWithContext added in v3.24.0

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

type IntegrationTlsConfigPtrInput added in v3.24.0

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

func IntegrationTlsConfigPtr added in v3.24.0

func IntegrationTlsConfigPtr(v *IntegrationTlsConfigArgs) IntegrationTlsConfigPtrInput

type IntegrationTlsConfigPtrOutput added in v3.24.0

type IntegrationTlsConfigPtrOutput struct{ *pulumi.OutputState }

func (IntegrationTlsConfigPtrOutput) Elem added in v3.24.0

func (IntegrationTlsConfigPtrOutput) ElementType added in v3.24.0

func (IntegrationTlsConfigPtrOutput) InsecureSkipVerification added in v3.24.0

func (o IntegrationTlsConfigPtrOutput) InsecureSkipVerification() pulumi.BoolPtrOutput

Specifies whether or not API Gateway skips verification that the certificate for an integration endpoint is issued by a [supported certificate authority](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-supported-certificate-authorities-for-http-endpoints.html). This isn’t recommended, but it enables you to use certificates that are signed by private certificate authorities, or certificates that are self-signed. If enabled, API Gateway still performs basic certificate validation, which includes checking the certificate's expiration date, hostname, and presence of a root certificate authority. Supported only for `HTTP` and `HTTP_PROXY` integrations.

func (IntegrationTlsConfigPtrOutput) ToIntegrationTlsConfigPtrOutput added in v3.24.0

func (o IntegrationTlsConfigPtrOutput) ToIntegrationTlsConfigPtrOutput() IntegrationTlsConfigPtrOutput

func (IntegrationTlsConfigPtrOutput) ToIntegrationTlsConfigPtrOutputWithContext added in v3.24.0

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

type LookupDomainNameArgs added in v3.24.0

type LookupDomainNameArgs struct {
	// The fully-qualified domain name to look up. If no domain name is found, an error will be returned.
	DomainName string `pulumi:"domainName"`
	// Key-value map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getDomainName.

type LookupDomainNameResult added in v3.24.0

type LookupDomainNameResult struct {
	// The ARN of the found custom domain name.
	Arn string `pulumi:"arn"`
	// The ARN for an AWS-managed certificate that is used by edge-optimized endpoint for this domain name.
	CertificateArn string `pulumi:"certificateArn"`
	// The name of the certificate that is used by edge-optimized endpoint for this domain name.
	CertificateName string `pulumi:"certificateName"`
	// The upload date associated with the domain certificate.
	CertificateUploadDate string `pulumi:"certificateUploadDate"`
	// The hostname created by Cloudfront to represent the distribution that implements this domain name mapping.
	CloudfrontDomainName string `pulumi:"cloudfrontDomainName"`
	// For convenience, the hosted zone ID (`Z2FDTNDATAQYW2`) that can be used to create a Route53 alias record for the distribution.
	CloudfrontZoneId string `pulumi:"cloudfrontZoneId"`
	DomainName       string `pulumi:"domainName"`
	// List of objects with the endpoint configuration of this domain name.
	EndpointConfigurations []GetDomainNameEndpointConfiguration `pulumi:"endpointConfigurations"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The ARN for an AWS-managed certificate that is used for validating the regional domain name.
	RegionalCertificateArn string `pulumi:"regionalCertificateArn"`
	// The user-friendly name of the certificate that is used by regional endpoint for this domain name.
	RegionalCertificateName string `pulumi:"regionalCertificateName"`
	// The hostname for the custom domain's regional endpoint.
	RegionalDomainName string `pulumi:"regionalDomainName"`
	// The hosted zone ID that can be used to create a Route53 alias record for the regional endpoint.
	RegionalZoneId string `pulumi:"regionalZoneId"`
	// The security policy for the domain name.
	SecurityPolicy string `pulumi:"securityPolicy"`
	// Key-value map of tags for the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getDomainName.

func LookupDomainName added in v3.24.0

func LookupDomainName(ctx *pulumi.Context, args *LookupDomainNameArgs, opts ...pulumi.InvokeOption) (*LookupDomainNameResult, error)

Use this data source to get the custom domain name for use with AWS API Gateway.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigateway.LookupDomainName(ctx, &apigateway.LookupDomainNameArgs{
			DomainName: "api.example.com",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupResourceArgs

type LookupResourceArgs struct {
	// The full path of the resource.  If no path is found, an error will be returned.
	Path string `pulumi:"path"`
	// The REST API id that owns the resource. If no REST API is found, an error will be returned.
	RestApiId string `pulumi:"restApiId"`
}

A collection of arguments for invoking getResource.

type LookupResourceResult

type LookupResourceResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Set to the ID of the parent Resource.
	ParentId string `pulumi:"parentId"`
	Path     string `pulumi:"path"`
	// Set to the path relative to the parent Resource.
	PathPart  string `pulumi:"pathPart"`
	RestApiId string `pulumi:"restApiId"`
}

A collection of values returned by getResource.

func LookupResource

func LookupResource(ctx *pulumi.Context, args *LookupResourceArgs, opts ...pulumi.InvokeOption) (*LookupResourceResult, error)

Use this data source to get the id of a Resource in API Gateway. To fetch the Resource, you must provide the REST API id as well as the full path.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myRestApi, err := apigateway.LookupRestApi(ctx, &apigateway.LookupRestApiArgs{
			Name: "my-rest-api",
		}, nil)
		if err != nil {
			return err
		}
		_, err = apigateway.LookupResource(ctx, &apigateway.LookupResourceArgs{
			RestApiId: myRestApi.Id,
			Path:      "/endpoint/path",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRestApiArgs

type LookupRestApiArgs struct {
	// The name of the REST API to look up. If no REST API is found with this name, an error will be returned. If multiple REST APIs are found with this name, an error will be returned.
	Name string `pulumi:"name"`
	// Key-value map of resource tags.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getRestApi.

type LookupRestApiResult

type LookupRestApiResult struct {
	// The source of the API key for requests.
	ApiKeySource string `pulumi:"apiKeySource"`
	// The ARN of the REST API.
	Arn string `pulumi:"arn"`
	// The list of binary media types supported by the REST API.
	BinaryMediaTypes []string `pulumi:"binaryMediaTypes"`
	// The description of the REST API.
	Description string `pulumi:"description"`
	// The endpoint configuration of this RestApi showing the endpoint types of the API.
	EndpointConfigurations []GetRestApiEndpointConfiguration `pulumi:"endpointConfigurations"`
	// The execution ARN part to be used in `lambdaPermission`'s `sourceArn` when allowing API Gateway to invoke a Lambda function, e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j`, which can be concatenated with allowed stage, method and resource path.
	ExecutionArn string `pulumi:"executionArn"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Minimum response size to compress for the REST API.
	MinimumCompressionSize int    `pulumi:"minimumCompressionSize"`
	Name                   string `pulumi:"name"`
	// JSON formatted policy document that controls access to the API Gateway.
	Policy string `pulumi:"policy"`
	// Set to the ID of the API Gateway Resource on the found REST API where the route matches '/'.
	RootResourceId string `pulumi:"rootResourceId"`
	// Key-value map of resource tags.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getRestApi.

func LookupRestApi

func LookupRestApi(ctx *pulumi.Context, args *LookupRestApiArgs, opts ...pulumi.InvokeOption) (*LookupRestApiResult, error)

Use this data source to get the id and rootResourceId of a REST API in API Gateway. To fetch the REST API you must provide a name to match against. As there is no unique name constraint on REST APIs this data source will error if there is more than one match.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigateway.LookupRestApi(ctx, &apigateway.LookupRestApiArgs{
			Name: "my-rest-api",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupVpcLinkArgs

type LookupVpcLinkArgs struct {
	// The name of the API Gateway VPC Link to look up. If no API Gateway VPC Link is found with this name, an error will be returned.
	// If multiple API Gateway VPC Links are found with this name, an error will be returned.
	Name string `pulumi:"name"`
	// Key-value map of resource tags
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getVpcLink.

type LookupVpcLinkResult

type LookupVpcLinkResult struct {
	// The description of the VPC link.
	Description string `pulumi:"description"`
	// Set to the ID of the found API Gateway VPC Link.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// The status of the VPC link.
	Status string `pulumi:"status"`
	// The status message of the VPC link.
	StatusMessage string `pulumi:"statusMessage"`
	// Key-value map of resource tags
	Tags map[string]string `pulumi:"tags"`
	// The list of network load balancer arns in the VPC targeted by the VPC link. Currently AWS only supports 1 target.
	TargetArns []string `pulumi:"targetArns"`
}

A collection of values returned by getVpcLink.

func LookupVpcLink(ctx *pulumi.Context, args *LookupVpcLinkArgs, opts ...pulumi.InvokeOption) (*LookupVpcLinkResult, error)

Use this data source to get the id of a VPC Link in API Gateway. To fetch the VPC Link you must provide a name to match against. As there is no unique name constraint on API Gateway VPC Links this data source will error if there is more than one match.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigateway.LookupVpcLink(ctx, &apigateway.LookupVpcLinkArgs{
			Name: "my-vpc-link",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type Method

type Method struct {
	pulumi.CustomResourceState

	// Specify if the method requires an API key
	ApiKeyRequired pulumi.BoolPtrOutput `pulumi:"apiKeyRequired"`
	// The type of authorization used for the method (`NONE`, `CUSTOM`, `AWS_IAM`, `COGNITO_USER_POOLS`)
	Authorization pulumi.StringOutput `pulumi:"authorization"`
	// The authorization scopes used when the authorization is `COGNITO_USER_POOLS`
	AuthorizationScopes pulumi.StringArrayOutput `pulumi:"authorizationScopes"`
	// The authorizer id to be used when the authorization is `CUSTOM` or `COGNITO_USER_POOLS`
	AuthorizerId pulumi.StringPtrOutput `pulumi:"authorizerId"`
	// The HTTP Method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringOutput `pulumi:"httpMethod"`
	// The function name that will be given to the method when generating an SDK through API Gateway. If omitted, API Gateway will generate a function name based on the resource path and HTTP verb.
	OperationName pulumi.StringPtrOutput `pulumi:"operationName"`
	// A map of the API models used for the request's content type
	// where key is the content type (e.g. `application/json`)
	// and value is either `Error`, `Empty` (built-in models) or `apigateway.Model`'s `name`.
	RequestModels pulumi.StringMapOutput `pulumi:"requestModels"`
	// A map of request parameters (from the path, query string and headers) that should be passed to the integration. The boolean value indicates whether the parameter is required (`true`) or optional (`false`).
	// For example: `requestParameters = {"method.request.header.X-Some-Header" = true "method.request.querystring.some-query-param" = true}` would define that the header `X-Some-Header` and the query string `some-query-param` must be provided in the request.
	RequestParameters pulumi.BoolMapOutput `pulumi:"requestParameters"`
	// The ID of a `apigateway.RequestValidator`
	RequestValidatorId pulumi.StringPtrOutput `pulumi:"requestValidatorId"`
	// The API resource ID
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// The ID of the associated REST API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
}

Provides a HTTP Method for an API Gateway Resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myDemoAPI, err := apigateway.NewRestApi(ctx, "myDemoAPI", &apigateway.RestApiArgs{
			Description: pulumi.String("This is my API for demonstration purposes"),
		})
		if err != nil {
			return err
		}
		myDemoResource, err := apigateway.NewResource(ctx, "myDemoResource", &apigateway.ResourceArgs{
			RestApi:  myDemoAPI.ID(),
			ParentId: myDemoAPI.RootResourceId,
			PathPart: pulumi.String("mydemoresource"),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewMethod(ctx, "myDemoMethod", &apigateway.MethodArgs{
			RestApi:       myDemoAPI.ID(),
			ResourceId:    myDemoResource.ID(),
			HttpMethod:    pulumi.String("GET"),
			Authorization: pulumi.String("NONE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Usage with Cognito User Pool Authorizer

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigateway"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cognito"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		cognitoUserPoolName := cfg.RequireObject("cognitoUserPoolName")
		thisUserPools, err := cognito.GetUserPools(ctx, &cognito.GetUserPoolsArgs{
			Name: cognitoUserPoolName,
		}, nil)
		if err != nil {
			return err
		}
		thisRestApi, err := apigateway.NewRestApi(ctx, "thisRestApi", nil)
		if err != nil {
			return err
		}
		thisResource, err := apigateway.NewResource(ctx, "thisResource", &apigateway.ResourceArgs{
			RestApi:  thisRestApi.ID(),
			ParentId: thisRestApi.RootResourceId,
			PathPart: pulumi.String("{proxy+}"),
		})
		if err != nil {
			return err
		}
		thisAuthorizer, err := apigateway.NewAuthorizer(ctx, "thisAuthorizer", &apigateway.AuthorizerArgs{
			Type:         pulumi.String("COGNITO_USER_POOLS"),
			RestApi:      thisRestApi.ID(),
			ProviderArns: toPulumiStringArray(thisUserPools.Arns),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewMethod(ctx, "any", &apigateway.MethodArgs{
			RestApi:       thisRestApi.ID(),
			ResourceId:    thisResource.ID(),
			HttpMethod:    pulumi.String("ANY"),
			Authorization: pulumi.String("COGNITO_USER_POOLS"),
			AuthorizerId:  thisAuthorizer.ID(),
			RequestParameters: pulumi.BoolMap{
				"method.request.path.proxy": pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
func toPulumiStringArray(arr []string) pulumi.StringArray {
	var pulumiArr pulumi.StringArray
	for _, v := range arr {
		pulumiArr = append(pulumiArr, pulumi.String(v))
	}
	return pulumiArr
}

```

## Import

`aws_api_gateway_method` can be imported using `REST-API-ID/RESOURCE-ID/HTTP-METHOD`, e.g.

```sh

$ pulumi import aws:apigateway/method:Method example 12345abcde/67890fghij/GET

```

func GetMethod

func GetMethod(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MethodState, opts ...pulumi.ResourceOption) (*Method, error)

GetMethod gets an existing Method 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 NewMethod

func NewMethod(ctx *pulumi.Context,
	name string, args *MethodArgs, opts ...pulumi.ResourceOption) (*Method, error)

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

func (*Method) ElementType added in v3.13.0

func (*Method) ElementType() reflect.Type

func (*Method) ToMethodOutput added in v3.13.0

func (i *Method) ToMethodOutput() MethodOutput

func (*Method) ToMethodOutputWithContext added in v3.13.0

func (i *Method) ToMethodOutputWithContext(ctx context.Context) MethodOutput

func (*Method) ToMethodPtrOutput added in v3.25.0

func (i *Method) ToMethodPtrOutput() MethodPtrOutput

func (*Method) ToMethodPtrOutputWithContext added in v3.25.0

func (i *Method) ToMethodPtrOutputWithContext(ctx context.Context) MethodPtrOutput

type MethodArgs

type MethodArgs struct {
	// Specify if the method requires an API key
	ApiKeyRequired pulumi.BoolPtrInput
	// The type of authorization used for the method (`NONE`, `CUSTOM`, `AWS_IAM`, `COGNITO_USER_POOLS`)
	Authorization pulumi.StringInput
	// The authorization scopes used when the authorization is `COGNITO_USER_POOLS`
	AuthorizationScopes pulumi.StringArrayInput
	// The authorizer id to be used when the authorization is `CUSTOM` or `COGNITO_USER_POOLS`
	AuthorizerId pulumi.StringPtrInput
	// The HTTP Method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringInput
	// The function name that will be given to the method when generating an SDK through API Gateway. If omitted, API Gateway will generate a function name based on the resource path and HTTP verb.
	OperationName pulumi.StringPtrInput
	// A map of the API models used for the request's content type
	// where key is the content type (e.g. `application/json`)
	// and value is either `Error`, `Empty` (built-in models) or `apigateway.Model`'s `name`.
	RequestModels pulumi.StringMapInput
	// A map of request parameters (from the path, query string and headers) that should be passed to the integration. The boolean value indicates whether the parameter is required (`true`) or optional (`false`).
	// For example: `requestParameters = {"method.request.header.X-Some-Header" = true "method.request.querystring.some-query-param" = true}` would define that the header `X-Some-Header` and the query string `some-query-param` must be provided in the request.
	RequestParameters pulumi.BoolMapInput
	// The ID of a `apigateway.RequestValidator`
	RequestValidatorId pulumi.StringPtrInput
	// The API resource ID
	ResourceId pulumi.StringInput
	// The ID of the associated REST API
	RestApi pulumi.Input
}

The set of arguments for constructing a Method resource.

func (MethodArgs) ElementType

func (MethodArgs) ElementType() reflect.Type

type MethodArray added in v3.25.0

type MethodArray []MethodInput

func (MethodArray) ElementType added in v3.25.0

func (MethodArray) ElementType() reflect.Type

func (MethodArray) ToMethodArrayOutput added in v3.25.0

func (i MethodArray) ToMethodArrayOutput() MethodArrayOutput

func (MethodArray) ToMethodArrayOutputWithContext added in v3.25.0

func (i MethodArray) ToMethodArrayOutputWithContext(ctx context.Context) MethodArrayOutput

type MethodArrayInput added in v3.25.0

type MethodArrayInput interface {
	pulumi.Input

	ToMethodArrayOutput() MethodArrayOutput
	ToMethodArrayOutputWithContext(context.Context) MethodArrayOutput
}

MethodArrayInput is an input type that accepts MethodArray and MethodArrayOutput values. You can construct a concrete instance of `MethodArrayInput` via:

MethodArray{ MethodArgs{...} }

type MethodArrayOutput added in v3.25.0

type MethodArrayOutput struct{ *pulumi.OutputState }

func (MethodArrayOutput) ElementType added in v3.25.0

func (MethodArrayOutput) ElementType() reflect.Type

func (MethodArrayOutput) Index added in v3.25.0

func (MethodArrayOutput) ToMethodArrayOutput added in v3.25.0

func (o MethodArrayOutput) ToMethodArrayOutput() MethodArrayOutput

func (MethodArrayOutput) ToMethodArrayOutputWithContext added in v3.25.0

func (o MethodArrayOutput) ToMethodArrayOutputWithContext(ctx context.Context) MethodArrayOutput

type MethodInput added in v3.13.0

type MethodInput interface {
	pulumi.Input

	ToMethodOutput() MethodOutput
	ToMethodOutputWithContext(ctx context.Context) MethodOutput
}

type MethodMap added in v3.25.0

type MethodMap map[string]MethodInput

func (MethodMap) ElementType added in v3.25.0

func (MethodMap) ElementType() reflect.Type

func (MethodMap) ToMethodMapOutput added in v3.25.0

func (i MethodMap) ToMethodMapOutput() MethodMapOutput

func (MethodMap) ToMethodMapOutputWithContext added in v3.25.0

func (i MethodMap) ToMethodMapOutputWithContext(ctx context.Context) MethodMapOutput

type MethodMapInput added in v3.25.0

type MethodMapInput interface {
	pulumi.Input

	ToMethodMapOutput() MethodMapOutput
	ToMethodMapOutputWithContext(context.Context) MethodMapOutput
}

MethodMapInput is an input type that accepts MethodMap and MethodMapOutput values. You can construct a concrete instance of `MethodMapInput` via:

MethodMap{ "key": MethodArgs{...} }

type MethodMapOutput added in v3.25.0

type MethodMapOutput struct{ *pulumi.OutputState }

func (MethodMapOutput) ElementType added in v3.25.0

func (MethodMapOutput) ElementType() reflect.Type

func (MethodMapOutput) MapIndex added in v3.25.0

func (MethodMapOutput) ToMethodMapOutput added in v3.25.0

func (o MethodMapOutput) ToMethodMapOutput() MethodMapOutput

func (MethodMapOutput) ToMethodMapOutputWithContext added in v3.25.0

func (o MethodMapOutput) ToMethodMapOutputWithContext(ctx context.Context) MethodMapOutput

type MethodOutput added in v3.13.0

type MethodOutput struct {
	*pulumi.OutputState
}

func (MethodOutput) ElementType added in v3.13.0

func (MethodOutput) ElementType() reflect.Type

func (MethodOutput) ToMethodOutput added in v3.13.0

func (o MethodOutput) ToMethodOutput() MethodOutput

func (MethodOutput) ToMethodOutputWithContext added in v3.13.0

func (o MethodOutput) ToMethodOutputWithContext(ctx context.Context) MethodOutput

func (MethodOutput) ToMethodPtrOutput added in v3.25.0

func (o MethodOutput) ToMethodPtrOutput() MethodPtrOutput

func (MethodOutput) ToMethodPtrOutputWithContext added in v3.25.0

func (o MethodOutput) ToMethodPtrOutputWithContext(ctx context.Context) MethodPtrOutput

type MethodPtrInput added in v3.25.0

type MethodPtrInput interface {
	pulumi.Input

	ToMethodPtrOutput() MethodPtrOutput
	ToMethodPtrOutputWithContext(ctx context.Context) MethodPtrOutput
}

type MethodPtrOutput added in v3.25.0

type MethodPtrOutput struct {
	*pulumi.OutputState
}

func (MethodPtrOutput) ElementType added in v3.25.0

func (MethodPtrOutput) ElementType() reflect.Type

func (MethodPtrOutput) ToMethodPtrOutput added in v3.25.0

func (o MethodPtrOutput) ToMethodPtrOutput() MethodPtrOutput

func (MethodPtrOutput) ToMethodPtrOutputWithContext added in v3.25.0

func (o MethodPtrOutput) ToMethodPtrOutputWithContext(ctx context.Context) MethodPtrOutput

type MethodResponse

type MethodResponse struct {
	pulumi.CustomResourceState

	// The HTTP Method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringOutput `pulumi:"httpMethod"`
	// The API resource ID
	ResourceId pulumi.StringOutput `pulumi:"resourceId"`
	// A map of the API models used for the response's content type
	ResponseModels pulumi.StringMapOutput `pulumi:"responseModels"`
	// A map of response parameters that can be sent to the caller.
	// For example: `responseParameters = { "method.response.header.X-Some-Header" = true }`
	// would define that the header `X-Some-Header` can be provided on the response.
	ResponseParameters pulumi.BoolMapOutput `pulumi:"responseParameters"`
	// The ID of the associated REST API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// The HTTP status code
	StatusCode pulumi.StringOutput `pulumi:"statusCode"`
}

Provides an HTTP Method Response for an API Gateway Resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myDemoAPI, err := apigateway.NewRestApi(ctx, "myDemoAPI", &apigateway.RestApiArgs{
			Description: pulumi.String("This is my API for demonstration purposes"),
		})
		if err != nil {
			return err
		}
		myDemoResource, err := apigateway.NewResource(ctx, "myDemoResource", &apigateway.ResourceArgs{
			RestApi:  myDemoAPI.ID(),
			ParentId: myDemoAPI.RootResourceId,
			PathPart: pulumi.String("mydemoresource"),
		})
		if err != nil {
			return err
		}
		myDemoMethod, err := apigateway.NewMethod(ctx, "myDemoMethod", &apigateway.MethodArgs{
			RestApi:       myDemoAPI.ID(),
			ResourceId:    myDemoResource.ID(),
			HttpMethod:    pulumi.String("GET"),
			Authorization: pulumi.String("NONE"),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewIntegration(ctx, "myDemoIntegration", &apigateway.IntegrationArgs{
			RestApi:    myDemoAPI.ID(),
			ResourceId: myDemoResource.ID(),
			HttpMethod: myDemoMethod.HttpMethod,
			Type:       pulumi.String("MOCK"),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewMethodResponse(ctx, "response200", &apigateway.MethodResponseArgs{
			RestApi:    myDemoAPI.ID(),
			ResourceId: myDemoResource.ID(),
			HttpMethod: myDemoMethod.HttpMethod,
			StatusCode: pulumi.String("200"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_api_gateway_method_response` can be imported using `REST-API-ID/RESOURCE-ID/HTTP-METHOD/STATUS-CODE`, e.g.

```sh

$ pulumi import aws:apigateway/methodResponse:MethodResponse example 12345abcde/67890fghij/GET/200

```

func GetMethodResponse

func GetMethodResponse(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MethodResponseState, opts ...pulumi.ResourceOption) (*MethodResponse, error)

GetMethodResponse gets an existing MethodResponse 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 NewMethodResponse

func NewMethodResponse(ctx *pulumi.Context,
	name string, args *MethodResponseArgs, opts ...pulumi.ResourceOption) (*MethodResponse, error)

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

func (*MethodResponse) ElementType added in v3.13.0

func (*MethodResponse) ElementType() reflect.Type

func (*MethodResponse) ToMethodResponseOutput added in v3.13.0

func (i *MethodResponse) ToMethodResponseOutput() MethodResponseOutput

func (*MethodResponse) ToMethodResponseOutputWithContext added in v3.13.0

func (i *MethodResponse) ToMethodResponseOutputWithContext(ctx context.Context) MethodResponseOutput

func (*MethodResponse) ToMethodResponsePtrOutput added in v3.25.0

func (i *MethodResponse) ToMethodResponsePtrOutput() MethodResponsePtrOutput

func (*MethodResponse) ToMethodResponsePtrOutputWithContext added in v3.25.0

func (i *MethodResponse) ToMethodResponsePtrOutputWithContext(ctx context.Context) MethodResponsePtrOutput

type MethodResponseArgs

type MethodResponseArgs struct {
	// The HTTP Method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringInput
	// The API resource ID
	ResourceId pulumi.StringInput
	// A map of the API models used for the response's content type
	ResponseModels pulumi.StringMapInput
	// A map of response parameters that can be sent to the caller.
	// For example: `responseParameters = { "method.response.header.X-Some-Header" = true }`
	// would define that the header `X-Some-Header` can be provided on the response.
	ResponseParameters pulumi.BoolMapInput
	// The ID of the associated REST API
	RestApi pulumi.Input
	// The HTTP status code
	StatusCode pulumi.StringInput
}

The set of arguments for constructing a MethodResponse resource.

func (MethodResponseArgs) ElementType

func (MethodResponseArgs) ElementType() reflect.Type

type MethodResponseArray added in v3.25.0

type MethodResponseArray []MethodResponseInput

func (MethodResponseArray) ElementType added in v3.25.0

func (MethodResponseArray) ElementType() reflect.Type

func (MethodResponseArray) ToMethodResponseArrayOutput added in v3.25.0

func (i MethodResponseArray) ToMethodResponseArrayOutput() MethodResponseArrayOutput

func (MethodResponseArray) ToMethodResponseArrayOutputWithContext added in v3.25.0

func (i MethodResponseArray) ToMethodResponseArrayOutputWithContext(ctx context.Context) MethodResponseArrayOutput

type MethodResponseArrayInput added in v3.25.0

type MethodResponseArrayInput interface {
	pulumi.Input

	ToMethodResponseArrayOutput() MethodResponseArrayOutput
	ToMethodResponseArrayOutputWithContext(context.Context) MethodResponseArrayOutput
}

MethodResponseArrayInput is an input type that accepts MethodResponseArray and MethodResponseArrayOutput values. You can construct a concrete instance of `MethodResponseArrayInput` via:

MethodResponseArray{ MethodResponseArgs{...} }

type MethodResponseArrayOutput added in v3.25.0

type MethodResponseArrayOutput struct{ *pulumi.OutputState }

func (MethodResponseArrayOutput) ElementType added in v3.25.0

func (MethodResponseArrayOutput) ElementType() reflect.Type

func (MethodResponseArrayOutput) Index added in v3.25.0

func (MethodResponseArrayOutput) ToMethodResponseArrayOutput added in v3.25.0

func (o MethodResponseArrayOutput) ToMethodResponseArrayOutput() MethodResponseArrayOutput

func (MethodResponseArrayOutput) ToMethodResponseArrayOutputWithContext added in v3.25.0

func (o MethodResponseArrayOutput) ToMethodResponseArrayOutputWithContext(ctx context.Context) MethodResponseArrayOutput

type MethodResponseInput added in v3.13.0

type MethodResponseInput interface {
	pulumi.Input

	ToMethodResponseOutput() MethodResponseOutput
	ToMethodResponseOutputWithContext(ctx context.Context) MethodResponseOutput
}

type MethodResponseMap added in v3.25.0

type MethodResponseMap map[string]MethodResponseInput

func (MethodResponseMap) ElementType added in v3.25.0

func (MethodResponseMap) ElementType() reflect.Type

func (MethodResponseMap) ToMethodResponseMapOutput added in v3.25.0

func (i MethodResponseMap) ToMethodResponseMapOutput() MethodResponseMapOutput

func (MethodResponseMap) ToMethodResponseMapOutputWithContext added in v3.25.0

func (i MethodResponseMap) ToMethodResponseMapOutputWithContext(ctx context.Context) MethodResponseMapOutput

type MethodResponseMapInput added in v3.25.0

type MethodResponseMapInput interface {
	pulumi.Input

	ToMethodResponseMapOutput() MethodResponseMapOutput
	ToMethodResponseMapOutputWithContext(context.Context) MethodResponseMapOutput
}

MethodResponseMapInput is an input type that accepts MethodResponseMap and MethodResponseMapOutput values. You can construct a concrete instance of `MethodResponseMapInput` via:

MethodResponseMap{ "key": MethodResponseArgs{...} }

type MethodResponseMapOutput added in v3.25.0

type MethodResponseMapOutput struct{ *pulumi.OutputState }

func (MethodResponseMapOutput) ElementType added in v3.25.0

func (MethodResponseMapOutput) ElementType() reflect.Type

func (MethodResponseMapOutput) MapIndex added in v3.25.0

func (MethodResponseMapOutput) ToMethodResponseMapOutput added in v3.25.0

func (o MethodResponseMapOutput) ToMethodResponseMapOutput() MethodResponseMapOutput

func (MethodResponseMapOutput) ToMethodResponseMapOutputWithContext added in v3.25.0

func (o MethodResponseMapOutput) ToMethodResponseMapOutputWithContext(ctx context.Context) MethodResponseMapOutput

type MethodResponseOutput added in v3.13.0

type MethodResponseOutput struct {
	*pulumi.OutputState
}

func (MethodResponseOutput) ElementType added in v3.13.0

func (MethodResponseOutput) ElementType() reflect.Type

func (MethodResponseOutput) ToMethodResponseOutput added in v3.13.0

func (o MethodResponseOutput) ToMethodResponseOutput() MethodResponseOutput

func (MethodResponseOutput) ToMethodResponseOutputWithContext added in v3.13.0

func (o MethodResponseOutput) ToMethodResponseOutputWithContext(ctx context.Context) MethodResponseOutput

func (MethodResponseOutput) ToMethodResponsePtrOutput added in v3.25.0

func (o MethodResponseOutput) ToMethodResponsePtrOutput() MethodResponsePtrOutput

func (MethodResponseOutput) ToMethodResponsePtrOutputWithContext added in v3.25.0

func (o MethodResponseOutput) ToMethodResponsePtrOutputWithContext(ctx context.Context) MethodResponsePtrOutput

type MethodResponsePtrInput added in v3.25.0

type MethodResponsePtrInput interface {
	pulumi.Input

	ToMethodResponsePtrOutput() MethodResponsePtrOutput
	ToMethodResponsePtrOutputWithContext(ctx context.Context) MethodResponsePtrOutput
}

type MethodResponsePtrOutput added in v3.25.0

type MethodResponsePtrOutput struct {
	*pulumi.OutputState
}

func (MethodResponsePtrOutput) ElementType added in v3.25.0

func (MethodResponsePtrOutput) ElementType() reflect.Type

func (MethodResponsePtrOutput) ToMethodResponsePtrOutput added in v3.25.0

func (o MethodResponsePtrOutput) ToMethodResponsePtrOutput() MethodResponsePtrOutput

func (MethodResponsePtrOutput) ToMethodResponsePtrOutputWithContext added in v3.25.0

func (o MethodResponsePtrOutput) ToMethodResponsePtrOutputWithContext(ctx context.Context) MethodResponsePtrOutput

type MethodResponseState

type MethodResponseState struct {
	// The HTTP Method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringPtrInput
	// The API resource ID
	ResourceId pulumi.StringPtrInput
	// A map of the API models used for the response's content type
	ResponseModels pulumi.StringMapInput
	// A map of response parameters that can be sent to the caller.
	// For example: `responseParameters = { "method.response.header.X-Some-Header" = true }`
	// would define that the header `X-Some-Header` can be provided on the response.
	ResponseParameters pulumi.BoolMapInput
	// The ID of the associated REST API
	RestApi pulumi.StringPtrInput
	// The HTTP status code
	StatusCode pulumi.StringPtrInput
}

func (MethodResponseState) ElementType

func (MethodResponseState) ElementType() reflect.Type

type MethodSettings

type MethodSettings struct {
	pulumi.CustomResourceState

	// Method path defined as `{resource_path}/{http_method}` for an individual method override, or `*/*` for overriding all methods in the stage. Ensure to trim any leading forward slashes in the path (e.g. `trimprefix(aws_api_gateway_resource.example.path, "/")`).
	MethodPath pulumi.StringOutput `pulumi:"methodPath"`
	// The ID of the REST API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// The settings block, see below.
	Settings MethodSettingsSettingsOutput `pulumi:"settings"`
	// The name of the stage
	StageName pulumi.StringOutput `pulumi:"stageName"`
}

Manages API Gateway Stage Method Settings. For example, CloudWatch logging and metrics.

> **NOTE:** It is recommended to use this resource in conjunction with the `apigateway.Stage` resource instead of a stage managed by the `apigateway.Deployment` resource optional `stageName` argument. Stages managed by the `apigateway.Deployment` resource are recreated on redeployment and this resource will require a second apply to recreate the method settings.

## Import

`aws_api_gateway_method_settings` can be imported using `REST-API-ID/STAGE-NAME/METHOD-PATH`, e.g.

```sh

$ pulumi import aws:apigateway/methodSettings:MethodSettings example 12345abcde/example/test/GET

```

func GetMethodSettings

func GetMethodSettings(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MethodSettingsState, opts ...pulumi.ResourceOption) (*MethodSettings, error)

GetMethodSettings gets an existing MethodSettings 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 NewMethodSettings

func NewMethodSettings(ctx *pulumi.Context,
	name string, args *MethodSettingsArgs, opts ...pulumi.ResourceOption) (*MethodSettings, error)

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

func (*MethodSettings) ElementType added in v3.13.0

func (*MethodSettings) ElementType() reflect.Type

func (*MethodSettings) ToMethodSettingsOutput added in v3.13.0

func (i *MethodSettings) ToMethodSettingsOutput() MethodSettingsOutput

func (*MethodSettings) ToMethodSettingsOutputWithContext added in v3.13.0

func (i *MethodSettings) ToMethodSettingsOutputWithContext(ctx context.Context) MethodSettingsOutput

func (*MethodSettings) ToMethodSettingsPtrOutput added in v3.25.0

func (i *MethodSettings) ToMethodSettingsPtrOutput() MethodSettingsPtrOutput

func (*MethodSettings) ToMethodSettingsPtrOutputWithContext added in v3.25.0

func (i *MethodSettings) ToMethodSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsPtrOutput

type MethodSettingsArgs

type MethodSettingsArgs struct {
	// Method path defined as `{resource_path}/{http_method}` for an individual method override, or `*/*` for overriding all methods in the stage. Ensure to trim any leading forward slashes in the path (e.g. `trimprefix(aws_api_gateway_resource.example.path, "/")`).
	MethodPath pulumi.StringInput
	// The ID of the REST API
	RestApi pulumi.Input
	// The settings block, see below.
	Settings MethodSettingsSettingsInput
	// The name of the stage
	StageName pulumi.StringInput
}

The set of arguments for constructing a MethodSettings resource.

func (MethodSettingsArgs) ElementType

func (MethodSettingsArgs) ElementType() reflect.Type

type MethodSettingsArray added in v3.25.0

type MethodSettingsArray []MethodSettingsInput

func (MethodSettingsArray) ElementType added in v3.25.0

func (MethodSettingsArray) ElementType() reflect.Type

func (MethodSettingsArray) ToMethodSettingsArrayOutput added in v3.25.0

func (i MethodSettingsArray) ToMethodSettingsArrayOutput() MethodSettingsArrayOutput

func (MethodSettingsArray) ToMethodSettingsArrayOutputWithContext added in v3.25.0

func (i MethodSettingsArray) ToMethodSettingsArrayOutputWithContext(ctx context.Context) MethodSettingsArrayOutput

type MethodSettingsArrayInput added in v3.25.0

type MethodSettingsArrayInput interface {
	pulumi.Input

	ToMethodSettingsArrayOutput() MethodSettingsArrayOutput
	ToMethodSettingsArrayOutputWithContext(context.Context) MethodSettingsArrayOutput
}

MethodSettingsArrayInput is an input type that accepts MethodSettingsArray and MethodSettingsArrayOutput values. You can construct a concrete instance of `MethodSettingsArrayInput` via:

MethodSettingsArray{ MethodSettingsArgs{...} }

type MethodSettingsArrayOutput added in v3.25.0

type MethodSettingsArrayOutput struct{ *pulumi.OutputState }

func (MethodSettingsArrayOutput) ElementType added in v3.25.0

func (MethodSettingsArrayOutput) ElementType() reflect.Type

func (MethodSettingsArrayOutput) Index added in v3.25.0

func (MethodSettingsArrayOutput) ToMethodSettingsArrayOutput added in v3.25.0

func (o MethodSettingsArrayOutput) ToMethodSettingsArrayOutput() MethodSettingsArrayOutput

func (MethodSettingsArrayOutput) ToMethodSettingsArrayOutputWithContext added in v3.25.0

func (o MethodSettingsArrayOutput) ToMethodSettingsArrayOutputWithContext(ctx context.Context) MethodSettingsArrayOutput

type MethodSettingsInput added in v3.13.0

type MethodSettingsInput interface {
	pulumi.Input

	ToMethodSettingsOutput() MethodSettingsOutput
	ToMethodSettingsOutputWithContext(ctx context.Context) MethodSettingsOutput
}

type MethodSettingsMap added in v3.25.0

type MethodSettingsMap map[string]MethodSettingsInput

func (MethodSettingsMap) ElementType added in v3.25.0

func (MethodSettingsMap) ElementType() reflect.Type

func (MethodSettingsMap) ToMethodSettingsMapOutput added in v3.25.0

func (i MethodSettingsMap) ToMethodSettingsMapOutput() MethodSettingsMapOutput

func (MethodSettingsMap) ToMethodSettingsMapOutputWithContext added in v3.25.0

func (i MethodSettingsMap) ToMethodSettingsMapOutputWithContext(ctx context.Context) MethodSettingsMapOutput

type MethodSettingsMapInput added in v3.25.0

type MethodSettingsMapInput interface {
	pulumi.Input

	ToMethodSettingsMapOutput() MethodSettingsMapOutput
	ToMethodSettingsMapOutputWithContext(context.Context) MethodSettingsMapOutput
}

MethodSettingsMapInput is an input type that accepts MethodSettingsMap and MethodSettingsMapOutput values. You can construct a concrete instance of `MethodSettingsMapInput` via:

MethodSettingsMap{ "key": MethodSettingsArgs{...} }

type MethodSettingsMapOutput added in v3.25.0

type MethodSettingsMapOutput struct{ *pulumi.OutputState }

func (MethodSettingsMapOutput) ElementType added in v3.25.0

func (MethodSettingsMapOutput) ElementType() reflect.Type

func (MethodSettingsMapOutput) MapIndex added in v3.25.0

func (MethodSettingsMapOutput) ToMethodSettingsMapOutput added in v3.25.0

func (o MethodSettingsMapOutput) ToMethodSettingsMapOutput() MethodSettingsMapOutput

func (MethodSettingsMapOutput) ToMethodSettingsMapOutputWithContext added in v3.25.0

func (o MethodSettingsMapOutput) ToMethodSettingsMapOutputWithContext(ctx context.Context) MethodSettingsMapOutput

type MethodSettingsOutput added in v3.13.0

type MethodSettingsOutput struct {
	*pulumi.OutputState
}

func (MethodSettingsOutput) ElementType added in v3.13.0

func (MethodSettingsOutput) ElementType() reflect.Type

func (MethodSettingsOutput) ToMethodSettingsOutput added in v3.13.0

func (o MethodSettingsOutput) ToMethodSettingsOutput() MethodSettingsOutput

func (MethodSettingsOutput) ToMethodSettingsOutputWithContext added in v3.13.0

func (o MethodSettingsOutput) ToMethodSettingsOutputWithContext(ctx context.Context) MethodSettingsOutput

func (MethodSettingsOutput) ToMethodSettingsPtrOutput added in v3.25.0

func (o MethodSettingsOutput) ToMethodSettingsPtrOutput() MethodSettingsPtrOutput

func (MethodSettingsOutput) ToMethodSettingsPtrOutputWithContext added in v3.25.0

func (o MethodSettingsOutput) ToMethodSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsPtrOutput

type MethodSettingsPtrInput added in v3.25.0

type MethodSettingsPtrInput interface {
	pulumi.Input

	ToMethodSettingsPtrOutput() MethodSettingsPtrOutput
	ToMethodSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsPtrOutput
}

type MethodSettingsPtrOutput added in v3.25.0

type MethodSettingsPtrOutput struct {
	*pulumi.OutputState
}

func (MethodSettingsPtrOutput) ElementType added in v3.25.0

func (MethodSettingsPtrOutput) ElementType() reflect.Type

func (MethodSettingsPtrOutput) ToMethodSettingsPtrOutput added in v3.25.0

func (o MethodSettingsPtrOutput) ToMethodSettingsPtrOutput() MethodSettingsPtrOutput

func (MethodSettingsPtrOutput) ToMethodSettingsPtrOutputWithContext added in v3.25.0

func (o MethodSettingsPtrOutput) ToMethodSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsPtrOutput

type MethodSettingsSettings

type MethodSettingsSettings struct {
	// Specifies whether the cached responses are encrypted.
	CacheDataEncrypted *bool `pulumi:"cacheDataEncrypted"`
	// Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.
	CacheTtlInSeconds *int `pulumi:"cacheTtlInSeconds"`
	// Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.
	CachingEnabled *bool `pulumi:"cachingEnabled"`
	// Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs.
	DataTraceEnabled *bool `pulumi:"dataTraceEnabled"`
	// Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The available levels are `OFF`, `ERROR`, and `INFO`.
	LoggingLevel *string `pulumi:"loggingLevel"`
	// Specifies whether Amazon CloudWatch metrics are enabled for this method.
	MetricsEnabled *bool `pulumi:"metricsEnabled"`
	// Specifies whether authorization is required for a cache invalidation request.
	RequireAuthorizationForCacheControl *bool `pulumi:"requireAuthorizationForCacheControl"`
	// Specifies the throttling burst limit. Default: `-1` (throttling disabled).
	ThrottlingBurstLimit *int `pulumi:"throttlingBurstLimit"`
	// Specifies the throttling rate limit. Default: `-1` (throttling disabled).
	ThrottlingRateLimit *float64 `pulumi:"throttlingRateLimit"`
	// Specifies how to handle unauthorized requests for cache invalidation. The available values are `FAIL_WITH_403`, `SUCCEED_WITH_RESPONSE_HEADER`, `SUCCEED_WITHOUT_RESPONSE_HEADER`.
	UnauthorizedCacheControlHeaderStrategy *string `pulumi:"unauthorizedCacheControlHeaderStrategy"`
}

type MethodSettingsSettingsArgs

type MethodSettingsSettingsArgs struct {
	// Specifies whether the cached responses are encrypted.
	CacheDataEncrypted pulumi.BoolPtrInput `pulumi:"cacheDataEncrypted"`
	// Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.
	CacheTtlInSeconds pulumi.IntPtrInput `pulumi:"cacheTtlInSeconds"`
	// Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.
	CachingEnabled pulumi.BoolPtrInput `pulumi:"cachingEnabled"`
	// Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs.
	DataTraceEnabled pulumi.BoolPtrInput `pulumi:"dataTraceEnabled"`
	// Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The available levels are `OFF`, `ERROR`, and `INFO`.
	LoggingLevel pulumi.StringPtrInput `pulumi:"loggingLevel"`
	// Specifies whether Amazon CloudWatch metrics are enabled for this method.
	MetricsEnabled pulumi.BoolPtrInput `pulumi:"metricsEnabled"`
	// Specifies whether authorization is required for a cache invalidation request.
	RequireAuthorizationForCacheControl pulumi.BoolPtrInput `pulumi:"requireAuthorizationForCacheControl"`
	// Specifies the throttling burst limit. Default: `-1` (throttling disabled).
	ThrottlingBurstLimit pulumi.IntPtrInput `pulumi:"throttlingBurstLimit"`
	// Specifies the throttling rate limit. Default: `-1` (throttling disabled).
	ThrottlingRateLimit pulumi.Float64PtrInput `pulumi:"throttlingRateLimit"`
	// Specifies how to handle unauthorized requests for cache invalidation. The available values are `FAIL_WITH_403`, `SUCCEED_WITH_RESPONSE_HEADER`, `SUCCEED_WITHOUT_RESPONSE_HEADER`.
	UnauthorizedCacheControlHeaderStrategy pulumi.StringPtrInput `pulumi:"unauthorizedCacheControlHeaderStrategy"`
}

func (MethodSettingsSettingsArgs) ElementType

func (MethodSettingsSettingsArgs) ElementType() reflect.Type

func (MethodSettingsSettingsArgs) ToMethodSettingsSettingsOutput

func (i MethodSettingsSettingsArgs) ToMethodSettingsSettingsOutput() MethodSettingsSettingsOutput

func (MethodSettingsSettingsArgs) ToMethodSettingsSettingsOutputWithContext

func (i MethodSettingsSettingsArgs) ToMethodSettingsSettingsOutputWithContext(ctx context.Context) MethodSettingsSettingsOutput

func (MethodSettingsSettingsArgs) ToMethodSettingsSettingsPtrOutput

func (i MethodSettingsSettingsArgs) ToMethodSettingsSettingsPtrOutput() MethodSettingsSettingsPtrOutput

func (MethodSettingsSettingsArgs) ToMethodSettingsSettingsPtrOutputWithContext

func (i MethodSettingsSettingsArgs) ToMethodSettingsSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsSettingsPtrOutput

type MethodSettingsSettingsInput

type MethodSettingsSettingsInput interface {
	pulumi.Input

	ToMethodSettingsSettingsOutput() MethodSettingsSettingsOutput
	ToMethodSettingsSettingsOutputWithContext(context.Context) MethodSettingsSettingsOutput
}

MethodSettingsSettingsInput is an input type that accepts MethodSettingsSettingsArgs and MethodSettingsSettingsOutput values. You can construct a concrete instance of `MethodSettingsSettingsInput` via:

MethodSettingsSettingsArgs{...}

type MethodSettingsSettingsOutput

type MethodSettingsSettingsOutput struct{ *pulumi.OutputState }

func (MethodSettingsSettingsOutput) CacheDataEncrypted

func (o MethodSettingsSettingsOutput) CacheDataEncrypted() pulumi.BoolPtrOutput

Specifies whether the cached responses are encrypted.

func (MethodSettingsSettingsOutput) CacheTtlInSeconds

func (o MethodSettingsSettingsOutput) CacheTtlInSeconds() pulumi.IntPtrOutput

Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.

func (MethodSettingsSettingsOutput) CachingEnabled

Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.

func (MethodSettingsSettingsOutput) DataTraceEnabled

func (o MethodSettingsSettingsOutput) DataTraceEnabled() pulumi.BoolPtrOutput

Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs.

func (MethodSettingsSettingsOutput) ElementType

func (MethodSettingsSettingsOutput) LoggingLevel

Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The available levels are `OFF`, `ERROR`, and `INFO`.

func (MethodSettingsSettingsOutput) MetricsEnabled

Specifies whether Amazon CloudWatch metrics are enabled for this method.

func (MethodSettingsSettingsOutput) RequireAuthorizationForCacheControl

func (o MethodSettingsSettingsOutput) RequireAuthorizationForCacheControl() pulumi.BoolPtrOutput

Specifies whether authorization is required for a cache invalidation request.

func (MethodSettingsSettingsOutput) ThrottlingBurstLimit

func (o MethodSettingsSettingsOutput) ThrottlingBurstLimit() pulumi.IntPtrOutput

Specifies the throttling burst limit. Default: `-1` (throttling disabled).

func (MethodSettingsSettingsOutput) ThrottlingRateLimit

func (o MethodSettingsSettingsOutput) ThrottlingRateLimit() pulumi.Float64PtrOutput

Specifies the throttling rate limit. Default: `-1` (throttling disabled).

func (MethodSettingsSettingsOutput) ToMethodSettingsSettingsOutput

func (o MethodSettingsSettingsOutput) ToMethodSettingsSettingsOutput() MethodSettingsSettingsOutput

func (MethodSettingsSettingsOutput) ToMethodSettingsSettingsOutputWithContext

func (o MethodSettingsSettingsOutput) ToMethodSettingsSettingsOutputWithContext(ctx context.Context) MethodSettingsSettingsOutput

func (MethodSettingsSettingsOutput) ToMethodSettingsSettingsPtrOutput

func (o MethodSettingsSettingsOutput) ToMethodSettingsSettingsPtrOutput() MethodSettingsSettingsPtrOutput

func (MethodSettingsSettingsOutput) ToMethodSettingsSettingsPtrOutputWithContext

func (o MethodSettingsSettingsOutput) ToMethodSettingsSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsSettingsPtrOutput

func (MethodSettingsSettingsOutput) UnauthorizedCacheControlHeaderStrategy

func (o MethodSettingsSettingsOutput) UnauthorizedCacheControlHeaderStrategy() pulumi.StringPtrOutput

Specifies how to handle unauthorized requests for cache invalidation. The available values are `FAIL_WITH_403`, `SUCCEED_WITH_RESPONSE_HEADER`, `SUCCEED_WITHOUT_RESPONSE_HEADER`.

type MethodSettingsSettingsPtrInput

type MethodSettingsSettingsPtrInput interface {
	pulumi.Input

	ToMethodSettingsSettingsPtrOutput() MethodSettingsSettingsPtrOutput
	ToMethodSettingsSettingsPtrOutputWithContext(context.Context) MethodSettingsSettingsPtrOutput
}

MethodSettingsSettingsPtrInput is an input type that accepts MethodSettingsSettingsArgs, MethodSettingsSettingsPtr and MethodSettingsSettingsPtrOutput values. You can construct a concrete instance of `MethodSettingsSettingsPtrInput` via:

        MethodSettingsSettingsArgs{...}

or:

        nil

type MethodSettingsSettingsPtrOutput

type MethodSettingsSettingsPtrOutput struct{ *pulumi.OutputState }

func (MethodSettingsSettingsPtrOutput) CacheDataEncrypted

func (o MethodSettingsSettingsPtrOutput) CacheDataEncrypted() pulumi.BoolPtrOutput

Specifies whether the cached responses are encrypted.

func (MethodSettingsSettingsPtrOutput) CacheTtlInSeconds

func (o MethodSettingsSettingsPtrOutput) CacheTtlInSeconds() pulumi.IntPtrOutput

Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached.

func (MethodSettingsSettingsPtrOutput) CachingEnabled

Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached.

func (MethodSettingsSettingsPtrOutput) DataTraceEnabled

Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs.

func (MethodSettingsSettingsPtrOutput) Elem

func (MethodSettingsSettingsPtrOutput) ElementType

func (MethodSettingsSettingsPtrOutput) LoggingLevel

Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The available levels are `OFF`, `ERROR`, and `INFO`.

func (MethodSettingsSettingsPtrOutput) MetricsEnabled

Specifies whether Amazon CloudWatch metrics are enabled for this method.

func (MethodSettingsSettingsPtrOutput) RequireAuthorizationForCacheControl

func (o MethodSettingsSettingsPtrOutput) RequireAuthorizationForCacheControl() pulumi.BoolPtrOutput

Specifies whether authorization is required for a cache invalidation request.

func (MethodSettingsSettingsPtrOutput) ThrottlingBurstLimit

func (o MethodSettingsSettingsPtrOutput) ThrottlingBurstLimit() pulumi.IntPtrOutput

Specifies the throttling burst limit. Default: `-1` (throttling disabled).

func (MethodSettingsSettingsPtrOutput) ThrottlingRateLimit

Specifies the throttling rate limit. Default: `-1` (throttling disabled).

func (MethodSettingsSettingsPtrOutput) ToMethodSettingsSettingsPtrOutput

func (o MethodSettingsSettingsPtrOutput) ToMethodSettingsSettingsPtrOutput() MethodSettingsSettingsPtrOutput

func (MethodSettingsSettingsPtrOutput) ToMethodSettingsSettingsPtrOutputWithContext

func (o MethodSettingsSettingsPtrOutput) ToMethodSettingsSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsSettingsPtrOutput

func (MethodSettingsSettingsPtrOutput) UnauthorizedCacheControlHeaderStrategy

func (o MethodSettingsSettingsPtrOutput) UnauthorizedCacheControlHeaderStrategy() pulumi.StringPtrOutput

Specifies how to handle unauthorized requests for cache invalidation. The available values are `FAIL_WITH_403`, `SUCCEED_WITH_RESPONSE_HEADER`, `SUCCEED_WITHOUT_RESPONSE_HEADER`.

type MethodSettingsState

type MethodSettingsState struct {
	// Method path defined as `{resource_path}/{http_method}` for an individual method override, or `*/*` for overriding all methods in the stage. Ensure to trim any leading forward slashes in the path (e.g. `trimprefix(aws_api_gateway_resource.example.path, "/")`).
	MethodPath pulumi.StringPtrInput
	// The ID of the REST API
	RestApi pulumi.StringPtrInput
	// The settings block, see below.
	Settings MethodSettingsSettingsPtrInput
	// The name of the stage
	StageName pulumi.StringPtrInput
}

func (MethodSettingsState) ElementType

func (MethodSettingsState) ElementType() reflect.Type

type MethodState

type MethodState struct {
	// Specify if the method requires an API key
	ApiKeyRequired pulumi.BoolPtrInput
	// The type of authorization used for the method (`NONE`, `CUSTOM`, `AWS_IAM`, `COGNITO_USER_POOLS`)
	Authorization pulumi.StringPtrInput
	// The authorization scopes used when the authorization is `COGNITO_USER_POOLS`
	AuthorizationScopes pulumi.StringArrayInput
	// The authorizer id to be used when the authorization is `CUSTOM` or `COGNITO_USER_POOLS`
	AuthorizerId pulumi.StringPtrInput
	// The HTTP Method (`GET`, `POST`, `PUT`, `DELETE`, `HEAD`, `OPTIONS`, `ANY`)
	HttpMethod pulumi.StringPtrInput
	// The function name that will be given to the method when generating an SDK through API Gateway. If omitted, API Gateway will generate a function name based on the resource path and HTTP verb.
	OperationName pulumi.StringPtrInput
	// A map of the API models used for the request's content type
	// where key is the content type (e.g. `application/json`)
	// and value is either `Error`, `Empty` (built-in models) or `apigateway.Model`'s `name`.
	RequestModels pulumi.StringMapInput
	// A map of request parameters (from the path, query string and headers) that should be passed to the integration. The boolean value indicates whether the parameter is required (`true`) or optional (`false`).
	// For example: `requestParameters = {"method.request.header.X-Some-Header" = true "method.request.querystring.some-query-param" = true}` would define that the header `X-Some-Header` and the query string `some-query-param` must be provided in the request.
	RequestParameters pulumi.BoolMapInput
	// The ID of a `apigateway.RequestValidator`
	RequestValidatorId pulumi.StringPtrInput
	// The API resource ID
	ResourceId pulumi.StringPtrInput
	// The ID of the associated REST API
	RestApi pulumi.StringPtrInput
}

func (MethodState) ElementType

func (MethodState) ElementType() reflect.Type

type Model

type Model struct {
	pulumi.CustomResourceState

	// The content type of the model
	ContentType pulumi.StringOutput `pulumi:"contentType"`
	// The description of the model
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the model
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the associated REST API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// The schema of the model in a JSON form
	Schema pulumi.StringPtrOutput `pulumi:"schema"`
}

Provides a Model for a REST API Gateway.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myDemoAPI, err := apigateway.NewRestApi(ctx, "myDemoAPI", &apigateway.RestApiArgs{
			Description: pulumi.String("This is my API for demonstration purposes"),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewModel(ctx, "myDemoModel", &apigateway.ModelArgs{
			RestApi:     myDemoAPI.ID(),
			Description: pulumi.String("a JSON schema"),
			ContentType: pulumi.String("application/json"),
			Schema:      pulumi.String(fmt.Sprintf("%v%v%v", "{\n", "  \"type\": \"object\"\n", "}\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_api_gateway_model` can be imported using `REST-API-ID/NAME`, e.g.

```sh

$ pulumi import aws:apigateway/model:Model example 12345abcde/example

```

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 added in v3.13.0

func (*Model) ElementType() reflect.Type

func (*Model) ToModelOutput added in v3.13.0

func (i *Model) ToModelOutput() ModelOutput

func (*Model) ToModelOutputWithContext added in v3.13.0

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

func (*Model) ToModelPtrOutput added in v3.25.0

func (i *Model) ToModelPtrOutput() ModelPtrOutput

func (*Model) ToModelPtrOutputWithContext added in v3.25.0

func (i *Model) ToModelPtrOutputWithContext(ctx context.Context) ModelPtrOutput

type ModelArgs

type ModelArgs struct {
	// The content type of the model
	ContentType pulumi.StringInput
	// The description of the model
	Description pulumi.StringPtrInput
	// The name of the model
	Name pulumi.StringPtrInput
	// The ID of the associated REST API
	RestApi pulumi.Input
	// The schema of the model in a JSON form
	Schema pulumi.StringPtrInput
}

The set of arguments for constructing a Model resource.

func (ModelArgs) ElementType

func (ModelArgs) ElementType() reflect.Type

type ModelArray added in v3.25.0

type ModelArray []ModelInput

func (ModelArray) ElementType added in v3.25.0

func (ModelArray) ElementType() reflect.Type

func (ModelArray) ToModelArrayOutput added in v3.25.0

func (i ModelArray) ToModelArrayOutput() ModelArrayOutput

func (ModelArray) ToModelArrayOutputWithContext added in v3.25.0

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

type ModelArrayInput added in v3.25.0

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 added in v3.25.0

type ModelArrayOutput struct{ *pulumi.OutputState }

func (ModelArrayOutput) ElementType added in v3.25.0

func (ModelArrayOutput) ElementType() reflect.Type

func (ModelArrayOutput) Index added in v3.25.0

func (ModelArrayOutput) ToModelArrayOutput added in v3.25.0

func (o ModelArrayOutput) ToModelArrayOutput() ModelArrayOutput

func (ModelArrayOutput) ToModelArrayOutputWithContext added in v3.25.0

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

type ModelInput added in v3.13.0

type ModelInput interface {
	pulumi.Input

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

type ModelMap added in v3.25.0

type ModelMap map[string]ModelInput

func (ModelMap) ElementType added in v3.25.0

func (ModelMap) ElementType() reflect.Type

func (ModelMap) ToModelMapOutput added in v3.25.0

func (i ModelMap) ToModelMapOutput() ModelMapOutput

func (ModelMap) ToModelMapOutputWithContext added in v3.25.0

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

type ModelMapInput added in v3.25.0

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 added in v3.25.0

type ModelMapOutput struct{ *pulumi.OutputState }

func (ModelMapOutput) ElementType added in v3.25.0

func (ModelMapOutput) ElementType() reflect.Type

func (ModelMapOutput) MapIndex added in v3.25.0

func (ModelMapOutput) ToModelMapOutput added in v3.25.0

func (o ModelMapOutput) ToModelMapOutput() ModelMapOutput

func (ModelMapOutput) ToModelMapOutputWithContext added in v3.25.0

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

type ModelOutput added in v3.13.0

type ModelOutput struct {
	*pulumi.OutputState
}

func (ModelOutput) ElementType added in v3.13.0

func (ModelOutput) ElementType() reflect.Type

func (ModelOutput) ToModelOutput added in v3.13.0

func (o ModelOutput) ToModelOutput() ModelOutput

func (ModelOutput) ToModelOutputWithContext added in v3.13.0

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

func (ModelOutput) ToModelPtrOutput added in v3.25.0

func (o ModelOutput) ToModelPtrOutput() ModelPtrOutput

func (ModelOutput) ToModelPtrOutputWithContext added in v3.25.0

func (o ModelOutput) ToModelPtrOutputWithContext(ctx context.Context) ModelPtrOutput

type ModelPtrInput added in v3.25.0

type ModelPtrInput interface {
	pulumi.Input

	ToModelPtrOutput() ModelPtrOutput
	ToModelPtrOutputWithContext(ctx context.Context) ModelPtrOutput
}

type ModelPtrOutput added in v3.25.0

type ModelPtrOutput struct {
	*pulumi.OutputState
}

func (ModelPtrOutput) ElementType added in v3.25.0

func (ModelPtrOutput) ElementType() reflect.Type

func (ModelPtrOutput) ToModelPtrOutput added in v3.25.0

func (o ModelPtrOutput) ToModelPtrOutput() ModelPtrOutput

func (ModelPtrOutput) ToModelPtrOutputWithContext added in v3.25.0

func (o ModelPtrOutput) ToModelPtrOutputWithContext(ctx context.Context) ModelPtrOutput

type ModelState

type ModelState struct {
	// The content type of the model
	ContentType pulumi.StringPtrInput
	// The description of the model
	Description pulumi.StringPtrInput
	// The name of the model
	Name pulumi.StringPtrInput
	// The ID of the associated REST API
	RestApi pulumi.StringPtrInput
	// The schema of the model in a JSON form
	Schema pulumi.StringPtrInput
}

func (ModelState) ElementType

func (ModelState) ElementType() reflect.Type

type RequestValidator

type RequestValidator struct {
	pulumi.CustomResourceState

	// The name of the request validator
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the associated Rest API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// Boolean whether to validate request body. Defaults to `false`.
	ValidateRequestBody pulumi.BoolPtrOutput `pulumi:"validateRequestBody"`
	// Boolean whether to validate request parameters. Defaults to `false`.
	ValidateRequestParameters pulumi.BoolPtrOutput `pulumi:"validateRequestParameters"`
}

Manages an API Gateway Request Validator.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigateway.NewRequestValidator(ctx, "example", &apigateway.RequestValidatorArgs{
			RestApi:                   pulumi.Any(aws_api_gateway_rest_api.Example.Id),
			ValidateRequestBody:       pulumi.Bool(true),
			ValidateRequestParameters: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_api_gateway_request_validator` can be imported using `REST-API-ID/REQUEST-VALIDATOR-ID`, e.g.

```sh

$ pulumi import aws:apigateway/requestValidator:RequestValidator example 12345abcde/67890fghij

```

func GetRequestValidator

func GetRequestValidator(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RequestValidatorState, opts ...pulumi.ResourceOption) (*RequestValidator, error)

GetRequestValidator gets an existing RequestValidator 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 NewRequestValidator

func NewRequestValidator(ctx *pulumi.Context,
	name string, args *RequestValidatorArgs, opts ...pulumi.ResourceOption) (*RequestValidator, error)

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

func (*RequestValidator) ElementType added in v3.13.0

func (*RequestValidator) ElementType() reflect.Type

func (*RequestValidator) ToRequestValidatorOutput added in v3.13.0

func (i *RequestValidator) ToRequestValidatorOutput() RequestValidatorOutput

func (*RequestValidator) ToRequestValidatorOutputWithContext added in v3.13.0

func (i *RequestValidator) ToRequestValidatorOutputWithContext(ctx context.Context) RequestValidatorOutput

func (*RequestValidator) ToRequestValidatorPtrOutput added in v3.25.0

func (i *RequestValidator) ToRequestValidatorPtrOutput() RequestValidatorPtrOutput

func (*RequestValidator) ToRequestValidatorPtrOutputWithContext added in v3.25.0

func (i *RequestValidator) ToRequestValidatorPtrOutputWithContext(ctx context.Context) RequestValidatorPtrOutput

type RequestValidatorArgs

type RequestValidatorArgs struct {
	// The name of the request validator
	Name pulumi.StringPtrInput
	// The ID of the associated Rest API
	RestApi pulumi.Input
	// Boolean whether to validate request body. Defaults to `false`.
	ValidateRequestBody pulumi.BoolPtrInput
	// Boolean whether to validate request parameters. Defaults to `false`.
	ValidateRequestParameters pulumi.BoolPtrInput
}

The set of arguments for constructing a RequestValidator resource.

func (RequestValidatorArgs) ElementType

func (RequestValidatorArgs) ElementType() reflect.Type

type RequestValidatorArray added in v3.25.0

type RequestValidatorArray []RequestValidatorInput

func (RequestValidatorArray) ElementType added in v3.25.0

func (RequestValidatorArray) ElementType() reflect.Type

func (RequestValidatorArray) ToRequestValidatorArrayOutput added in v3.25.0

func (i RequestValidatorArray) ToRequestValidatorArrayOutput() RequestValidatorArrayOutput

func (RequestValidatorArray) ToRequestValidatorArrayOutputWithContext added in v3.25.0

func (i RequestValidatorArray) ToRequestValidatorArrayOutputWithContext(ctx context.Context) RequestValidatorArrayOutput

type RequestValidatorArrayInput added in v3.25.0

type RequestValidatorArrayInput interface {
	pulumi.Input

	ToRequestValidatorArrayOutput() RequestValidatorArrayOutput
	ToRequestValidatorArrayOutputWithContext(context.Context) RequestValidatorArrayOutput
}

RequestValidatorArrayInput is an input type that accepts RequestValidatorArray and RequestValidatorArrayOutput values. You can construct a concrete instance of `RequestValidatorArrayInput` via:

RequestValidatorArray{ RequestValidatorArgs{...} }

type RequestValidatorArrayOutput added in v3.25.0

type RequestValidatorArrayOutput struct{ *pulumi.OutputState }

func (RequestValidatorArrayOutput) ElementType added in v3.25.0

func (RequestValidatorArrayOutput) Index added in v3.25.0

func (RequestValidatorArrayOutput) ToRequestValidatorArrayOutput added in v3.25.0

func (o RequestValidatorArrayOutput) ToRequestValidatorArrayOutput() RequestValidatorArrayOutput

func (RequestValidatorArrayOutput) ToRequestValidatorArrayOutputWithContext added in v3.25.0

func (o RequestValidatorArrayOutput) ToRequestValidatorArrayOutputWithContext(ctx context.Context) RequestValidatorArrayOutput

type RequestValidatorInput added in v3.13.0

type RequestValidatorInput interface {
	pulumi.Input

	ToRequestValidatorOutput() RequestValidatorOutput
	ToRequestValidatorOutputWithContext(ctx context.Context) RequestValidatorOutput
}

type RequestValidatorMap added in v3.25.0

type RequestValidatorMap map[string]RequestValidatorInput

func (RequestValidatorMap) ElementType added in v3.25.0

func (RequestValidatorMap) ElementType() reflect.Type

func (RequestValidatorMap) ToRequestValidatorMapOutput added in v3.25.0

func (i RequestValidatorMap) ToRequestValidatorMapOutput() RequestValidatorMapOutput

func (RequestValidatorMap) ToRequestValidatorMapOutputWithContext added in v3.25.0

func (i RequestValidatorMap) ToRequestValidatorMapOutputWithContext(ctx context.Context) RequestValidatorMapOutput

type RequestValidatorMapInput added in v3.25.0

type RequestValidatorMapInput interface {
	pulumi.Input

	ToRequestValidatorMapOutput() RequestValidatorMapOutput
	ToRequestValidatorMapOutputWithContext(context.Context) RequestValidatorMapOutput
}

RequestValidatorMapInput is an input type that accepts RequestValidatorMap and RequestValidatorMapOutput values. You can construct a concrete instance of `RequestValidatorMapInput` via:

RequestValidatorMap{ "key": RequestValidatorArgs{...} }

type RequestValidatorMapOutput added in v3.25.0

type RequestValidatorMapOutput struct{ *pulumi.OutputState }

func (RequestValidatorMapOutput) ElementType added in v3.25.0

func (RequestValidatorMapOutput) ElementType() reflect.Type

func (RequestValidatorMapOutput) MapIndex added in v3.25.0

func (RequestValidatorMapOutput) ToRequestValidatorMapOutput added in v3.25.0

func (o RequestValidatorMapOutput) ToRequestValidatorMapOutput() RequestValidatorMapOutput

func (RequestValidatorMapOutput) ToRequestValidatorMapOutputWithContext added in v3.25.0

func (o RequestValidatorMapOutput) ToRequestValidatorMapOutputWithContext(ctx context.Context) RequestValidatorMapOutput

type RequestValidatorOutput added in v3.13.0

type RequestValidatorOutput struct {
	*pulumi.OutputState
}

func (RequestValidatorOutput) ElementType added in v3.13.0

func (RequestValidatorOutput) ElementType() reflect.Type

func (RequestValidatorOutput) ToRequestValidatorOutput added in v3.13.0

func (o RequestValidatorOutput) ToRequestValidatorOutput() RequestValidatorOutput

func (RequestValidatorOutput) ToRequestValidatorOutputWithContext added in v3.13.0

func (o RequestValidatorOutput) ToRequestValidatorOutputWithContext(ctx context.Context) RequestValidatorOutput

func (RequestValidatorOutput) ToRequestValidatorPtrOutput added in v3.25.0

func (o RequestValidatorOutput) ToRequestValidatorPtrOutput() RequestValidatorPtrOutput

func (RequestValidatorOutput) ToRequestValidatorPtrOutputWithContext added in v3.25.0

func (o RequestValidatorOutput) ToRequestValidatorPtrOutputWithContext(ctx context.Context) RequestValidatorPtrOutput

type RequestValidatorPtrInput added in v3.25.0

type RequestValidatorPtrInput interface {
	pulumi.Input

	ToRequestValidatorPtrOutput() RequestValidatorPtrOutput
	ToRequestValidatorPtrOutputWithContext(ctx context.Context) RequestValidatorPtrOutput
}

type RequestValidatorPtrOutput added in v3.25.0

type RequestValidatorPtrOutput struct {
	*pulumi.OutputState
}

func (RequestValidatorPtrOutput) ElementType added in v3.25.0

func (RequestValidatorPtrOutput) ElementType() reflect.Type

func (RequestValidatorPtrOutput) ToRequestValidatorPtrOutput added in v3.25.0

func (o RequestValidatorPtrOutput) ToRequestValidatorPtrOutput() RequestValidatorPtrOutput

func (RequestValidatorPtrOutput) ToRequestValidatorPtrOutputWithContext added in v3.25.0

func (o RequestValidatorPtrOutput) ToRequestValidatorPtrOutputWithContext(ctx context.Context) RequestValidatorPtrOutput

type RequestValidatorState

type RequestValidatorState struct {
	// The name of the request validator
	Name pulumi.StringPtrInput
	// The ID of the associated Rest API
	RestApi pulumi.StringPtrInput
	// Boolean whether to validate request body. Defaults to `false`.
	ValidateRequestBody pulumi.BoolPtrInput
	// Boolean whether to validate request parameters. Defaults to `false`.
	ValidateRequestParameters pulumi.BoolPtrInput
}

func (RequestValidatorState) ElementType

func (RequestValidatorState) ElementType() reflect.Type

type Resource

type Resource struct {
	pulumi.CustomResourceState

	// The ID of the parent API resource
	ParentId pulumi.StringOutput `pulumi:"parentId"`
	// The complete path for this API resource, including all parent paths.
	Path pulumi.StringOutput `pulumi:"path"`
	// The last path segment of this API resource.
	PathPart pulumi.StringOutput `pulumi:"pathPart"`
	// The ID of the associated REST API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
}

Provides an API Gateway Resource.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		myDemoAPI, err := apigateway.NewRestApi(ctx, "myDemoAPI", &apigateway.RestApiArgs{
			Description: pulumi.String("This is my API for demonstration purposes"),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewResource(ctx, "myDemoResource", &apigateway.ResourceArgs{
			RestApi:  myDemoAPI.ID(),
			ParentId: myDemoAPI.RootResourceId,
			PathPart: pulumi.String("mydemoresource"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_api_gateway_resource` can be imported using `REST-API-ID/RESOURCE-ID`, e.g.

```sh

$ pulumi import aws:apigateway/resource:Resource example 12345abcde/67890fghij

```

func GetResource

func GetResource(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ResourceState, opts ...pulumi.ResourceOption) (*Resource, error)

GetResource gets an existing Resource 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 NewResource

func NewResource(ctx *pulumi.Context,
	name string, args *ResourceArgs, opts ...pulumi.ResourceOption) (*Resource, error)

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

func (*Resource) ElementType added in v3.13.0

func (*Resource) ElementType() reflect.Type

func (*Resource) ToResourceOutput added in v3.13.0

func (i *Resource) ToResourceOutput() ResourceOutput

func (*Resource) ToResourceOutputWithContext added in v3.13.0

func (i *Resource) ToResourceOutputWithContext(ctx context.Context) ResourceOutput

func (*Resource) ToResourcePtrOutput added in v3.25.0

func (i *Resource) ToResourcePtrOutput() ResourcePtrOutput

func (*Resource) ToResourcePtrOutputWithContext added in v3.25.0

func (i *Resource) ToResourcePtrOutputWithContext(ctx context.Context) ResourcePtrOutput

type ResourceArgs

type ResourceArgs struct {
	// The ID of the parent API resource
	ParentId pulumi.StringInput
	// The last path segment of this API resource.
	PathPart pulumi.StringInput
	// The ID of the associated REST API
	RestApi pulumi.Input
}

The set of arguments for constructing a Resource resource.

func (ResourceArgs) ElementType

func (ResourceArgs) ElementType() reflect.Type

type ResourceArray added in v3.25.0

type ResourceArray []ResourceInput

func (ResourceArray) ElementType added in v3.25.0

func (ResourceArray) ElementType() reflect.Type

func (ResourceArray) ToResourceArrayOutput added in v3.25.0

func (i ResourceArray) ToResourceArrayOutput() ResourceArrayOutput

func (ResourceArray) ToResourceArrayOutputWithContext added in v3.25.0

func (i ResourceArray) ToResourceArrayOutputWithContext(ctx context.Context) ResourceArrayOutput

type ResourceArrayInput added in v3.25.0

type ResourceArrayInput interface {
	pulumi.Input

	ToResourceArrayOutput() ResourceArrayOutput
	ToResourceArrayOutputWithContext(context.Context) ResourceArrayOutput
}

ResourceArrayInput is an input type that accepts ResourceArray and ResourceArrayOutput values. You can construct a concrete instance of `ResourceArrayInput` via:

ResourceArray{ ResourceArgs{...} }

type ResourceArrayOutput added in v3.25.0

type ResourceArrayOutput struct{ *pulumi.OutputState }

func (ResourceArrayOutput) ElementType added in v3.25.0

func (ResourceArrayOutput) ElementType() reflect.Type

func (ResourceArrayOutput) Index added in v3.25.0

func (ResourceArrayOutput) ToResourceArrayOutput added in v3.25.0

func (o ResourceArrayOutput) ToResourceArrayOutput() ResourceArrayOutput

func (ResourceArrayOutput) ToResourceArrayOutputWithContext added in v3.25.0

func (o ResourceArrayOutput) ToResourceArrayOutputWithContext(ctx context.Context) ResourceArrayOutput

type ResourceInput added in v3.13.0

type ResourceInput interface {
	pulumi.Input

	ToResourceOutput() ResourceOutput
	ToResourceOutputWithContext(ctx context.Context) ResourceOutput
}

type ResourceMap added in v3.25.0

type ResourceMap map[string]ResourceInput

func (ResourceMap) ElementType added in v3.25.0

func (ResourceMap) ElementType() reflect.Type

func (ResourceMap) ToResourceMapOutput added in v3.25.0

func (i ResourceMap) ToResourceMapOutput() ResourceMapOutput

func (ResourceMap) ToResourceMapOutputWithContext added in v3.25.0

func (i ResourceMap) ToResourceMapOutputWithContext(ctx context.Context) ResourceMapOutput

type ResourceMapInput added in v3.25.0

type ResourceMapInput interface {
	pulumi.Input

	ToResourceMapOutput() ResourceMapOutput
	ToResourceMapOutputWithContext(context.Context) ResourceMapOutput
}

ResourceMapInput is an input type that accepts ResourceMap and ResourceMapOutput values. You can construct a concrete instance of `ResourceMapInput` via:

ResourceMap{ "key": ResourceArgs{...} }

type ResourceMapOutput added in v3.25.0

type ResourceMapOutput struct{ *pulumi.OutputState }

func (ResourceMapOutput) ElementType added in v3.25.0

func (ResourceMapOutput) ElementType() reflect.Type

func (ResourceMapOutput) MapIndex added in v3.25.0

func (ResourceMapOutput) ToResourceMapOutput added in v3.25.0

func (o ResourceMapOutput) ToResourceMapOutput() ResourceMapOutput

func (ResourceMapOutput) ToResourceMapOutputWithContext added in v3.25.0

func (o ResourceMapOutput) ToResourceMapOutputWithContext(ctx context.Context) ResourceMapOutput

type ResourceOutput added in v3.13.0

type ResourceOutput struct {
	*pulumi.OutputState
}

func (ResourceOutput) ElementType added in v3.13.0

func (ResourceOutput) ElementType() reflect.Type

func (ResourceOutput) ToResourceOutput added in v3.13.0

func (o ResourceOutput) ToResourceOutput() ResourceOutput

func (ResourceOutput) ToResourceOutputWithContext added in v3.13.0

func (o ResourceOutput) ToResourceOutputWithContext(ctx context.Context) ResourceOutput

func (ResourceOutput) ToResourcePtrOutput added in v3.25.0

func (o ResourceOutput) ToResourcePtrOutput() ResourcePtrOutput

func (ResourceOutput) ToResourcePtrOutputWithContext added in v3.25.0

func (o ResourceOutput) ToResourcePtrOutputWithContext(ctx context.Context) ResourcePtrOutput

type ResourcePtrInput added in v3.25.0

type ResourcePtrInput interface {
	pulumi.Input

	ToResourcePtrOutput() ResourcePtrOutput
	ToResourcePtrOutputWithContext(ctx context.Context) ResourcePtrOutput
}

type ResourcePtrOutput added in v3.25.0

type ResourcePtrOutput struct {
	*pulumi.OutputState
}

func (ResourcePtrOutput) ElementType added in v3.25.0

func (ResourcePtrOutput) ElementType() reflect.Type

func (ResourcePtrOutput) ToResourcePtrOutput added in v3.25.0

func (o ResourcePtrOutput) ToResourcePtrOutput() ResourcePtrOutput

func (ResourcePtrOutput) ToResourcePtrOutputWithContext added in v3.25.0

func (o ResourcePtrOutput) ToResourcePtrOutputWithContext(ctx context.Context) ResourcePtrOutput

type ResourceState

type ResourceState struct {
	// The ID of the parent API resource
	ParentId pulumi.StringPtrInput
	// The complete path for this API resource, including all parent paths.
	Path pulumi.StringPtrInput
	// The last path segment of this API resource.
	PathPart pulumi.StringPtrInput
	// The ID of the associated REST API
	RestApi pulumi.StringPtrInput
}

func (ResourceState) ElementType

func (ResourceState) ElementType() reflect.Type

type Response

type Response struct {
	pulumi.CustomResourceState

	// A map specifying the parameters (paths, query strings and headers) of the Gateway Response.
	ResponseParameters pulumi.StringMapOutput `pulumi:"responseParameters"`
	// A map specifying the templates used to transform the response body.
	ResponseTemplates pulumi.StringMapOutput `pulumi:"responseTemplates"`
	// The response type of the associated GatewayResponse.
	ResponseType pulumi.StringOutput `pulumi:"responseType"`
	// The string identifier of the associated REST API.
	RestApiId pulumi.StringOutput `pulumi:"restApiId"`
	// The HTTP status code of the Gateway Response.
	StatusCode pulumi.StringPtrOutput `pulumi:"statusCode"`
}

Provides an API Gateway Gateway Response for a REST API Gateway.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		main, err := apigateway.NewRestApi(ctx, "main", nil)
		if err != nil {
			return err
		}
		_, err = apigateway.NewResponse(ctx, "test", &apigateway.ResponseArgs{
			RestApiId:    main.ID(),
			StatusCode:   pulumi.String("401"),
			ResponseType: pulumi.String("UNAUTHORIZED"),
			ResponseTemplates: pulumi.StringMap{
				"application/json": pulumi.String(fmt.Sprintf("%v%v%v", "{\"message\":", "$", "context.error.messageString}")),
			},
			ResponseParameters: pulumi.StringMap{
				"gatewayresponse.header.Authorization": pulumi.String("'Basic'"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_api_gateway_gateway_response` can be imported using `REST-API-ID/RESPONSE-TYPE`, e.g.

```sh

$ pulumi import aws:apigateway/response:Response example 12345abcde/UNAUTHORIZED

```

func GetResponse

func GetResponse(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ResponseState, opts ...pulumi.ResourceOption) (*Response, error)

GetResponse gets an existing Response 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 NewResponse

func NewResponse(ctx *pulumi.Context,
	name string, args *ResponseArgs, opts ...pulumi.ResourceOption) (*Response, error)

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

func (*Response) ElementType added in v3.13.0

func (*Response) ElementType() reflect.Type

func (*Response) ToResponseOutput added in v3.13.0

func (i *Response) ToResponseOutput() ResponseOutput

func (*Response) ToResponseOutputWithContext added in v3.13.0

func (i *Response) ToResponseOutputWithContext(ctx context.Context) ResponseOutput

func (*Response) ToResponsePtrOutput added in v3.25.0

func (i *Response) ToResponsePtrOutput() ResponsePtrOutput

func (*Response) ToResponsePtrOutputWithContext added in v3.25.0

func (i *Response) ToResponsePtrOutputWithContext(ctx context.Context) ResponsePtrOutput

type ResponseArgs

type ResponseArgs struct {
	// A map specifying the parameters (paths, query strings and headers) of the Gateway Response.
	ResponseParameters pulumi.StringMapInput
	// A map specifying the templates used to transform the response body.
	ResponseTemplates pulumi.StringMapInput
	// The response type of the associated GatewayResponse.
	ResponseType pulumi.StringInput
	// The string identifier of the associated REST API.
	RestApiId pulumi.StringInput
	// The HTTP status code of the Gateway Response.
	StatusCode pulumi.StringPtrInput
}

The set of arguments for constructing a Response resource.

func (ResponseArgs) ElementType

func (ResponseArgs) ElementType() reflect.Type

type ResponseArray added in v3.25.0

type ResponseArray []ResponseInput

func (ResponseArray) ElementType added in v3.25.0

func (ResponseArray) ElementType() reflect.Type

func (ResponseArray) ToResponseArrayOutput added in v3.25.0

func (i ResponseArray) ToResponseArrayOutput() ResponseArrayOutput

func (ResponseArray) ToResponseArrayOutputWithContext added in v3.25.0

func (i ResponseArray) ToResponseArrayOutputWithContext(ctx context.Context) ResponseArrayOutput

type ResponseArrayInput added in v3.25.0

type ResponseArrayInput interface {
	pulumi.Input

	ToResponseArrayOutput() ResponseArrayOutput
	ToResponseArrayOutputWithContext(context.Context) ResponseArrayOutput
}

ResponseArrayInput is an input type that accepts ResponseArray and ResponseArrayOutput values. You can construct a concrete instance of `ResponseArrayInput` via:

ResponseArray{ ResponseArgs{...} }

type ResponseArrayOutput added in v3.25.0

type ResponseArrayOutput struct{ *pulumi.OutputState }

func (ResponseArrayOutput) ElementType added in v3.25.0

func (ResponseArrayOutput) ElementType() reflect.Type

func (ResponseArrayOutput) Index added in v3.25.0

func (ResponseArrayOutput) ToResponseArrayOutput added in v3.25.0

func (o ResponseArrayOutput) ToResponseArrayOutput() ResponseArrayOutput

func (ResponseArrayOutput) ToResponseArrayOutputWithContext added in v3.25.0

func (o ResponseArrayOutput) ToResponseArrayOutputWithContext(ctx context.Context) ResponseArrayOutput

type ResponseInput added in v3.13.0

type ResponseInput interface {
	pulumi.Input

	ToResponseOutput() ResponseOutput
	ToResponseOutputWithContext(ctx context.Context) ResponseOutput
}

type ResponseMap added in v3.25.0

type ResponseMap map[string]ResponseInput

func (ResponseMap) ElementType added in v3.25.0

func (ResponseMap) ElementType() reflect.Type

func (ResponseMap) ToResponseMapOutput added in v3.25.0

func (i ResponseMap) ToResponseMapOutput() ResponseMapOutput

func (ResponseMap) ToResponseMapOutputWithContext added in v3.25.0

func (i ResponseMap) ToResponseMapOutputWithContext(ctx context.Context) ResponseMapOutput

type ResponseMapInput added in v3.25.0

type ResponseMapInput interface {
	pulumi.Input

	ToResponseMapOutput() ResponseMapOutput
	ToResponseMapOutputWithContext(context.Context) ResponseMapOutput
}

ResponseMapInput is an input type that accepts ResponseMap and ResponseMapOutput values. You can construct a concrete instance of `ResponseMapInput` via:

ResponseMap{ "key": ResponseArgs{...} }

type ResponseMapOutput added in v3.25.0

type ResponseMapOutput struct{ *pulumi.OutputState }

func (ResponseMapOutput) ElementType added in v3.25.0

func (ResponseMapOutput) ElementType() reflect.Type

func (ResponseMapOutput) MapIndex added in v3.25.0

func (ResponseMapOutput) ToResponseMapOutput added in v3.25.0

func (o ResponseMapOutput) ToResponseMapOutput() ResponseMapOutput

func (ResponseMapOutput) ToResponseMapOutputWithContext added in v3.25.0

func (o ResponseMapOutput) ToResponseMapOutputWithContext(ctx context.Context) ResponseMapOutput

type ResponseOutput added in v3.13.0

type ResponseOutput struct {
	*pulumi.OutputState
}

func (ResponseOutput) ElementType added in v3.13.0

func (ResponseOutput) ElementType() reflect.Type

func (ResponseOutput) ToResponseOutput added in v3.13.0

func (o ResponseOutput) ToResponseOutput() ResponseOutput

func (ResponseOutput) ToResponseOutputWithContext added in v3.13.0

func (o ResponseOutput) ToResponseOutputWithContext(ctx context.Context) ResponseOutput

func (ResponseOutput) ToResponsePtrOutput added in v3.25.0

func (o ResponseOutput) ToResponsePtrOutput() ResponsePtrOutput

func (ResponseOutput) ToResponsePtrOutputWithContext added in v3.25.0

func (o ResponseOutput) ToResponsePtrOutputWithContext(ctx context.Context) ResponsePtrOutput

type ResponsePtrInput added in v3.25.0

type ResponsePtrInput interface {
	pulumi.Input

	ToResponsePtrOutput() ResponsePtrOutput
	ToResponsePtrOutputWithContext(ctx context.Context) ResponsePtrOutput
}

type ResponsePtrOutput added in v3.25.0

type ResponsePtrOutput struct {
	*pulumi.OutputState
}

func (ResponsePtrOutput) ElementType added in v3.25.0

func (ResponsePtrOutput) ElementType() reflect.Type

func (ResponsePtrOutput) ToResponsePtrOutput added in v3.25.0

func (o ResponsePtrOutput) ToResponsePtrOutput() ResponsePtrOutput

func (ResponsePtrOutput) ToResponsePtrOutputWithContext added in v3.25.0

func (o ResponsePtrOutput) ToResponsePtrOutputWithContext(ctx context.Context) ResponsePtrOutput

type ResponseState

type ResponseState struct {
	// A map specifying the parameters (paths, query strings and headers) of the Gateway Response.
	ResponseParameters pulumi.StringMapInput
	// A map specifying the templates used to transform the response body.
	ResponseTemplates pulumi.StringMapInput
	// The response type of the associated GatewayResponse.
	ResponseType pulumi.StringPtrInput
	// The string identifier of the associated REST API.
	RestApiId pulumi.StringPtrInput
	// The HTTP status code of the Gateway Response.
	StatusCode pulumi.StringPtrInput
}

func (ResponseState) ElementType

func (ResponseState) ElementType() reflect.Type

type RestApi

type RestApi struct {
	pulumi.CustomResourceState

	// Source of the API key for requests. Valid values are `HEADER` (default) and `AUTHORIZER`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-api-key-source` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-api-key-source.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	ApiKeySource pulumi.StringOutput `pulumi:"apiKeySource"`
	// Amazon Resource Name (ARN)
	Arn pulumi.StringOutput `pulumi:"arn"`
	// List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-binary-media-types` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	BinaryMediaTypes pulumi.StringArrayOutput `pulumi:"binaryMediaTypes"`
	// OpenAPI specification that defines the set of routes and integrations to create as part of the REST API. This configuration, and any updates to it, will replace all REST API configuration except values overridden in this resource configuration and other resource updates applied after this resource but before any `apigateway.Deployment` creation. More information about REST API OpenAPI support can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
	Body pulumi.StringPtrOutput `pulumi:"body"`
	// The creation date of the REST API
	CreatedDate pulumi.StringOutput `pulumi:"createdDate"`
	// Description of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.description` field. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Description pulumi.StringOutput `pulumi:"description"`
	// Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to `false`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `disableExecuteApiEndpoint` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is `true` and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	DisableExecuteApiEndpoint pulumi.BoolOutput `pulumi:"disableExecuteApiEndpoint"`
	// Configuration block defining API endpoint configuration including endpoint type. Defined below.
	EndpointConfiguration RestApiEndpointConfigurationOutput `pulumi:"endpointConfiguration"`
	// The execution ARN part to be used in `lambdaPermission`'s `sourceArn`
	// when allowing API Gateway to invoke a Lambda function,
	// e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j`, which can be concatenated with allowed stage, method and resource path.
	ExecutionArn pulumi.StringOutput `pulumi:"executionArn"`
	// Minimum response size to compress for the REST API. Integer between `-1` and `10485760` (10MB). Setting a value greater than `-1` will enable compression, `-1` disables compression (default). If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-minimum-compression-size` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-openapi-minimum-compression-size.html). If the argument value (_except_ `-1`) is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	MinimumCompressionSize pulumi.IntPtrOutput `pulumi:"minimumCompressionSize"`
	// Name of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.title` field. If the argument value is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Name pulumi.StringOutput `pulumi:"name"`
	// Map of customizations for importing the specification in the `body` argument. For example, to exclude DocumentationParts from an imported API, set `ignore` equal to `documentation`. Additional documentation, including other parameters such as `basepath`, can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
	Parameters pulumi.StringMapOutput `pulumi:"parameters"`
	// JSON formatted policy document that controls access to the API Gateway. This provider will only perform drift detection of its value when present in a configuration. It is recommended to use the `apigateway.RestApiPolicy` resource instead. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-policy` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/openapi-extensions-policy.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The resource ID of the REST API's root
	RootResourceId pulumi.StringOutput `pulumi:"rootResourceId"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages an API Gateway REST API. The REST API can be configured via [importing an OpenAPI specification](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html) in the `body` argument (with other arguments serving as overrides) or via other provider resources to manage the resources (`apigateway.Resource` resource), methods (`apigateway.Method` resource), integrations (`apigateway.Integration` resource), etc. of the REST API. Once the REST API is configured, the `apigateway.Deployment` resource can be used along with the `apigateway.Stage` resource to publish the REST API.

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

## Example Usage

## Import

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

```sh

$ pulumi import aws:apigateway/restApi:RestApi example 12345abcde

```

func GetRestApi

func GetRestApi(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RestApiState, opts ...pulumi.ResourceOption) (*RestApi, error)

GetRestApi gets an existing RestApi 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 NewRestApi

func NewRestApi(ctx *pulumi.Context,
	name string, args *RestApiArgs, opts ...pulumi.ResourceOption) (*RestApi, error)

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

func (*RestApi) ElementType added in v3.13.0

func (*RestApi) ElementType() reflect.Type

func (*RestApi) ToRestApiOutput added in v3.13.0

func (i *RestApi) ToRestApiOutput() RestApiOutput

func (*RestApi) ToRestApiOutputWithContext added in v3.13.0

func (i *RestApi) ToRestApiOutputWithContext(ctx context.Context) RestApiOutput

func (*RestApi) ToRestApiPtrOutput added in v3.25.0

func (i *RestApi) ToRestApiPtrOutput() RestApiPtrOutput

func (*RestApi) ToRestApiPtrOutputWithContext added in v3.25.0

func (i *RestApi) ToRestApiPtrOutputWithContext(ctx context.Context) RestApiPtrOutput

type RestApiArgs

type RestApiArgs struct {
	// Source of the API key for requests. Valid values are `HEADER` (default) and `AUTHORIZER`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-api-key-source` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-api-key-source.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	ApiKeySource pulumi.StringPtrInput
	// List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-binary-media-types` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	BinaryMediaTypes pulumi.StringArrayInput
	// OpenAPI specification that defines the set of routes and integrations to create as part of the REST API. This configuration, and any updates to it, will replace all REST API configuration except values overridden in this resource configuration and other resource updates applied after this resource but before any `apigateway.Deployment` creation. More information about REST API OpenAPI support can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
	Body pulumi.StringPtrInput
	// Description of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.description` field. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Description pulumi.StringPtrInput
	// Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to `false`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `disableExecuteApiEndpoint` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is `true` and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	DisableExecuteApiEndpoint pulumi.BoolPtrInput
	// Configuration block defining API endpoint configuration including endpoint type. Defined below.
	EndpointConfiguration RestApiEndpointConfigurationPtrInput
	// Minimum response size to compress for the REST API. Integer between `-1` and `10485760` (10MB). Setting a value greater than `-1` will enable compression, `-1` disables compression (default). If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-minimum-compression-size` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-openapi-minimum-compression-size.html). If the argument value (_except_ `-1`) is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	MinimumCompressionSize pulumi.IntPtrInput
	// Name of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.title` field. If the argument value is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Name pulumi.StringPtrInput
	// Map of customizations for importing the specification in the `body` argument. For example, to exclude DocumentationParts from an imported API, set `ignore` equal to `documentation`. Additional documentation, including other parameters such as `basepath`, can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
	Parameters pulumi.StringMapInput
	// JSON formatted policy document that controls access to the API Gateway. This provider will only perform drift detection of its value when present in a configuration. It is recommended to use the `apigateway.RestApiPolicy` resource instead. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-policy` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/openapi-extensions-policy.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Policy pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a RestApi resource.

func (RestApiArgs) ElementType

func (RestApiArgs) ElementType() reflect.Type

type RestApiArray added in v3.25.0

type RestApiArray []RestApiInput

func (RestApiArray) ElementType added in v3.25.0

func (RestApiArray) ElementType() reflect.Type

func (RestApiArray) ToRestApiArrayOutput added in v3.25.0

func (i RestApiArray) ToRestApiArrayOutput() RestApiArrayOutput

func (RestApiArray) ToRestApiArrayOutputWithContext added in v3.25.0

func (i RestApiArray) ToRestApiArrayOutputWithContext(ctx context.Context) RestApiArrayOutput

type RestApiArrayInput added in v3.25.0

type RestApiArrayInput interface {
	pulumi.Input

	ToRestApiArrayOutput() RestApiArrayOutput
	ToRestApiArrayOutputWithContext(context.Context) RestApiArrayOutput
}

RestApiArrayInput is an input type that accepts RestApiArray and RestApiArrayOutput values. You can construct a concrete instance of `RestApiArrayInput` via:

RestApiArray{ RestApiArgs{...} }

type RestApiArrayOutput added in v3.25.0

type RestApiArrayOutput struct{ *pulumi.OutputState }

func (RestApiArrayOutput) ElementType added in v3.25.0

func (RestApiArrayOutput) ElementType() reflect.Type

func (RestApiArrayOutput) Index added in v3.25.0

func (RestApiArrayOutput) ToRestApiArrayOutput added in v3.25.0

func (o RestApiArrayOutput) ToRestApiArrayOutput() RestApiArrayOutput

func (RestApiArrayOutput) ToRestApiArrayOutputWithContext added in v3.25.0

func (o RestApiArrayOutput) ToRestApiArrayOutputWithContext(ctx context.Context) RestApiArrayOutput

type RestApiEndpointConfiguration

type RestApiEndpointConfiguration struct {
	// A list of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE`, `REGIONAL` or `PRIVATE`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.
	Types string `pulumi:"types"`
	// Set of VPC Endpoint identifiers. It is only supported for `PRIVATE` endpoint type. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `vpcEndpointIds` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	VpcEndpointIds []string `pulumi:"vpcEndpointIds"`
}

type RestApiEndpointConfigurationArgs

type RestApiEndpointConfigurationArgs struct {
	// A list of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE`, `REGIONAL` or `PRIVATE`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.
	Types pulumi.StringInput `pulumi:"types"`
	// Set of VPC Endpoint identifiers. It is only supported for `PRIVATE` endpoint type. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `vpcEndpointIds` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	VpcEndpointIds pulumi.StringArrayInput `pulumi:"vpcEndpointIds"`
}

func (RestApiEndpointConfigurationArgs) ElementType

func (RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationOutput

func (i RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationOutput() RestApiEndpointConfigurationOutput

func (RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationOutputWithContext

func (i RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationOutputWithContext(ctx context.Context) RestApiEndpointConfigurationOutput

func (RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationPtrOutput

func (i RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationPtrOutput() RestApiEndpointConfigurationPtrOutput

func (RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationPtrOutputWithContext

func (i RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationPtrOutputWithContext(ctx context.Context) RestApiEndpointConfigurationPtrOutput

type RestApiEndpointConfigurationInput

type RestApiEndpointConfigurationInput interface {
	pulumi.Input

	ToRestApiEndpointConfigurationOutput() RestApiEndpointConfigurationOutput
	ToRestApiEndpointConfigurationOutputWithContext(context.Context) RestApiEndpointConfigurationOutput
}

RestApiEndpointConfigurationInput is an input type that accepts RestApiEndpointConfigurationArgs and RestApiEndpointConfigurationOutput values. You can construct a concrete instance of `RestApiEndpointConfigurationInput` via:

RestApiEndpointConfigurationArgs{...}

type RestApiEndpointConfigurationOutput

type RestApiEndpointConfigurationOutput struct{ *pulumi.OutputState }

func (RestApiEndpointConfigurationOutput) ElementType

func (RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationOutput

func (o RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationOutput() RestApiEndpointConfigurationOutput

func (RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationOutputWithContext

func (o RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationOutputWithContext(ctx context.Context) RestApiEndpointConfigurationOutput

func (RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationPtrOutput

func (o RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationPtrOutput() RestApiEndpointConfigurationPtrOutput

func (RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationPtrOutputWithContext

func (o RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationPtrOutputWithContext(ctx context.Context) RestApiEndpointConfigurationPtrOutput

func (RestApiEndpointConfigurationOutput) Types

A list of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE`, `REGIONAL` or `PRIVATE`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.

func (RestApiEndpointConfigurationOutput) VpcEndpointIds

Set of VPC Endpoint identifiers. It is only supported for `PRIVATE` endpoint type. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `vpcEndpointIds` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.

type RestApiEndpointConfigurationPtrInput

type RestApiEndpointConfigurationPtrInput interface {
	pulumi.Input

	ToRestApiEndpointConfigurationPtrOutput() RestApiEndpointConfigurationPtrOutput
	ToRestApiEndpointConfigurationPtrOutputWithContext(context.Context) RestApiEndpointConfigurationPtrOutput
}

RestApiEndpointConfigurationPtrInput is an input type that accepts RestApiEndpointConfigurationArgs, RestApiEndpointConfigurationPtr and RestApiEndpointConfigurationPtrOutput values. You can construct a concrete instance of `RestApiEndpointConfigurationPtrInput` via:

        RestApiEndpointConfigurationArgs{...}

or:

        nil

type RestApiEndpointConfigurationPtrOutput

type RestApiEndpointConfigurationPtrOutput struct{ *pulumi.OutputState }

func (RestApiEndpointConfigurationPtrOutput) Elem

func (RestApiEndpointConfigurationPtrOutput) ElementType

func (RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutput

func (o RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutput() RestApiEndpointConfigurationPtrOutput

func (RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutputWithContext

func (o RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutputWithContext(ctx context.Context) RestApiEndpointConfigurationPtrOutput

func (RestApiEndpointConfigurationPtrOutput) Types

A list of endpoint types. This resource currently only supports managing a single value. Valid values: `EDGE`, `REGIONAL` or `PRIVATE`. If unspecified, defaults to `EDGE`. Must be declared as `REGIONAL` in non-Commercial partitions. Refer to the [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/create-regional-api.html) for more information on the difference between edge-optimized and regional APIs.

func (RestApiEndpointConfigurationPtrOutput) VpcEndpointIds

Set of VPC Endpoint identifiers. It is only supported for `PRIVATE` endpoint type. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `vpcEndpointIds` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.

type RestApiInput added in v3.13.0

type RestApiInput interface {
	pulumi.Input

	ToRestApiOutput() RestApiOutput
	ToRestApiOutputWithContext(ctx context.Context) RestApiOutput
}

type RestApiMap added in v3.25.0

type RestApiMap map[string]RestApiInput

func (RestApiMap) ElementType added in v3.25.0

func (RestApiMap) ElementType() reflect.Type

func (RestApiMap) ToRestApiMapOutput added in v3.25.0

func (i RestApiMap) ToRestApiMapOutput() RestApiMapOutput

func (RestApiMap) ToRestApiMapOutputWithContext added in v3.25.0

func (i RestApiMap) ToRestApiMapOutputWithContext(ctx context.Context) RestApiMapOutput

type RestApiMapInput added in v3.25.0

type RestApiMapInput interface {
	pulumi.Input

	ToRestApiMapOutput() RestApiMapOutput
	ToRestApiMapOutputWithContext(context.Context) RestApiMapOutput
}

RestApiMapInput is an input type that accepts RestApiMap and RestApiMapOutput values. You can construct a concrete instance of `RestApiMapInput` via:

RestApiMap{ "key": RestApiArgs{...} }

type RestApiMapOutput added in v3.25.0

type RestApiMapOutput struct{ *pulumi.OutputState }

func (RestApiMapOutput) ElementType added in v3.25.0

func (RestApiMapOutput) ElementType() reflect.Type

func (RestApiMapOutput) MapIndex added in v3.25.0

func (RestApiMapOutput) ToRestApiMapOutput added in v3.25.0

func (o RestApiMapOutput) ToRestApiMapOutput() RestApiMapOutput

func (RestApiMapOutput) ToRestApiMapOutputWithContext added in v3.25.0

func (o RestApiMapOutput) ToRestApiMapOutputWithContext(ctx context.Context) RestApiMapOutput

type RestApiOutput added in v3.13.0

type RestApiOutput struct {
	*pulumi.OutputState
}

func (RestApiOutput) ElementType added in v3.13.0

func (RestApiOutput) ElementType() reflect.Type

func (RestApiOutput) ToRestApiOutput added in v3.13.0

func (o RestApiOutput) ToRestApiOutput() RestApiOutput

func (RestApiOutput) ToRestApiOutputWithContext added in v3.13.0

func (o RestApiOutput) ToRestApiOutputWithContext(ctx context.Context) RestApiOutput

func (RestApiOutput) ToRestApiPtrOutput added in v3.25.0

func (o RestApiOutput) ToRestApiPtrOutput() RestApiPtrOutput

func (RestApiOutput) ToRestApiPtrOutputWithContext added in v3.25.0

func (o RestApiOutput) ToRestApiPtrOutputWithContext(ctx context.Context) RestApiPtrOutput

type RestApiPolicy added in v3.14.0

type RestApiPolicy struct {
	pulumi.CustomResourceState

	// JSON formatted policy document that controls access to the API Gateway.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The ID of the REST API.
	RestApiId pulumi.StringOutput `pulumi:"restApiId"`
}

Provides an API Gateway REST API Policy.

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

## Example Usage ### Basic

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testRestApi, err := apigateway.NewRestApi(ctx, "testRestApi", nil)
		if err != nil {
			return err
		}
		_, err = apigateway.NewRestApiPolicy(ctx, "testRestApiPolicy", &apigateway.RestApiPolicyArgs{
			RestApiId: testRestApi.ID(),
			Policy: testRestApi.ExecutionArn.ApplyT(func(executionArn string) (string, error) {
				return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Effect\": \"Allow\",\n", "      \"Principal\": {\n", "        \"AWS\": \"*\"\n", "      },\n", "      \"Action\": \"execute-api:Invoke\",\n", "      \"Resource\": \"", executionArn, "\",\n", "      \"Condition\": {\n", "        \"IpAddress\": {\n", "          \"aws:SourceIp\": \"123.123.123.123/32\"\n", "        }\n", "      }\n", "    }\n", "  ]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

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

```

func GetRestApiPolicy added in v3.14.0

func GetRestApiPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RestApiPolicyState, opts ...pulumi.ResourceOption) (*RestApiPolicy, error)

GetRestApiPolicy gets an existing RestApiPolicy 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 NewRestApiPolicy added in v3.14.0

func NewRestApiPolicy(ctx *pulumi.Context,
	name string, args *RestApiPolicyArgs, opts ...pulumi.ResourceOption) (*RestApiPolicy, error)

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

func (*RestApiPolicy) ElementType added in v3.14.0

func (*RestApiPolicy) ElementType() reflect.Type

func (*RestApiPolicy) ToRestApiPolicyOutput added in v3.14.0

func (i *RestApiPolicy) ToRestApiPolicyOutput() RestApiPolicyOutput

func (*RestApiPolicy) ToRestApiPolicyOutputWithContext added in v3.14.0

func (i *RestApiPolicy) ToRestApiPolicyOutputWithContext(ctx context.Context) RestApiPolicyOutput

func (*RestApiPolicy) ToRestApiPolicyPtrOutput added in v3.25.0

func (i *RestApiPolicy) ToRestApiPolicyPtrOutput() RestApiPolicyPtrOutput

func (*RestApiPolicy) ToRestApiPolicyPtrOutputWithContext added in v3.25.0

func (i *RestApiPolicy) ToRestApiPolicyPtrOutputWithContext(ctx context.Context) RestApiPolicyPtrOutput

type RestApiPolicyArgs added in v3.14.0

type RestApiPolicyArgs struct {
	// JSON formatted policy document that controls access to the API Gateway.
	Policy pulumi.StringInput
	// The ID of the REST API.
	RestApiId pulumi.StringInput
}

The set of arguments for constructing a RestApiPolicy resource.

func (RestApiPolicyArgs) ElementType added in v3.14.0

func (RestApiPolicyArgs) ElementType() reflect.Type

type RestApiPolicyArray added in v3.25.0

type RestApiPolicyArray []RestApiPolicyInput

func (RestApiPolicyArray) ElementType added in v3.25.0

func (RestApiPolicyArray) ElementType() reflect.Type

func (RestApiPolicyArray) ToRestApiPolicyArrayOutput added in v3.25.0

func (i RestApiPolicyArray) ToRestApiPolicyArrayOutput() RestApiPolicyArrayOutput

func (RestApiPolicyArray) ToRestApiPolicyArrayOutputWithContext added in v3.25.0

func (i RestApiPolicyArray) ToRestApiPolicyArrayOutputWithContext(ctx context.Context) RestApiPolicyArrayOutput

type RestApiPolicyArrayInput added in v3.25.0

type RestApiPolicyArrayInput interface {
	pulumi.Input

	ToRestApiPolicyArrayOutput() RestApiPolicyArrayOutput
	ToRestApiPolicyArrayOutputWithContext(context.Context) RestApiPolicyArrayOutput
}

RestApiPolicyArrayInput is an input type that accepts RestApiPolicyArray and RestApiPolicyArrayOutput values. You can construct a concrete instance of `RestApiPolicyArrayInput` via:

RestApiPolicyArray{ RestApiPolicyArgs{...} }

type RestApiPolicyArrayOutput added in v3.25.0

type RestApiPolicyArrayOutput struct{ *pulumi.OutputState }

func (RestApiPolicyArrayOutput) ElementType added in v3.25.0

func (RestApiPolicyArrayOutput) ElementType() reflect.Type

func (RestApiPolicyArrayOutput) Index added in v3.25.0

func (RestApiPolicyArrayOutput) ToRestApiPolicyArrayOutput added in v3.25.0

func (o RestApiPolicyArrayOutput) ToRestApiPolicyArrayOutput() RestApiPolicyArrayOutput

func (RestApiPolicyArrayOutput) ToRestApiPolicyArrayOutputWithContext added in v3.25.0

func (o RestApiPolicyArrayOutput) ToRestApiPolicyArrayOutputWithContext(ctx context.Context) RestApiPolicyArrayOutput

type RestApiPolicyInput added in v3.14.0

type RestApiPolicyInput interface {
	pulumi.Input

	ToRestApiPolicyOutput() RestApiPolicyOutput
	ToRestApiPolicyOutputWithContext(ctx context.Context) RestApiPolicyOutput
}

type RestApiPolicyMap added in v3.25.0

type RestApiPolicyMap map[string]RestApiPolicyInput

func (RestApiPolicyMap) ElementType added in v3.25.0

func (RestApiPolicyMap) ElementType() reflect.Type

func (RestApiPolicyMap) ToRestApiPolicyMapOutput added in v3.25.0

func (i RestApiPolicyMap) ToRestApiPolicyMapOutput() RestApiPolicyMapOutput

func (RestApiPolicyMap) ToRestApiPolicyMapOutputWithContext added in v3.25.0

func (i RestApiPolicyMap) ToRestApiPolicyMapOutputWithContext(ctx context.Context) RestApiPolicyMapOutput

type RestApiPolicyMapInput added in v3.25.0

type RestApiPolicyMapInput interface {
	pulumi.Input

	ToRestApiPolicyMapOutput() RestApiPolicyMapOutput
	ToRestApiPolicyMapOutputWithContext(context.Context) RestApiPolicyMapOutput
}

RestApiPolicyMapInput is an input type that accepts RestApiPolicyMap and RestApiPolicyMapOutput values. You can construct a concrete instance of `RestApiPolicyMapInput` via:

RestApiPolicyMap{ "key": RestApiPolicyArgs{...} }

type RestApiPolicyMapOutput added in v3.25.0

type RestApiPolicyMapOutput struct{ *pulumi.OutputState }

func (RestApiPolicyMapOutput) ElementType added in v3.25.0

func (RestApiPolicyMapOutput) ElementType() reflect.Type

func (RestApiPolicyMapOutput) MapIndex added in v3.25.0

func (RestApiPolicyMapOutput) ToRestApiPolicyMapOutput added in v3.25.0

func (o RestApiPolicyMapOutput) ToRestApiPolicyMapOutput() RestApiPolicyMapOutput

func (RestApiPolicyMapOutput) ToRestApiPolicyMapOutputWithContext added in v3.25.0

func (o RestApiPolicyMapOutput) ToRestApiPolicyMapOutputWithContext(ctx context.Context) RestApiPolicyMapOutput

type RestApiPolicyOutput added in v3.14.0

type RestApiPolicyOutput struct {
	*pulumi.OutputState
}

func (RestApiPolicyOutput) ElementType added in v3.14.0

func (RestApiPolicyOutput) ElementType() reflect.Type

func (RestApiPolicyOutput) ToRestApiPolicyOutput added in v3.14.0

func (o RestApiPolicyOutput) ToRestApiPolicyOutput() RestApiPolicyOutput

func (RestApiPolicyOutput) ToRestApiPolicyOutputWithContext added in v3.14.0

func (o RestApiPolicyOutput) ToRestApiPolicyOutputWithContext(ctx context.Context) RestApiPolicyOutput

func (RestApiPolicyOutput) ToRestApiPolicyPtrOutput added in v3.25.0

func (o RestApiPolicyOutput) ToRestApiPolicyPtrOutput() RestApiPolicyPtrOutput

func (RestApiPolicyOutput) ToRestApiPolicyPtrOutputWithContext added in v3.25.0

func (o RestApiPolicyOutput) ToRestApiPolicyPtrOutputWithContext(ctx context.Context) RestApiPolicyPtrOutput

type RestApiPolicyPtrInput added in v3.25.0

type RestApiPolicyPtrInput interface {
	pulumi.Input

	ToRestApiPolicyPtrOutput() RestApiPolicyPtrOutput
	ToRestApiPolicyPtrOutputWithContext(ctx context.Context) RestApiPolicyPtrOutput
}

type RestApiPolicyPtrOutput added in v3.25.0

type RestApiPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (RestApiPolicyPtrOutput) ElementType added in v3.25.0

func (RestApiPolicyPtrOutput) ElementType() reflect.Type

func (RestApiPolicyPtrOutput) ToRestApiPolicyPtrOutput added in v3.25.0

func (o RestApiPolicyPtrOutput) ToRestApiPolicyPtrOutput() RestApiPolicyPtrOutput

func (RestApiPolicyPtrOutput) ToRestApiPolicyPtrOutputWithContext added in v3.25.0

func (o RestApiPolicyPtrOutput) ToRestApiPolicyPtrOutputWithContext(ctx context.Context) RestApiPolicyPtrOutput

type RestApiPolicyState added in v3.14.0

type RestApiPolicyState struct {
	// JSON formatted policy document that controls access to the API Gateway.
	Policy pulumi.StringPtrInput
	// The ID of the REST API.
	RestApiId pulumi.StringPtrInput
}

func (RestApiPolicyState) ElementType added in v3.14.0

func (RestApiPolicyState) ElementType() reflect.Type

type RestApiPtrInput added in v3.25.0

type RestApiPtrInput interface {
	pulumi.Input

	ToRestApiPtrOutput() RestApiPtrOutput
	ToRestApiPtrOutputWithContext(ctx context.Context) RestApiPtrOutput
}

type RestApiPtrOutput added in v3.25.0

type RestApiPtrOutput struct {
	*pulumi.OutputState
}

func (RestApiPtrOutput) ElementType added in v3.25.0

func (RestApiPtrOutput) ElementType() reflect.Type

func (RestApiPtrOutput) ToRestApiPtrOutput added in v3.25.0

func (o RestApiPtrOutput) ToRestApiPtrOutput() RestApiPtrOutput

func (RestApiPtrOutput) ToRestApiPtrOutputWithContext added in v3.25.0

func (o RestApiPtrOutput) ToRestApiPtrOutputWithContext(ctx context.Context) RestApiPtrOutput

type RestApiState

type RestApiState struct {
	// Source of the API key for requests. Valid values are `HEADER` (default) and `AUTHORIZER`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-api-key-source` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-api-key-source.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	ApiKeySource pulumi.StringPtrInput
	// Amazon Resource Name (ARN)
	Arn pulumi.StringPtrInput
	// List of binary media types supported by the REST API. By default, the REST API supports only UTF-8-encoded text payloads. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-binary-media-types` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	BinaryMediaTypes pulumi.StringArrayInput
	// OpenAPI specification that defines the set of routes and integrations to create as part of the REST API. This configuration, and any updates to it, will replace all REST API configuration except values overridden in this resource configuration and other resource updates applied after this resource but before any `apigateway.Deployment` creation. More information about REST API OpenAPI support can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
	Body pulumi.StringPtrInput
	// The creation date of the REST API
	CreatedDate pulumi.StringPtrInput
	// Description of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.description` field. If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Description pulumi.StringPtrInput
	// Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. Defaults to `false`. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-endpoint-configuration` extension `disableExecuteApiEndpoint` property](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html). If the argument value is `true` and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	DisableExecuteApiEndpoint pulumi.BoolPtrInput
	// Configuration block defining API endpoint configuration including endpoint type. Defined below.
	EndpointConfiguration RestApiEndpointConfigurationPtrInput
	// The execution ARN part to be used in `lambdaPermission`'s `sourceArn`
	// when allowing API Gateway to invoke a Lambda function,
	// e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j`, which can be concatenated with allowed stage, method and resource path.
	ExecutionArn pulumi.StringPtrInput
	// Minimum response size to compress for the REST API. Integer between `-1` and `10485760` (10MB). Setting a value greater than `-1` will enable compression, `-1` disables compression (default). If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-minimum-compression-size` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-openapi-minimum-compression-size.html). If the argument value (_except_ `-1`) is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	MinimumCompressionSize pulumi.IntPtrInput
	// Name of the REST API. If importing an OpenAPI specification via the `body` argument, this corresponds to the `info.title` field. If the argument value is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Name pulumi.StringPtrInput
	// Map of customizations for importing the specification in the `body` argument. For example, to exclude DocumentationParts from an imported API, set `ignore` equal to `documentation`. Additional documentation, including other parameters such as `basepath`, can be found in the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html).
	Parameters pulumi.StringMapInput
	// JSON formatted policy document that controls access to the API Gateway. This provider will only perform drift detection of its value when present in a configuration. It is recommended to use the `apigateway.RestApiPolicy` resource instead. If importing an OpenAPI specification via the `body` argument, this corresponds to the [`x-amazon-apigateway-policy` extension](https://docs.aws.amazon.com/apigateway/latest/developerguide/openapi-extensions-policy.html). If the argument value is provided and is different than the OpenAPI value, the argument value will override the OpenAPI value.
	Policy pulumi.StringPtrInput
	// The resource ID of the REST API's root
	RootResourceId pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
}

func (RestApiState) ElementType

func (RestApiState) ElementType() reflect.Type

type Stage

type Stage struct {
	pulumi.CustomResourceState

	// Enables access logs for the API stage. Detailed below.
	AccessLogSettings StageAccessLogSettingsPtrOutput `pulumi:"accessLogSettings"`
	// Amazon Resource Name (ARN)
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Specifies whether a cache cluster is enabled for the stage
	CacheClusterEnabled pulumi.BoolPtrOutput `pulumi:"cacheClusterEnabled"`
	// The size of the cache cluster for the stage, if enabled. Allowed values include `0.5`, `1.6`, `6.1`, `13.5`, `28.4`, `58.2`, `118` and `237`.
	CacheClusterSize pulumi.StringPtrOutput `pulumi:"cacheClusterSize"`
	// The identifier of a client certificate for the stage.
	ClientCertificateId pulumi.StringPtrOutput `pulumi:"clientCertificateId"`
	// The ID of the deployment that the stage points to
	Deployment pulumi.StringOutput `pulumi:"deployment"`
	// The description of the stage
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The version of the associated API documentation
	DocumentationVersion pulumi.StringPtrOutput `pulumi:"documentationVersion"`
	// The execution ARN to be used in `lambdaPermission`'s `sourceArn`
	// when allowing API Gateway to invoke a Lambda function,
	// e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod`
	ExecutionArn pulumi.StringOutput `pulumi:"executionArn"`
	// The URL to invoke the API pointing to the stage,
	// e.g. `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod`
	InvokeUrl pulumi.StringOutput `pulumi:"invokeUrl"`
	// The ID of the associated REST API
	RestApi pulumi.StringOutput `pulumi:"restApi"`
	// The name of the stage
	StageName pulumi.StringOutput `pulumi:"stageName"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map that defines the stage variables
	Variables pulumi.StringMapOutput `pulumi:"variables"`
	// Whether active tracing with X-ray is enabled. Defaults to `false`.
	XrayTracingEnabled pulumi.BoolPtrOutput `pulumi:"xrayTracingEnabled"`
}

Manages an API Gateway Stage. A stage is a named reference to a deployment, which can be done via the `apigateway.Deployment` resource. Stages can be optionally managed further with the `apigateway.BasePathMapping` resource, `apigateway.DomainName` resource, and `awsApiMethodSettings` resource. For more information, see the [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-stages.html).

## Example Usage ### Managing the API Logging CloudWatch Log Group

API Gateway provides the ability to [enable CloudWatch API logging](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html). To manage the CloudWatch Log Group when this feature is enabled, the `cloudwatch.LogGroup` resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, the `cloudwatch.LogGroup` resource can be imported as a one time operation and recreation of the environment can occur without import.

> The below configuration uses [`dependsOn`](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson) to prevent ordering issues with API Gateway automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/apigateway"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi/config"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		stageName := "example"
		if param := cfg.Get("stageName"); param != "" {
			stageName = param
		}
		_, err := apigateway.NewRestApi(ctx, "exampleRestApi", nil)
		if err != nil {
			return err
		}
		exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "exampleLogGroup", &cloudwatch.LogGroupArgs{
			RetentionInDays: pulumi.Int(7),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewStage(ctx, "exampleStage", &apigateway.StageArgs{
			StageName: pulumi.String(stageName),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleLogGroup,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

`aws_api_gateway_stage` can be imported using `REST-API-ID/STAGE-NAME`, e.g.

```sh

$ pulumi import aws:apigateway/stage:Stage example 12345abcde/example

```

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 added in v3.13.0

func (*Stage) ElementType() reflect.Type

func (*Stage) ToStageOutput added in v3.13.0

func (i *Stage) ToStageOutput() StageOutput

func (*Stage) ToStageOutputWithContext added in v3.13.0

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

func (*Stage) ToStagePtrOutput added in v3.25.0

func (i *Stage) ToStagePtrOutput() StagePtrOutput

func (*Stage) ToStagePtrOutputWithContext added in v3.25.0

func (i *Stage) ToStagePtrOutputWithContext(ctx context.Context) StagePtrOutput

type StageAccessLogSettings

type StageAccessLogSettings struct {
	// The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-`. Automatically removes trailing `:*` if present.
	DestinationArn string `pulumi:"destinationArn"`
	// The formatting and values recorded in the logs.
	// For more information on configuring the log format rules visit the AWS [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)
	Format string `pulumi:"format"`
}

type StageAccessLogSettingsArgs

type StageAccessLogSettingsArgs struct {
	// The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-`. Automatically removes trailing `:*` if present.
	DestinationArn pulumi.StringInput `pulumi:"destinationArn"`
	// The formatting and values recorded in the logs.
	// For more information on configuring the log format rules visit the AWS [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)
	Format pulumi.StringInput `pulumi:"format"`
}

func (StageAccessLogSettingsArgs) ElementType

func (StageAccessLogSettingsArgs) ElementType() reflect.Type

func (StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutput

func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutput() StageAccessLogSettingsOutput

func (StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutputWithContext

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

func (StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutput

func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput

func (StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutputWithContext

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

type StageAccessLogSettingsInput

type StageAccessLogSettingsInput interface {
	pulumi.Input

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

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

StageAccessLogSettingsArgs{...}

type StageAccessLogSettingsOutput

type StageAccessLogSettingsOutput struct{ *pulumi.OutputState }

func (StageAccessLogSettingsOutput) DestinationArn

The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-`. Automatically removes trailing `:*` if present.

func (StageAccessLogSettingsOutput) ElementType

func (StageAccessLogSettingsOutput) Format

The formatting and values recorded in the logs. For more information on configuring the log format rules visit the AWS [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)

func (StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutput

func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutput() StageAccessLogSettingsOutput

func (StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutputWithContext

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

func (StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutput

func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput

func (StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutputWithContext

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

type StageAccessLogSettingsPtrInput

type StageAccessLogSettingsPtrInput interface {
	pulumi.Input

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

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

        StageAccessLogSettingsArgs{...}

or:

        nil

type StageAccessLogSettingsPtrOutput

type StageAccessLogSettingsPtrOutput struct{ *pulumi.OutputState }

func (StageAccessLogSettingsPtrOutput) DestinationArn

The Amazon Resource Name (ARN) of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with `amazon-apigateway-`. Automatically removes trailing `:*` if present.

func (StageAccessLogSettingsPtrOutput) Elem

func (StageAccessLogSettingsPtrOutput) ElementType

func (StageAccessLogSettingsPtrOutput) Format

The formatting and values recorded in the logs. For more information on configuring the log format rules visit the AWS [documentation](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html)

func (StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutput

func (o StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput

func (StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutputWithContext

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

type StageArgs

type StageArgs struct {
	// Enables access logs for the API stage. Detailed below.
	AccessLogSettings StageAccessLogSettingsPtrInput
	// Specifies whether a cache cluster is enabled for the stage
	CacheClusterEnabled pulumi.BoolPtrInput
	// The size of the cache cluster for the stage, if enabled. Allowed values include `0.5`, `1.6`, `6.1`, `13.5`, `28.4`, `58.2`, `118` and `237`.
	CacheClusterSize pulumi.StringPtrInput
	// The identifier of a client certificate for the stage.
	ClientCertificateId pulumi.StringPtrInput
	// The ID of the deployment that the stage points to
	Deployment pulumi.Input
	// The description of the stage
	Description pulumi.StringPtrInput
	// The version of the associated API documentation
	DocumentationVersion pulumi.StringPtrInput
	// The ID of the associated REST API
	RestApi pulumi.Input
	// The name of the stage
	StageName pulumi.StringInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// A map that defines the stage variables
	Variables pulumi.StringMapInput
	// Whether active tracing with X-ray is enabled. Defaults to `false`.
	XrayTracingEnabled pulumi.BoolPtrInput
}

The set of arguments for constructing a Stage resource.

func (StageArgs) ElementType

func (StageArgs) ElementType() reflect.Type

type StageArray added in v3.25.0

type StageArray []StageInput

func (StageArray) ElementType added in v3.25.0

func (StageArray) ElementType() reflect.Type

func (StageArray) ToStageArrayOutput added in v3.25.0

func (i StageArray) ToStageArrayOutput() StageArrayOutput

func (StageArray) ToStageArrayOutputWithContext added in v3.25.0

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

type StageArrayInput added in v3.25.0

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 added in v3.25.0

type StageArrayOutput struct{ *pulumi.OutputState }

func (StageArrayOutput) ElementType added in v3.25.0

func (StageArrayOutput) ElementType() reflect.Type

func (StageArrayOutput) Index added in v3.25.0

func (StageArrayOutput) ToStageArrayOutput added in v3.25.0

func (o StageArrayOutput) ToStageArrayOutput() StageArrayOutput

func (StageArrayOutput) ToStageArrayOutputWithContext added in v3.25.0

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

type StageInput added in v3.13.0

type StageInput interface {
	pulumi.Input

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

type StageMap added in v3.25.0

type StageMap map[string]StageInput

func (StageMap) ElementType added in v3.25.0

func (StageMap) ElementType() reflect.Type

func (StageMap) ToStageMapOutput added in v3.25.0

func (i StageMap) ToStageMapOutput() StageMapOutput

func (StageMap) ToStageMapOutputWithContext added in v3.25.0

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

type StageMapInput added in v3.25.0

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 added in v3.25.0

type StageMapOutput struct{ *pulumi.OutputState }

func (StageMapOutput) ElementType added in v3.25.0

func (StageMapOutput) ElementType() reflect.Type

func (StageMapOutput) MapIndex added in v3.25.0

func (StageMapOutput) ToStageMapOutput added in v3.25.0

func (o StageMapOutput) ToStageMapOutput() StageMapOutput

func (StageMapOutput) ToStageMapOutputWithContext added in v3.25.0

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

type StageOutput added in v3.13.0

type StageOutput struct {
	*pulumi.OutputState
}

func (StageOutput) ElementType added in v3.13.0

func (StageOutput) ElementType() reflect.Type

func (StageOutput) ToStageOutput added in v3.13.0

func (o StageOutput) ToStageOutput() StageOutput

func (StageOutput) ToStageOutputWithContext added in v3.13.0

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

func (StageOutput) ToStagePtrOutput added in v3.25.0

func (o StageOutput) ToStagePtrOutput() StagePtrOutput

func (StageOutput) ToStagePtrOutputWithContext added in v3.25.0

func (o StageOutput) ToStagePtrOutputWithContext(ctx context.Context) StagePtrOutput

type StagePtrInput added in v3.25.0

type StagePtrInput interface {
	pulumi.Input

	ToStagePtrOutput() StagePtrOutput
	ToStagePtrOutputWithContext(ctx context.Context) StagePtrOutput
}

type StagePtrOutput added in v3.25.0

type StagePtrOutput struct {
	*pulumi.OutputState
}

func (StagePtrOutput) ElementType added in v3.25.0

func (StagePtrOutput) ElementType() reflect.Type

func (StagePtrOutput) ToStagePtrOutput added in v3.25.0

func (o StagePtrOutput) ToStagePtrOutput() StagePtrOutput

func (StagePtrOutput) ToStagePtrOutputWithContext added in v3.25.0

func (o StagePtrOutput) ToStagePtrOutputWithContext(ctx context.Context) StagePtrOutput

type StageState

type StageState struct {
	// Enables access logs for the API stage. Detailed below.
	AccessLogSettings StageAccessLogSettingsPtrInput
	// Amazon Resource Name (ARN)
	Arn pulumi.StringPtrInput
	// Specifies whether a cache cluster is enabled for the stage
	CacheClusterEnabled pulumi.BoolPtrInput
	// The size of the cache cluster for the stage, if enabled. Allowed values include `0.5`, `1.6`, `6.1`, `13.5`, `28.4`, `58.2`, `118` and `237`.
	CacheClusterSize pulumi.StringPtrInput
	// The identifier of a client certificate for the stage.
	ClientCertificateId pulumi.StringPtrInput
	// The ID of the deployment that the stage points to
	Deployment pulumi.StringPtrInput
	// The description of the stage
	Description pulumi.StringPtrInput
	// The version of the associated API documentation
	DocumentationVersion pulumi.StringPtrInput
	// The execution ARN to be used in `lambdaPermission`'s `sourceArn`
	// when allowing API Gateway to invoke a Lambda function,
	// e.g. `arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod`
	ExecutionArn pulumi.StringPtrInput
	// The URL to invoke the API pointing to the stage,
	// e.g. `https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod`
	InvokeUrl pulumi.StringPtrInput
	// The ID of the associated REST API
	RestApi pulumi.StringPtrInput
	// The name of the stage
	StageName pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// A map that defines the stage variables
	Variables pulumi.StringMapInput
	// Whether active tracing with X-ray is enabled. Defaults to `false`.
	XrayTracingEnabled pulumi.BoolPtrInput
}

func (StageState) ElementType

func (StageState) ElementType() reflect.Type

type UsagePlan

type UsagePlan struct {
	pulumi.CustomResourceState

	// The associated API stages of the usage plan.
	ApiStages UsagePlanApiStageArrayOutput `pulumi:"apiStages"`
	// Amazon Resource Name (ARN)
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of a usage plan.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the usage plan.
	Name pulumi.StringOutput `pulumi:"name"`
	// The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.
	ProductCode pulumi.StringPtrOutput `pulumi:"productCode"`
	// The quota settings of the usage plan.
	QuotaSettings UsagePlanQuotaSettingsPtrOutput `pulumi:"quotaSettings"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The throttling limits of the usage plan.
	ThrottleSettings UsagePlanThrottleSettingsPtrOutput `pulumi:"throttleSettings"`
}

Provides an API Gateway Usage Plan.

## Import

AWS API Gateway Usage Plan can be imported using the `id`, e.g.

```sh

$ pulumi import aws:apigateway/usagePlan:UsagePlan myusageplan <usage_plan_id>

```

func GetUsagePlan

func GetUsagePlan(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UsagePlanState, opts ...pulumi.ResourceOption) (*UsagePlan, error)

GetUsagePlan gets an existing UsagePlan 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 NewUsagePlan

func NewUsagePlan(ctx *pulumi.Context,
	name string, args *UsagePlanArgs, opts ...pulumi.ResourceOption) (*UsagePlan, error)

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

func (*UsagePlan) ElementType added in v3.13.0

func (*UsagePlan) ElementType() reflect.Type

func (*UsagePlan) ToUsagePlanOutput added in v3.13.0

func (i *UsagePlan) ToUsagePlanOutput() UsagePlanOutput

func (*UsagePlan) ToUsagePlanOutputWithContext added in v3.13.0

func (i *UsagePlan) ToUsagePlanOutputWithContext(ctx context.Context) UsagePlanOutput

func (*UsagePlan) ToUsagePlanPtrOutput added in v3.25.0

func (i *UsagePlan) ToUsagePlanPtrOutput() UsagePlanPtrOutput

func (*UsagePlan) ToUsagePlanPtrOutputWithContext added in v3.25.0

func (i *UsagePlan) ToUsagePlanPtrOutputWithContext(ctx context.Context) UsagePlanPtrOutput

type UsagePlanApiStage

type UsagePlanApiStage struct {
	// API Id of the associated API stage in a usage plan.
	ApiId string `pulumi:"apiId"`
	// API stage name of the associated API stage in a usage plan.
	Stage string `pulumi:"stage"`
}

type UsagePlanApiStageArgs

type UsagePlanApiStageArgs struct {
	// API Id of the associated API stage in a usage plan.
	ApiId pulumi.StringInput `pulumi:"apiId"`
	// API stage name of the associated API stage in a usage plan.
	Stage pulumi.StringInput `pulumi:"stage"`
}

func (UsagePlanApiStageArgs) ElementType

func (UsagePlanApiStageArgs) ElementType() reflect.Type

func (UsagePlanApiStageArgs) ToUsagePlanApiStageOutput

func (i UsagePlanApiStageArgs) ToUsagePlanApiStageOutput() UsagePlanApiStageOutput

func (UsagePlanApiStageArgs) ToUsagePlanApiStageOutputWithContext

func (i UsagePlanApiStageArgs) ToUsagePlanApiStageOutputWithContext(ctx context.Context) UsagePlanApiStageOutput

type UsagePlanApiStageArray

type UsagePlanApiStageArray []UsagePlanApiStageInput

func (UsagePlanApiStageArray) ElementType

func (UsagePlanApiStageArray) ElementType() reflect.Type

func (UsagePlanApiStageArray) ToUsagePlanApiStageArrayOutput

func (i UsagePlanApiStageArray) ToUsagePlanApiStageArrayOutput() UsagePlanApiStageArrayOutput

func (UsagePlanApiStageArray) ToUsagePlanApiStageArrayOutputWithContext

func (i UsagePlanApiStageArray) ToUsagePlanApiStageArrayOutputWithContext(ctx context.Context) UsagePlanApiStageArrayOutput

type UsagePlanApiStageArrayInput

type UsagePlanApiStageArrayInput interface {
	pulumi.Input

	ToUsagePlanApiStageArrayOutput() UsagePlanApiStageArrayOutput
	ToUsagePlanApiStageArrayOutputWithContext(context.Context) UsagePlanApiStageArrayOutput
}

UsagePlanApiStageArrayInput is an input type that accepts UsagePlanApiStageArray and UsagePlanApiStageArrayOutput values. You can construct a concrete instance of `UsagePlanApiStageArrayInput` via:

UsagePlanApiStageArray{ UsagePlanApiStageArgs{...} }

type UsagePlanApiStageArrayOutput

type UsagePlanApiStageArrayOutput struct{ *pulumi.OutputState }

func (UsagePlanApiStageArrayOutput) ElementType

func (UsagePlanApiStageArrayOutput) Index

func (UsagePlanApiStageArrayOutput) ToUsagePlanApiStageArrayOutput

func (o UsagePlanApiStageArrayOutput) ToUsagePlanApiStageArrayOutput() UsagePlanApiStageArrayOutput

func (UsagePlanApiStageArrayOutput) ToUsagePlanApiStageArrayOutputWithContext

func (o UsagePlanApiStageArrayOutput) ToUsagePlanApiStageArrayOutputWithContext(ctx context.Context) UsagePlanApiStageArrayOutput

type UsagePlanApiStageInput

type UsagePlanApiStageInput interface {
	pulumi.Input

	ToUsagePlanApiStageOutput() UsagePlanApiStageOutput
	ToUsagePlanApiStageOutputWithContext(context.Context) UsagePlanApiStageOutput
}

UsagePlanApiStageInput is an input type that accepts UsagePlanApiStageArgs and UsagePlanApiStageOutput values. You can construct a concrete instance of `UsagePlanApiStageInput` via:

UsagePlanApiStageArgs{...}

type UsagePlanApiStageOutput

type UsagePlanApiStageOutput struct{ *pulumi.OutputState }

func (UsagePlanApiStageOutput) ApiId

API Id of the associated API stage in a usage plan.

func (UsagePlanApiStageOutput) ElementType

func (UsagePlanApiStageOutput) ElementType() reflect.Type

func (UsagePlanApiStageOutput) Stage

API stage name of the associated API stage in a usage plan.

func (UsagePlanApiStageOutput) ToUsagePlanApiStageOutput

func (o UsagePlanApiStageOutput) ToUsagePlanApiStageOutput() UsagePlanApiStageOutput

func (UsagePlanApiStageOutput) ToUsagePlanApiStageOutputWithContext

func (o UsagePlanApiStageOutput) ToUsagePlanApiStageOutputWithContext(ctx context.Context) UsagePlanApiStageOutput

type UsagePlanArgs

type UsagePlanArgs struct {
	// The associated API stages of the usage plan.
	ApiStages UsagePlanApiStageArrayInput
	// The description of a usage plan.
	Description pulumi.StringPtrInput
	// The name of the usage plan.
	Name pulumi.StringPtrInput
	// The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.
	ProductCode pulumi.StringPtrInput
	// The quota settings of the usage plan.
	QuotaSettings UsagePlanQuotaSettingsPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// The throttling limits of the usage plan.
	ThrottleSettings UsagePlanThrottleSettingsPtrInput
}

The set of arguments for constructing a UsagePlan resource.

func (UsagePlanArgs) ElementType

func (UsagePlanArgs) ElementType() reflect.Type

type UsagePlanArray added in v3.25.0

type UsagePlanArray []UsagePlanInput

func (UsagePlanArray) ElementType added in v3.25.0

func (UsagePlanArray) ElementType() reflect.Type

func (UsagePlanArray) ToUsagePlanArrayOutput added in v3.25.0

func (i UsagePlanArray) ToUsagePlanArrayOutput() UsagePlanArrayOutput

func (UsagePlanArray) ToUsagePlanArrayOutputWithContext added in v3.25.0

func (i UsagePlanArray) ToUsagePlanArrayOutputWithContext(ctx context.Context) UsagePlanArrayOutput

type UsagePlanArrayInput added in v3.25.0

type UsagePlanArrayInput interface {
	pulumi.Input

	ToUsagePlanArrayOutput() UsagePlanArrayOutput
	ToUsagePlanArrayOutputWithContext(context.Context) UsagePlanArrayOutput
}

UsagePlanArrayInput is an input type that accepts UsagePlanArray and UsagePlanArrayOutput values. You can construct a concrete instance of `UsagePlanArrayInput` via:

UsagePlanArray{ UsagePlanArgs{...} }

type UsagePlanArrayOutput added in v3.25.0

type UsagePlanArrayOutput struct{ *pulumi.OutputState }

func (UsagePlanArrayOutput) ElementType added in v3.25.0

func (UsagePlanArrayOutput) ElementType() reflect.Type

func (UsagePlanArrayOutput) Index added in v3.25.0

func (UsagePlanArrayOutput) ToUsagePlanArrayOutput added in v3.25.0

func (o UsagePlanArrayOutput) ToUsagePlanArrayOutput() UsagePlanArrayOutput

func (UsagePlanArrayOutput) ToUsagePlanArrayOutputWithContext added in v3.25.0

func (o UsagePlanArrayOutput) ToUsagePlanArrayOutputWithContext(ctx context.Context) UsagePlanArrayOutput

type UsagePlanInput added in v3.13.0

type UsagePlanInput interface {
	pulumi.Input

	ToUsagePlanOutput() UsagePlanOutput
	ToUsagePlanOutputWithContext(ctx context.Context) UsagePlanOutput
}

type UsagePlanKey

type UsagePlanKey struct {
	pulumi.CustomResourceState

	// The identifier of the API key resource.
	KeyId pulumi.StringOutput `pulumi:"keyId"`
	// The type of the API key resource. Currently, the valid key type is API_KEY.
	KeyType pulumi.StringOutput `pulumi:"keyType"`
	// The name of a usage plan key.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Id of the usage plan resource representing to associate the key to.
	UsagePlanId pulumi.StringOutput `pulumi:"usagePlanId"`
	// The value of a usage plan key.
	Value pulumi.StringOutput `pulumi:"value"`
}

Provides an API Gateway Usage Plan Key.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		test, err := apigateway.NewRestApi(ctx, "test", nil)
		if err != nil {
			return err
		}
		myusageplan, err := apigateway.NewUsagePlan(ctx, "myusageplan", &apigateway.UsagePlanArgs{
			ApiStages: apigateway.UsagePlanApiStageArray{
				&apigateway.UsagePlanApiStageArgs{
					ApiId: test.ID(),
					Stage: pulumi.Any(aws_api_gateway_deployment.Foo.Stage_name),
				},
			},
		})
		if err != nil {
			return err
		}
		mykey, err := apigateway.NewApiKey(ctx, "mykey", nil)
		if err != nil {
			return err
		}
		_, err = apigateway.NewUsagePlanKey(ctx, "main", &apigateway.UsagePlanKeyArgs{
			KeyId:       mykey.ID(),
			KeyType:     pulumi.String("API_KEY"),
			UsagePlanId: myusageplan.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AWS API Gateway Usage Plan Key can be imported using the `USAGE-PLAN-ID/USAGE-PLAN-KEY-ID`, e.g.

```sh

$ pulumi import aws:apigateway/usagePlanKey:UsagePlanKey key 12345abcde/zzz

```

func GetUsagePlanKey

func GetUsagePlanKey(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UsagePlanKeyState, opts ...pulumi.ResourceOption) (*UsagePlanKey, error)

GetUsagePlanKey gets an existing UsagePlanKey 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 NewUsagePlanKey

func NewUsagePlanKey(ctx *pulumi.Context,
	name string, args *UsagePlanKeyArgs, opts ...pulumi.ResourceOption) (*UsagePlanKey, error)

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

func (*UsagePlanKey) ElementType added in v3.13.0

func (*UsagePlanKey) ElementType() reflect.Type

func (*UsagePlanKey) ToUsagePlanKeyOutput added in v3.13.0

func (i *UsagePlanKey) ToUsagePlanKeyOutput() UsagePlanKeyOutput

func (*UsagePlanKey) ToUsagePlanKeyOutputWithContext added in v3.13.0

func (i *UsagePlanKey) ToUsagePlanKeyOutputWithContext(ctx context.Context) UsagePlanKeyOutput

func (*UsagePlanKey) ToUsagePlanKeyPtrOutput added in v3.25.0

func (i *UsagePlanKey) ToUsagePlanKeyPtrOutput() UsagePlanKeyPtrOutput

func (*UsagePlanKey) ToUsagePlanKeyPtrOutputWithContext added in v3.25.0

func (i *UsagePlanKey) ToUsagePlanKeyPtrOutputWithContext(ctx context.Context) UsagePlanKeyPtrOutput

type UsagePlanKeyArgs

type UsagePlanKeyArgs struct {
	// The identifier of the API key resource.
	KeyId pulumi.StringInput
	// The type of the API key resource. Currently, the valid key type is API_KEY.
	KeyType pulumi.StringInput
	// The Id of the usage plan resource representing to associate the key to.
	UsagePlanId pulumi.StringInput
}

The set of arguments for constructing a UsagePlanKey resource.

func (UsagePlanKeyArgs) ElementType

func (UsagePlanKeyArgs) ElementType() reflect.Type

type UsagePlanKeyArray added in v3.25.0

type UsagePlanKeyArray []UsagePlanKeyInput

func (UsagePlanKeyArray) ElementType added in v3.25.0

func (UsagePlanKeyArray) ElementType() reflect.Type

func (UsagePlanKeyArray) ToUsagePlanKeyArrayOutput added in v3.25.0

func (i UsagePlanKeyArray) ToUsagePlanKeyArrayOutput() UsagePlanKeyArrayOutput

func (UsagePlanKeyArray) ToUsagePlanKeyArrayOutputWithContext added in v3.25.0

func (i UsagePlanKeyArray) ToUsagePlanKeyArrayOutputWithContext(ctx context.Context) UsagePlanKeyArrayOutput

type UsagePlanKeyArrayInput added in v3.25.0

type UsagePlanKeyArrayInput interface {
	pulumi.Input

	ToUsagePlanKeyArrayOutput() UsagePlanKeyArrayOutput
	ToUsagePlanKeyArrayOutputWithContext(context.Context) UsagePlanKeyArrayOutput
}

UsagePlanKeyArrayInput is an input type that accepts UsagePlanKeyArray and UsagePlanKeyArrayOutput values. You can construct a concrete instance of `UsagePlanKeyArrayInput` via:

UsagePlanKeyArray{ UsagePlanKeyArgs{...} }

type UsagePlanKeyArrayOutput added in v3.25.0

type UsagePlanKeyArrayOutput struct{ *pulumi.OutputState }

func (UsagePlanKeyArrayOutput) ElementType added in v3.25.0

func (UsagePlanKeyArrayOutput) ElementType() reflect.Type

func (UsagePlanKeyArrayOutput) Index added in v3.25.0

func (UsagePlanKeyArrayOutput) ToUsagePlanKeyArrayOutput added in v3.25.0

func (o UsagePlanKeyArrayOutput) ToUsagePlanKeyArrayOutput() UsagePlanKeyArrayOutput

func (UsagePlanKeyArrayOutput) ToUsagePlanKeyArrayOutputWithContext added in v3.25.0

func (o UsagePlanKeyArrayOutput) ToUsagePlanKeyArrayOutputWithContext(ctx context.Context) UsagePlanKeyArrayOutput

type UsagePlanKeyInput added in v3.13.0

type UsagePlanKeyInput interface {
	pulumi.Input

	ToUsagePlanKeyOutput() UsagePlanKeyOutput
	ToUsagePlanKeyOutputWithContext(ctx context.Context) UsagePlanKeyOutput
}

type UsagePlanKeyMap added in v3.25.0

type UsagePlanKeyMap map[string]UsagePlanKeyInput

func (UsagePlanKeyMap) ElementType added in v3.25.0

func (UsagePlanKeyMap) ElementType() reflect.Type

func (UsagePlanKeyMap) ToUsagePlanKeyMapOutput added in v3.25.0

func (i UsagePlanKeyMap) ToUsagePlanKeyMapOutput() UsagePlanKeyMapOutput

func (UsagePlanKeyMap) ToUsagePlanKeyMapOutputWithContext added in v3.25.0

func (i UsagePlanKeyMap) ToUsagePlanKeyMapOutputWithContext(ctx context.Context) UsagePlanKeyMapOutput

type UsagePlanKeyMapInput added in v3.25.0

type UsagePlanKeyMapInput interface {
	pulumi.Input

	ToUsagePlanKeyMapOutput() UsagePlanKeyMapOutput
	ToUsagePlanKeyMapOutputWithContext(context.Context) UsagePlanKeyMapOutput
}

UsagePlanKeyMapInput is an input type that accepts UsagePlanKeyMap and UsagePlanKeyMapOutput values. You can construct a concrete instance of `UsagePlanKeyMapInput` via:

UsagePlanKeyMap{ "key": UsagePlanKeyArgs{...} }

type UsagePlanKeyMapOutput added in v3.25.0

type UsagePlanKeyMapOutput struct{ *pulumi.OutputState }

func (UsagePlanKeyMapOutput) ElementType added in v3.25.0

func (UsagePlanKeyMapOutput) ElementType() reflect.Type

func (UsagePlanKeyMapOutput) MapIndex added in v3.25.0

func (UsagePlanKeyMapOutput) ToUsagePlanKeyMapOutput added in v3.25.0

func (o UsagePlanKeyMapOutput) ToUsagePlanKeyMapOutput() UsagePlanKeyMapOutput

func (UsagePlanKeyMapOutput) ToUsagePlanKeyMapOutputWithContext added in v3.25.0

func (o UsagePlanKeyMapOutput) ToUsagePlanKeyMapOutputWithContext(ctx context.Context) UsagePlanKeyMapOutput

type UsagePlanKeyOutput added in v3.13.0

type UsagePlanKeyOutput struct {
	*pulumi.OutputState
}

func (UsagePlanKeyOutput) ElementType added in v3.13.0

func (UsagePlanKeyOutput) ElementType() reflect.Type

func (UsagePlanKeyOutput) ToUsagePlanKeyOutput added in v3.13.0

func (o UsagePlanKeyOutput) ToUsagePlanKeyOutput() UsagePlanKeyOutput

func (UsagePlanKeyOutput) ToUsagePlanKeyOutputWithContext added in v3.13.0

func (o UsagePlanKeyOutput) ToUsagePlanKeyOutputWithContext(ctx context.Context) UsagePlanKeyOutput

func (UsagePlanKeyOutput) ToUsagePlanKeyPtrOutput added in v3.25.0

func (o UsagePlanKeyOutput) ToUsagePlanKeyPtrOutput() UsagePlanKeyPtrOutput

func (UsagePlanKeyOutput) ToUsagePlanKeyPtrOutputWithContext added in v3.25.0

func (o UsagePlanKeyOutput) ToUsagePlanKeyPtrOutputWithContext(ctx context.Context) UsagePlanKeyPtrOutput

type UsagePlanKeyPtrInput added in v3.25.0

type UsagePlanKeyPtrInput interface {
	pulumi.Input

	ToUsagePlanKeyPtrOutput() UsagePlanKeyPtrOutput
	ToUsagePlanKeyPtrOutputWithContext(ctx context.Context) UsagePlanKeyPtrOutput
}

type UsagePlanKeyPtrOutput added in v3.25.0

type UsagePlanKeyPtrOutput struct {
	*pulumi.OutputState
}

func (UsagePlanKeyPtrOutput) ElementType added in v3.25.0

func (UsagePlanKeyPtrOutput) ElementType() reflect.Type

func (UsagePlanKeyPtrOutput) ToUsagePlanKeyPtrOutput added in v3.25.0

func (o UsagePlanKeyPtrOutput) ToUsagePlanKeyPtrOutput() UsagePlanKeyPtrOutput

func (UsagePlanKeyPtrOutput) ToUsagePlanKeyPtrOutputWithContext added in v3.25.0

func (o UsagePlanKeyPtrOutput) ToUsagePlanKeyPtrOutputWithContext(ctx context.Context) UsagePlanKeyPtrOutput

type UsagePlanKeyState

type UsagePlanKeyState struct {
	// The identifier of the API key resource.
	KeyId pulumi.StringPtrInput
	// The type of the API key resource. Currently, the valid key type is API_KEY.
	KeyType pulumi.StringPtrInput
	// The name of a usage plan key.
	Name pulumi.StringPtrInput
	// The Id of the usage plan resource representing to associate the key to.
	UsagePlanId pulumi.StringPtrInput
	// The value of a usage plan key.
	Value pulumi.StringPtrInput
}

func (UsagePlanKeyState) ElementType

func (UsagePlanKeyState) ElementType() reflect.Type

type UsagePlanMap added in v3.25.0

type UsagePlanMap map[string]UsagePlanInput

func (UsagePlanMap) ElementType added in v3.25.0

func (UsagePlanMap) ElementType() reflect.Type

func (UsagePlanMap) ToUsagePlanMapOutput added in v3.25.0

func (i UsagePlanMap) ToUsagePlanMapOutput() UsagePlanMapOutput

func (UsagePlanMap) ToUsagePlanMapOutputWithContext added in v3.25.0

func (i UsagePlanMap) ToUsagePlanMapOutputWithContext(ctx context.Context) UsagePlanMapOutput

type UsagePlanMapInput added in v3.25.0

type UsagePlanMapInput interface {
	pulumi.Input

	ToUsagePlanMapOutput() UsagePlanMapOutput
	ToUsagePlanMapOutputWithContext(context.Context) UsagePlanMapOutput
}

UsagePlanMapInput is an input type that accepts UsagePlanMap and UsagePlanMapOutput values. You can construct a concrete instance of `UsagePlanMapInput` via:

UsagePlanMap{ "key": UsagePlanArgs{...} }

type UsagePlanMapOutput added in v3.25.0

type UsagePlanMapOutput struct{ *pulumi.OutputState }

func (UsagePlanMapOutput) ElementType added in v3.25.0

func (UsagePlanMapOutput) ElementType() reflect.Type

func (UsagePlanMapOutput) MapIndex added in v3.25.0

func (UsagePlanMapOutput) ToUsagePlanMapOutput added in v3.25.0

func (o UsagePlanMapOutput) ToUsagePlanMapOutput() UsagePlanMapOutput

func (UsagePlanMapOutput) ToUsagePlanMapOutputWithContext added in v3.25.0

func (o UsagePlanMapOutput) ToUsagePlanMapOutputWithContext(ctx context.Context) UsagePlanMapOutput

type UsagePlanOutput added in v3.13.0

type UsagePlanOutput struct {
	*pulumi.OutputState
}

func (UsagePlanOutput) ElementType added in v3.13.0

func (UsagePlanOutput) ElementType() reflect.Type

func (UsagePlanOutput) ToUsagePlanOutput added in v3.13.0

func (o UsagePlanOutput) ToUsagePlanOutput() UsagePlanOutput

func (UsagePlanOutput) ToUsagePlanOutputWithContext added in v3.13.0

func (o UsagePlanOutput) ToUsagePlanOutputWithContext(ctx context.Context) UsagePlanOutput

func (UsagePlanOutput) ToUsagePlanPtrOutput added in v3.25.0

func (o UsagePlanOutput) ToUsagePlanPtrOutput() UsagePlanPtrOutput

func (UsagePlanOutput) ToUsagePlanPtrOutputWithContext added in v3.25.0

func (o UsagePlanOutput) ToUsagePlanPtrOutputWithContext(ctx context.Context) UsagePlanPtrOutput

type UsagePlanPtrInput added in v3.25.0

type UsagePlanPtrInput interface {
	pulumi.Input

	ToUsagePlanPtrOutput() UsagePlanPtrOutput
	ToUsagePlanPtrOutputWithContext(ctx context.Context) UsagePlanPtrOutput
}

type UsagePlanPtrOutput added in v3.25.0

type UsagePlanPtrOutput struct {
	*pulumi.OutputState
}

func (UsagePlanPtrOutput) ElementType added in v3.25.0

func (UsagePlanPtrOutput) ElementType() reflect.Type

func (UsagePlanPtrOutput) ToUsagePlanPtrOutput added in v3.25.0

func (o UsagePlanPtrOutput) ToUsagePlanPtrOutput() UsagePlanPtrOutput

func (UsagePlanPtrOutput) ToUsagePlanPtrOutputWithContext added in v3.25.0

func (o UsagePlanPtrOutput) ToUsagePlanPtrOutputWithContext(ctx context.Context) UsagePlanPtrOutput

type UsagePlanQuotaSettings

type UsagePlanQuotaSettings struct {
	// The maximum number of requests that can be made in a given time period.
	Limit int `pulumi:"limit"`
	// The number of requests subtracted from the given limit in the initial time period.
	Offset *int `pulumi:"offset"`
	// The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".
	Period string `pulumi:"period"`
}

type UsagePlanQuotaSettingsArgs

type UsagePlanQuotaSettingsArgs struct {
	// The maximum number of requests that can be made in a given time period.
	Limit pulumi.IntInput `pulumi:"limit"`
	// The number of requests subtracted from the given limit in the initial time period.
	Offset pulumi.IntPtrInput `pulumi:"offset"`
	// The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".
	Period pulumi.StringInput `pulumi:"period"`
}

func (UsagePlanQuotaSettingsArgs) ElementType

func (UsagePlanQuotaSettingsArgs) ElementType() reflect.Type

func (UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsOutput

func (i UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsOutput() UsagePlanQuotaSettingsOutput

func (UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsOutputWithContext

func (i UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsOutput

func (UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsPtrOutput

func (i UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsPtrOutput() UsagePlanQuotaSettingsPtrOutput

func (UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsPtrOutputWithContext

func (i UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsPtrOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsPtrOutput

type UsagePlanQuotaSettingsInput

type UsagePlanQuotaSettingsInput interface {
	pulumi.Input

	ToUsagePlanQuotaSettingsOutput() UsagePlanQuotaSettingsOutput
	ToUsagePlanQuotaSettingsOutputWithContext(context.Context) UsagePlanQuotaSettingsOutput
}

UsagePlanQuotaSettingsInput is an input type that accepts UsagePlanQuotaSettingsArgs and UsagePlanQuotaSettingsOutput values. You can construct a concrete instance of `UsagePlanQuotaSettingsInput` via:

UsagePlanQuotaSettingsArgs{...}

type UsagePlanQuotaSettingsOutput

type UsagePlanQuotaSettingsOutput struct{ *pulumi.OutputState }

func (UsagePlanQuotaSettingsOutput) ElementType

func (UsagePlanQuotaSettingsOutput) Limit

The maximum number of requests that can be made in a given time period.

func (UsagePlanQuotaSettingsOutput) Offset

The number of requests subtracted from the given limit in the initial time period.

func (UsagePlanQuotaSettingsOutput) Period

The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".

func (UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsOutput

func (o UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsOutput() UsagePlanQuotaSettingsOutput

func (UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsOutputWithContext

func (o UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsOutput

func (UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsPtrOutput

func (o UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsPtrOutput() UsagePlanQuotaSettingsPtrOutput

func (UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsPtrOutputWithContext

func (o UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsPtrOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsPtrOutput

type UsagePlanQuotaSettingsPtrInput

type UsagePlanQuotaSettingsPtrInput interface {
	pulumi.Input

	ToUsagePlanQuotaSettingsPtrOutput() UsagePlanQuotaSettingsPtrOutput
	ToUsagePlanQuotaSettingsPtrOutputWithContext(context.Context) UsagePlanQuotaSettingsPtrOutput
}

UsagePlanQuotaSettingsPtrInput is an input type that accepts UsagePlanQuotaSettingsArgs, UsagePlanQuotaSettingsPtr and UsagePlanQuotaSettingsPtrOutput values. You can construct a concrete instance of `UsagePlanQuotaSettingsPtrInput` via:

        UsagePlanQuotaSettingsArgs{...}

or:

        nil

type UsagePlanQuotaSettingsPtrOutput

type UsagePlanQuotaSettingsPtrOutput struct{ *pulumi.OutputState }

func (UsagePlanQuotaSettingsPtrOutput) Elem

func (UsagePlanQuotaSettingsPtrOutput) ElementType

func (UsagePlanQuotaSettingsPtrOutput) Limit

The maximum number of requests that can be made in a given time period.

func (UsagePlanQuotaSettingsPtrOutput) Offset

The number of requests subtracted from the given limit in the initial time period.

func (UsagePlanQuotaSettingsPtrOutput) Period

The time period in which the limit applies. Valid values are "DAY", "WEEK" or "MONTH".

func (UsagePlanQuotaSettingsPtrOutput) ToUsagePlanQuotaSettingsPtrOutput

func (o UsagePlanQuotaSettingsPtrOutput) ToUsagePlanQuotaSettingsPtrOutput() UsagePlanQuotaSettingsPtrOutput

func (UsagePlanQuotaSettingsPtrOutput) ToUsagePlanQuotaSettingsPtrOutputWithContext

func (o UsagePlanQuotaSettingsPtrOutput) ToUsagePlanQuotaSettingsPtrOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsPtrOutput

type UsagePlanState

type UsagePlanState struct {
	// The associated API stages of the usage plan.
	ApiStages UsagePlanApiStageArrayInput
	// Amazon Resource Name (ARN)
	Arn pulumi.StringPtrInput
	// The description of a usage plan.
	Description pulumi.StringPtrInput
	// The name of the usage plan.
	Name pulumi.StringPtrInput
	// The AWS Marketplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.
	ProductCode pulumi.StringPtrInput
	// The quota settings of the usage plan.
	QuotaSettings UsagePlanQuotaSettingsPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// The throttling limits of the usage plan.
	ThrottleSettings UsagePlanThrottleSettingsPtrInput
}

func (UsagePlanState) ElementType

func (UsagePlanState) ElementType() reflect.Type

type UsagePlanThrottleSettings

type UsagePlanThrottleSettings struct {
	// The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.
	BurstLimit *int `pulumi:"burstLimit"`
	// The API request steady-state rate limit.
	RateLimit *float64 `pulumi:"rateLimit"`
}

type UsagePlanThrottleSettingsArgs

type UsagePlanThrottleSettingsArgs struct {
	// The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.
	BurstLimit pulumi.IntPtrInput `pulumi:"burstLimit"`
	// The API request steady-state rate limit.
	RateLimit pulumi.Float64PtrInput `pulumi:"rateLimit"`
}

func (UsagePlanThrottleSettingsArgs) ElementType

func (UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsOutput

func (i UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsOutput() UsagePlanThrottleSettingsOutput

func (UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsOutputWithContext

func (i UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsOutput

func (UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsPtrOutput

func (i UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsPtrOutput() UsagePlanThrottleSettingsPtrOutput

func (UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsPtrOutputWithContext

func (i UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsPtrOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsPtrOutput

type UsagePlanThrottleSettingsInput

type UsagePlanThrottleSettingsInput interface {
	pulumi.Input

	ToUsagePlanThrottleSettingsOutput() UsagePlanThrottleSettingsOutput
	ToUsagePlanThrottleSettingsOutputWithContext(context.Context) UsagePlanThrottleSettingsOutput
}

UsagePlanThrottleSettingsInput is an input type that accepts UsagePlanThrottleSettingsArgs and UsagePlanThrottleSettingsOutput values. You can construct a concrete instance of `UsagePlanThrottleSettingsInput` via:

UsagePlanThrottleSettingsArgs{...}

type UsagePlanThrottleSettingsOutput

type UsagePlanThrottleSettingsOutput struct{ *pulumi.OutputState }

func (UsagePlanThrottleSettingsOutput) BurstLimit

The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.

func (UsagePlanThrottleSettingsOutput) ElementType

func (UsagePlanThrottleSettingsOutput) RateLimit

The API request steady-state rate limit.

func (UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsOutput

func (o UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsOutput() UsagePlanThrottleSettingsOutput

func (UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsOutputWithContext

func (o UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsOutput

func (UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsPtrOutput

func (o UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsPtrOutput() UsagePlanThrottleSettingsPtrOutput

func (UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsPtrOutputWithContext

func (o UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsPtrOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsPtrOutput

type UsagePlanThrottleSettingsPtrInput

type UsagePlanThrottleSettingsPtrInput interface {
	pulumi.Input

	ToUsagePlanThrottleSettingsPtrOutput() UsagePlanThrottleSettingsPtrOutput
	ToUsagePlanThrottleSettingsPtrOutputWithContext(context.Context) UsagePlanThrottleSettingsPtrOutput
}

UsagePlanThrottleSettingsPtrInput is an input type that accepts UsagePlanThrottleSettingsArgs, UsagePlanThrottleSettingsPtr and UsagePlanThrottleSettingsPtrOutput values. You can construct a concrete instance of `UsagePlanThrottleSettingsPtrInput` via:

        UsagePlanThrottleSettingsArgs{...}

or:

        nil

type UsagePlanThrottleSettingsPtrOutput

type UsagePlanThrottleSettingsPtrOutput struct{ *pulumi.OutputState }

func (UsagePlanThrottleSettingsPtrOutput) BurstLimit

The API request burst limit, the maximum rate limit over a time ranging from one to a few seconds, depending upon whether the underlying token bucket is at its full capacity.

func (UsagePlanThrottleSettingsPtrOutput) Elem

func (UsagePlanThrottleSettingsPtrOutput) ElementType

func (UsagePlanThrottleSettingsPtrOutput) RateLimit

The API request steady-state rate limit.

func (UsagePlanThrottleSettingsPtrOutput) ToUsagePlanThrottleSettingsPtrOutput

func (o UsagePlanThrottleSettingsPtrOutput) ToUsagePlanThrottleSettingsPtrOutput() UsagePlanThrottleSettingsPtrOutput

func (UsagePlanThrottleSettingsPtrOutput) ToUsagePlanThrottleSettingsPtrOutputWithContext

func (o UsagePlanThrottleSettingsPtrOutput) ToUsagePlanThrottleSettingsPtrOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsPtrOutput
type VpcLink struct {
	pulumi.CustomResourceState

	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the VPC link.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name used to label and identify the VPC link.
	Name pulumi.StringOutput `pulumi:"name"`
	// Key-value map of resource tags
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The list of network load balancer arns in the VPC targeted by the VPC link. Currently AWS only supports 1 target.
	TargetArn pulumi.StringOutput `pulumi:"targetArn"`
}

Provides an API Gateway VPC Link.

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

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleLoadBalancer, err := lb.NewLoadBalancer(ctx, "exampleLoadBalancer", &lb.LoadBalancerArgs{
			Internal:         pulumi.Bool(true),
			LoadBalancerType: pulumi.String("network"),
			SubnetMappings: lb.LoadBalancerSubnetMappingArray{
				&lb.LoadBalancerSubnetMappingArgs{
					SubnetId: pulumi.String("12345"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewVpcLink(ctx, "exampleVpcLink", &apigateway.VpcLinkArgs{
			Description: pulumi.String("example description"),
			TargetArn: pulumi.String(pulumi.String{
				exampleLoadBalancer.Arn,
			}),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

API Gateway VPC Link can be imported using the `id`, e.g.

```sh

$ pulumi import aws:apigateway/vpcLink:VpcLink example <vpc_link_id>

```

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 added in v3.13.0

func (*VpcLink) ElementType() reflect.Type

func (*VpcLink) ToVpcLinkOutput added in v3.13.0

func (i *VpcLink) ToVpcLinkOutput() VpcLinkOutput

func (*VpcLink) ToVpcLinkOutputWithContext added in v3.13.0

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

func (*VpcLink) ToVpcLinkPtrOutput added in v3.25.0

func (i *VpcLink) ToVpcLinkPtrOutput() VpcLinkPtrOutput

func (*VpcLink) ToVpcLinkPtrOutputWithContext added in v3.25.0

func (i *VpcLink) ToVpcLinkPtrOutputWithContext(ctx context.Context) VpcLinkPtrOutput

type VpcLinkArgs

type VpcLinkArgs struct {
	// The description of the VPC link.
	Description pulumi.StringPtrInput
	// The name used to label and identify the VPC link.
	Name pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// The list of network load balancer arns in the VPC targeted by the VPC link. Currently AWS only supports 1 target.
	TargetArn pulumi.StringInput
}

The set of arguments for constructing a VpcLink resource.

func (VpcLinkArgs) ElementType

func (VpcLinkArgs) ElementType() reflect.Type

type VpcLinkArray added in v3.25.0

type VpcLinkArray []VpcLinkInput

func (VpcLinkArray) ElementType added in v3.25.0

func (VpcLinkArray) ElementType() reflect.Type

func (VpcLinkArray) ToVpcLinkArrayOutput added in v3.25.0

func (i VpcLinkArray) ToVpcLinkArrayOutput() VpcLinkArrayOutput

func (VpcLinkArray) ToVpcLinkArrayOutputWithContext added in v3.25.0

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

type VpcLinkArrayInput added in v3.25.0

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 added in v3.25.0

type VpcLinkArrayOutput struct{ *pulumi.OutputState }

func (VpcLinkArrayOutput) ElementType added in v3.25.0

func (VpcLinkArrayOutput) ElementType() reflect.Type

func (VpcLinkArrayOutput) Index added in v3.25.0

func (VpcLinkArrayOutput) ToVpcLinkArrayOutput added in v3.25.0

func (o VpcLinkArrayOutput) ToVpcLinkArrayOutput() VpcLinkArrayOutput

func (VpcLinkArrayOutput) ToVpcLinkArrayOutputWithContext added in v3.25.0

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

type VpcLinkInput added in v3.13.0

type VpcLinkInput interface {
	pulumi.Input

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

type VpcLinkMap added in v3.25.0

type VpcLinkMap map[string]VpcLinkInput

func (VpcLinkMap) ElementType added in v3.25.0

func (VpcLinkMap) ElementType() reflect.Type

func (VpcLinkMap) ToVpcLinkMapOutput added in v3.25.0

func (i VpcLinkMap) ToVpcLinkMapOutput() VpcLinkMapOutput

func (VpcLinkMap) ToVpcLinkMapOutputWithContext added in v3.25.0

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

type VpcLinkMapInput added in v3.25.0

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 added in v3.25.0

type VpcLinkMapOutput struct{ *pulumi.OutputState }

func (VpcLinkMapOutput) ElementType added in v3.25.0

func (VpcLinkMapOutput) ElementType() reflect.Type

func (VpcLinkMapOutput) MapIndex added in v3.25.0

func (VpcLinkMapOutput) ToVpcLinkMapOutput added in v3.25.0

func (o VpcLinkMapOutput) ToVpcLinkMapOutput() VpcLinkMapOutput

func (VpcLinkMapOutput) ToVpcLinkMapOutputWithContext added in v3.25.0

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

type VpcLinkOutput added in v3.13.0

type VpcLinkOutput struct {
	*pulumi.OutputState
}

func (VpcLinkOutput) ElementType added in v3.13.0

func (VpcLinkOutput) ElementType() reflect.Type

func (VpcLinkOutput) ToVpcLinkOutput added in v3.13.0

func (o VpcLinkOutput) ToVpcLinkOutput() VpcLinkOutput

func (VpcLinkOutput) ToVpcLinkOutputWithContext added in v3.13.0

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

func (VpcLinkOutput) ToVpcLinkPtrOutput added in v3.25.0

func (o VpcLinkOutput) ToVpcLinkPtrOutput() VpcLinkPtrOutput

func (VpcLinkOutput) ToVpcLinkPtrOutputWithContext added in v3.25.0

func (o VpcLinkOutput) ToVpcLinkPtrOutputWithContext(ctx context.Context) VpcLinkPtrOutput

type VpcLinkPtrInput added in v3.25.0

type VpcLinkPtrInput interface {
	pulumi.Input

	ToVpcLinkPtrOutput() VpcLinkPtrOutput
	ToVpcLinkPtrOutputWithContext(ctx context.Context) VpcLinkPtrOutput
}

type VpcLinkPtrOutput added in v3.25.0

type VpcLinkPtrOutput struct {
	*pulumi.OutputState
}

func (VpcLinkPtrOutput) ElementType added in v3.25.0

func (VpcLinkPtrOutput) ElementType() reflect.Type

func (VpcLinkPtrOutput) ToVpcLinkPtrOutput added in v3.25.0

func (o VpcLinkPtrOutput) ToVpcLinkPtrOutput() VpcLinkPtrOutput

func (VpcLinkPtrOutput) ToVpcLinkPtrOutputWithContext added in v3.25.0

func (o VpcLinkPtrOutput) ToVpcLinkPtrOutputWithContext(ctx context.Context) VpcLinkPtrOutput

type VpcLinkState

type VpcLinkState struct {
	Arn pulumi.StringPtrInput
	// The description of the VPC link.
	Description pulumi.StringPtrInput
	// The name used to label and identify the VPC link.
	Name pulumi.StringPtrInput
	// Key-value map of resource tags
	Tags pulumi.StringMapInput
	// The list of network load balancer arns in the VPC targeted by the VPC link. Currently AWS only supports 1 target.
	TargetArn pulumi.StringPtrInput
}

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