Documentation ¶
Index ¶
- type Account
- type AccountArgs
- type AccountState
- type AccountThrottleSettings
- type AccountThrottleSettingsArgs
- func (AccountThrottleSettingsArgs) ElementType() reflect.Type
- func (i AccountThrottleSettingsArgs) ToAccountThrottleSettingsOutput() AccountThrottleSettingsOutput
- func (i AccountThrottleSettingsArgs) ToAccountThrottleSettingsOutputWithContext(ctx context.Context) AccountThrottleSettingsOutput
- func (i AccountThrottleSettingsArgs) ToAccountThrottleSettingsPtrOutput() AccountThrottleSettingsPtrOutput
- func (i AccountThrottleSettingsArgs) ToAccountThrottleSettingsPtrOutputWithContext(ctx context.Context) AccountThrottleSettingsPtrOutput
- type AccountThrottleSettingsInput
- type AccountThrottleSettingsOutput
- func (o AccountThrottleSettingsOutput) BurstLimit() pulumi.IntPtrOutput
- func (AccountThrottleSettingsOutput) ElementType() reflect.Type
- func (o AccountThrottleSettingsOutput) RateLimit() pulumi.Float64PtrOutput
- func (o AccountThrottleSettingsOutput) ToAccountThrottleSettingsOutput() AccountThrottleSettingsOutput
- func (o AccountThrottleSettingsOutput) ToAccountThrottleSettingsOutputWithContext(ctx context.Context) AccountThrottleSettingsOutput
- func (o AccountThrottleSettingsOutput) ToAccountThrottleSettingsPtrOutput() AccountThrottleSettingsPtrOutput
- func (o AccountThrottleSettingsOutput) ToAccountThrottleSettingsPtrOutputWithContext(ctx context.Context) AccountThrottleSettingsPtrOutput
- type AccountThrottleSettingsPtrInput
- type AccountThrottleSettingsPtrOutput
- func (o AccountThrottleSettingsPtrOutput) BurstLimit() pulumi.IntPtrOutput
- func (o AccountThrottleSettingsPtrOutput) Elem() AccountThrottleSettingsOutput
- func (AccountThrottleSettingsPtrOutput) ElementType() reflect.Type
- func (o AccountThrottleSettingsPtrOutput) RateLimit() pulumi.Float64PtrOutput
- func (o AccountThrottleSettingsPtrOutput) ToAccountThrottleSettingsPtrOutput() AccountThrottleSettingsPtrOutput
- func (o AccountThrottleSettingsPtrOutput) ToAccountThrottleSettingsPtrOutputWithContext(ctx context.Context) AccountThrottleSettingsPtrOutput
- type ApiKey
- type ApiKeyArgs
- type ApiKeyState
- type Authorizer
- type AuthorizerArgs
- type AuthorizerState
- type BasePathMapping
- type BasePathMappingArgs
- type BasePathMappingState
- type ClientCertificate
- type ClientCertificateArgs
- type ClientCertificateState
- type Deployment
- type DeploymentArgs
- type DeploymentState
- type DocumentationPart
- type DocumentationPartArgs
- type DocumentationPartLocation
- type DocumentationPartLocationArgs
- func (DocumentationPartLocationArgs) ElementType() reflect.Type
- func (i DocumentationPartLocationArgs) ToDocumentationPartLocationOutput() DocumentationPartLocationOutput
- func (i DocumentationPartLocationArgs) ToDocumentationPartLocationOutputWithContext(ctx context.Context) DocumentationPartLocationOutput
- func (i DocumentationPartLocationArgs) ToDocumentationPartLocationPtrOutput() DocumentationPartLocationPtrOutput
- func (i DocumentationPartLocationArgs) ToDocumentationPartLocationPtrOutputWithContext(ctx context.Context) DocumentationPartLocationPtrOutput
- type DocumentationPartLocationInput
- type DocumentationPartLocationOutput
- func (DocumentationPartLocationOutput) ElementType() reflect.Type
- func (o DocumentationPartLocationOutput) Method() pulumi.StringPtrOutput
- func (o DocumentationPartLocationOutput) Name() pulumi.StringPtrOutput
- func (o DocumentationPartLocationOutput) Path() pulumi.StringPtrOutput
- func (o DocumentationPartLocationOutput) StatusCode() pulumi.StringPtrOutput
- func (o DocumentationPartLocationOutput) ToDocumentationPartLocationOutput() DocumentationPartLocationOutput
- func (o DocumentationPartLocationOutput) ToDocumentationPartLocationOutputWithContext(ctx context.Context) DocumentationPartLocationOutput
- func (o DocumentationPartLocationOutput) ToDocumentationPartLocationPtrOutput() DocumentationPartLocationPtrOutput
- func (o DocumentationPartLocationOutput) ToDocumentationPartLocationPtrOutputWithContext(ctx context.Context) DocumentationPartLocationPtrOutput
- func (o DocumentationPartLocationOutput) Type() pulumi.StringOutput
- type DocumentationPartLocationPtrInput
- type DocumentationPartLocationPtrOutput
- func (o DocumentationPartLocationPtrOutput) Elem() DocumentationPartLocationOutput
- func (DocumentationPartLocationPtrOutput) ElementType() reflect.Type
- func (o DocumentationPartLocationPtrOutput) Method() pulumi.StringPtrOutput
- func (o DocumentationPartLocationPtrOutput) Name() pulumi.StringPtrOutput
- func (o DocumentationPartLocationPtrOutput) Path() pulumi.StringPtrOutput
- func (o DocumentationPartLocationPtrOutput) StatusCode() pulumi.StringPtrOutput
- func (o DocumentationPartLocationPtrOutput) ToDocumentationPartLocationPtrOutput() DocumentationPartLocationPtrOutput
- func (o DocumentationPartLocationPtrOutput) ToDocumentationPartLocationPtrOutputWithContext(ctx context.Context) DocumentationPartLocationPtrOutput
- func (o DocumentationPartLocationPtrOutput) Type() pulumi.StringPtrOutput
- type DocumentationPartState
- type DocumentationVersion
- type DocumentationVersionArgs
- type DocumentationVersionState
- type DomainName
- type DomainNameArgs
- type DomainNameEndpointConfiguration
- type DomainNameEndpointConfigurationArgs
- func (DomainNameEndpointConfigurationArgs) ElementType() reflect.Type
- func (i DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationOutput() DomainNameEndpointConfigurationOutput
- func (i DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationOutput
- func (i DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationPtrOutput() DomainNameEndpointConfigurationPtrOutput
- func (i DomainNameEndpointConfigurationArgs) ToDomainNameEndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationPtrOutput
- type DomainNameEndpointConfigurationInput
- type DomainNameEndpointConfigurationOutput
- func (DomainNameEndpointConfigurationOutput) ElementType() reflect.Type
- func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationOutput() DomainNameEndpointConfigurationOutput
- func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationOutput
- func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationPtrOutput() DomainNameEndpointConfigurationPtrOutput
- func (o DomainNameEndpointConfigurationOutput) ToDomainNameEndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationPtrOutput
- func (o DomainNameEndpointConfigurationOutput) Types() pulumi.StringOutput
- type DomainNameEndpointConfigurationPtrInput
- type DomainNameEndpointConfigurationPtrOutput
- func (o DomainNameEndpointConfigurationPtrOutput) Elem() DomainNameEndpointConfigurationOutput
- func (DomainNameEndpointConfigurationPtrOutput) ElementType() reflect.Type
- func (o DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutput() DomainNameEndpointConfigurationPtrOutput
- func (o DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationPtrOutput
- func (o DomainNameEndpointConfigurationPtrOutput) Types() pulumi.StringPtrOutput
- type DomainNameState
- type GetKeyArgs
- type GetKeyResult
- type GetRestApiEndpointConfiguration
- type GetRestApiEndpointConfigurationArgs
- func (GetRestApiEndpointConfigurationArgs) ElementType() reflect.Type
- func (i GetRestApiEndpointConfigurationArgs) ToGetRestApiEndpointConfigurationOutput() GetRestApiEndpointConfigurationOutput
- func (i GetRestApiEndpointConfigurationArgs) ToGetRestApiEndpointConfigurationOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationOutput
- type GetRestApiEndpointConfigurationArray
- func (GetRestApiEndpointConfigurationArray) ElementType() reflect.Type
- func (i GetRestApiEndpointConfigurationArray) ToGetRestApiEndpointConfigurationArrayOutput() GetRestApiEndpointConfigurationArrayOutput
- func (i GetRestApiEndpointConfigurationArray) ToGetRestApiEndpointConfigurationArrayOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationArrayOutput
- type GetRestApiEndpointConfigurationArrayInput
- type GetRestApiEndpointConfigurationArrayOutput
- func (GetRestApiEndpointConfigurationArrayOutput) ElementType() reflect.Type
- func (o GetRestApiEndpointConfigurationArrayOutput) Index(i pulumi.IntInput) GetRestApiEndpointConfigurationOutput
- func (o GetRestApiEndpointConfigurationArrayOutput) ToGetRestApiEndpointConfigurationArrayOutput() GetRestApiEndpointConfigurationArrayOutput
- func (o GetRestApiEndpointConfigurationArrayOutput) ToGetRestApiEndpointConfigurationArrayOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationArrayOutput
- type GetRestApiEndpointConfigurationInput
- type GetRestApiEndpointConfigurationOutput
- func (GetRestApiEndpointConfigurationOutput) ElementType() reflect.Type
- func (o GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutput() GetRestApiEndpointConfigurationOutput
- func (o GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationOutput
- func (o GetRestApiEndpointConfigurationOutput) Types() pulumi.StringArrayOutput
- func (o GetRestApiEndpointConfigurationOutput) VpcEndpointIds() pulumi.StringArrayOutput
- type Integration
- type IntegrationArgs
- type IntegrationResponse
- type IntegrationResponseArgs
- type IntegrationResponseState
- type IntegrationState
- type LookupResourceArgs
- type LookupResourceResult
- type LookupRestApiArgs
- type LookupRestApiResult
- type LookupVpcLinkArgs
- type LookupVpcLinkResult
- type Method
- type MethodArgs
- type MethodResponse
- type MethodResponseArgs
- type MethodResponseState
- type MethodSettings
- type MethodSettingsArgs
- type MethodSettingsSettings
- type MethodSettingsSettingsArgs
- func (MethodSettingsSettingsArgs) ElementType() reflect.Type
- func (i MethodSettingsSettingsArgs) ToMethodSettingsSettingsOutput() MethodSettingsSettingsOutput
- func (i MethodSettingsSettingsArgs) ToMethodSettingsSettingsOutputWithContext(ctx context.Context) MethodSettingsSettingsOutput
- func (i MethodSettingsSettingsArgs) ToMethodSettingsSettingsPtrOutput() MethodSettingsSettingsPtrOutput
- func (i MethodSettingsSettingsArgs) ToMethodSettingsSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsSettingsPtrOutput
- type MethodSettingsSettingsInput
- type MethodSettingsSettingsOutput
- func (o MethodSettingsSettingsOutput) CacheDataEncrypted() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsOutput) CacheTtlInSeconds() pulumi.IntPtrOutput
- func (o MethodSettingsSettingsOutput) CachingEnabled() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsOutput) DataTraceEnabled() pulumi.BoolPtrOutput
- func (MethodSettingsSettingsOutput) ElementType() reflect.Type
- func (o MethodSettingsSettingsOutput) LoggingLevel() pulumi.StringPtrOutput
- func (o MethodSettingsSettingsOutput) MetricsEnabled() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsOutput) RequireAuthorizationForCacheControl() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsOutput) ThrottlingBurstLimit() pulumi.IntPtrOutput
- func (o MethodSettingsSettingsOutput) ThrottlingRateLimit() pulumi.Float64PtrOutput
- func (o MethodSettingsSettingsOutput) ToMethodSettingsSettingsOutput() MethodSettingsSettingsOutput
- func (o MethodSettingsSettingsOutput) ToMethodSettingsSettingsOutputWithContext(ctx context.Context) MethodSettingsSettingsOutput
- func (o MethodSettingsSettingsOutput) ToMethodSettingsSettingsPtrOutput() MethodSettingsSettingsPtrOutput
- func (o MethodSettingsSettingsOutput) ToMethodSettingsSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsSettingsPtrOutput
- func (o MethodSettingsSettingsOutput) UnauthorizedCacheControlHeaderStrategy() pulumi.StringPtrOutput
- type MethodSettingsSettingsPtrInput
- type MethodSettingsSettingsPtrOutput
- func (o MethodSettingsSettingsPtrOutput) CacheDataEncrypted() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsPtrOutput) CacheTtlInSeconds() pulumi.IntPtrOutput
- func (o MethodSettingsSettingsPtrOutput) CachingEnabled() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsPtrOutput) DataTraceEnabled() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsPtrOutput) Elem() MethodSettingsSettingsOutput
- func (MethodSettingsSettingsPtrOutput) ElementType() reflect.Type
- func (o MethodSettingsSettingsPtrOutput) LoggingLevel() pulumi.StringPtrOutput
- func (o MethodSettingsSettingsPtrOutput) MetricsEnabled() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsPtrOutput) RequireAuthorizationForCacheControl() pulumi.BoolPtrOutput
- func (o MethodSettingsSettingsPtrOutput) ThrottlingBurstLimit() pulumi.IntPtrOutput
- func (o MethodSettingsSettingsPtrOutput) ThrottlingRateLimit() pulumi.Float64PtrOutput
- func (o MethodSettingsSettingsPtrOutput) ToMethodSettingsSettingsPtrOutput() MethodSettingsSettingsPtrOutput
- func (o MethodSettingsSettingsPtrOutput) ToMethodSettingsSettingsPtrOutputWithContext(ctx context.Context) MethodSettingsSettingsPtrOutput
- func (o MethodSettingsSettingsPtrOutput) UnauthorizedCacheControlHeaderStrategy() pulumi.StringPtrOutput
- type MethodSettingsState
- type MethodState
- type Model
- type ModelArgs
- type ModelState
- type RequestValidator
- type RequestValidatorArgs
- type RequestValidatorState
- type Resource
- type ResourceArgs
- type ResourceState
- type Response
- type ResponseArgs
- type ResponseState
- type RestApi
- type RestApiArgs
- type RestApiEndpointConfiguration
- type RestApiEndpointConfigurationArgs
- func (RestApiEndpointConfigurationArgs) ElementType() reflect.Type
- func (i RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationOutput() RestApiEndpointConfigurationOutput
- func (i RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationOutputWithContext(ctx context.Context) RestApiEndpointConfigurationOutput
- func (i RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationPtrOutput() RestApiEndpointConfigurationPtrOutput
- func (i RestApiEndpointConfigurationArgs) ToRestApiEndpointConfigurationPtrOutputWithContext(ctx context.Context) RestApiEndpointConfigurationPtrOutput
- type RestApiEndpointConfigurationInput
- type RestApiEndpointConfigurationOutput
- func (RestApiEndpointConfigurationOutput) ElementType() reflect.Type
- func (o RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationOutput() RestApiEndpointConfigurationOutput
- func (o RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationOutputWithContext(ctx context.Context) RestApiEndpointConfigurationOutput
- func (o RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationPtrOutput() RestApiEndpointConfigurationPtrOutput
- func (o RestApiEndpointConfigurationOutput) ToRestApiEndpointConfigurationPtrOutputWithContext(ctx context.Context) RestApiEndpointConfigurationPtrOutput
- func (o RestApiEndpointConfigurationOutput) Types() pulumi.StringOutput
- func (o RestApiEndpointConfigurationOutput) VpcEndpointIds() pulumi.StringArrayOutput
- type RestApiEndpointConfigurationPtrInput
- type RestApiEndpointConfigurationPtrOutput
- func (o RestApiEndpointConfigurationPtrOutput) Elem() RestApiEndpointConfigurationOutput
- func (RestApiEndpointConfigurationPtrOutput) ElementType() reflect.Type
- func (o RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutput() RestApiEndpointConfigurationPtrOutput
- func (o RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutputWithContext(ctx context.Context) RestApiEndpointConfigurationPtrOutput
- func (o RestApiEndpointConfigurationPtrOutput) Types() pulumi.StringPtrOutput
- func (o RestApiEndpointConfigurationPtrOutput) VpcEndpointIds() pulumi.StringArrayOutput
- type RestApiState
- type Stage
- type StageAccessLogSettings
- type StageAccessLogSettingsArgs
- func (StageAccessLogSettingsArgs) ElementType() reflect.Type
- func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutput() StageAccessLogSettingsOutput
- func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsOutputWithContext(ctx context.Context) StageAccessLogSettingsOutput
- func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput
- func (i StageAccessLogSettingsArgs) ToStageAccessLogSettingsPtrOutputWithContext(ctx context.Context) StageAccessLogSettingsPtrOutput
- type StageAccessLogSettingsInput
- type StageAccessLogSettingsOutput
- func (o StageAccessLogSettingsOutput) DestinationArn() pulumi.StringOutput
- func (StageAccessLogSettingsOutput) ElementType() reflect.Type
- func (o StageAccessLogSettingsOutput) Format() pulumi.StringOutput
- func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutput() StageAccessLogSettingsOutput
- func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsOutputWithContext(ctx context.Context) StageAccessLogSettingsOutput
- func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput
- func (o StageAccessLogSettingsOutput) ToStageAccessLogSettingsPtrOutputWithContext(ctx context.Context) StageAccessLogSettingsPtrOutput
- type StageAccessLogSettingsPtrInput
- type StageAccessLogSettingsPtrOutput
- func (o StageAccessLogSettingsPtrOutput) DestinationArn() pulumi.StringPtrOutput
- func (o StageAccessLogSettingsPtrOutput) Elem() StageAccessLogSettingsOutput
- func (StageAccessLogSettingsPtrOutput) ElementType() reflect.Type
- func (o StageAccessLogSettingsPtrOutput) Format() pulumi.StringPtrOutput
- func (o StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutput() StageAccessLogSettingsPtrOutput
- func (o StageAccessLogSettingsPtrOutput) ToStageAccessLogSettingsPtrOutputWithContext(ctx context.Context) StageAccessLogSettingsPtrOutput
- type StageArgs
- type StageState
- type UsagePlan
- type UsagePlanApiStage
- type UsagePlanApiStageArgs
- type UsagePlanApiStageArray
- type UsagePlanApiStageArrayInput
- type UsagePlanApiStageArrayOutput
- func (UsagePlanApiStageArrayOutput) ElementType() reflect.Type
- func (o UsagePlanApiStageArrayOutput) Index(i pulumi.IntInput) UsagePlanApiStageOutput
- func (o UsagePlanApiStageArrayOutput) ToUsagePlanApiStageArrayOutput() UsagePlanApiStageArrayOutput
- func (o UsagePlanApiStageArrayOutput) ToUsagePlanApiStageArrayOutputWithContext(ctx context.Context) UsagePlanApiStageArrayOutput
- type UsagePlanApiStageInput
- type UsagePlanApiStageOutput
- func (o UsagePlanApiStageOutput) ApiId() pulumi.StringOutput
- func (UsagePlanApiStageOutput) ElementType() reflect.Type
- func (o UsagePlanApiStageOutput) Stage() pulumi.StringOutput
- func (o UsagePlanApiStageOutput) ToUsagePlanApiStageOutput() UsagePlanApiStageOutput
- func (o UsagePlanApiStageOutput) ToUsagePlanApiStageOutputWithContext(ctx context.Context) UsagePlanApiStageOutput
- type UsagePlanArgs
- type UsagePlanKey
- type UsagePlanKeyArgs
- type UsagePlanKeyState
- type UsagePlanQuotaSettings
- type UsagePlanQuotaSettingsArgs
- func (UsagePlanQuotaSettingsArgs) ElementType() reflect.Type
- func (i UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsOutput() UsagePlanQuotaSettingsOutput
- func (i UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsOutput
- func (i UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsPtrOutput() UsagePlanQuotaSettingsPtrOutput
- func (i UsagePlanQuotaSettingsArgs) ToUsagePlanQuotaSettingsPtrOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsPtrOutput
- type UsagePlanQuotaSettingsInput
- type UsagePlanQuotaSettingsOutput
- func (UsagePlanQuotaSettingsOutput) ElementType() reflect.Type
- func (o UsagePlanQuotaSettingsOutput) Limit() pulumi.IntOutput
- func (o UsagePlanQuotaSettingsOutput) Offset() pulumi.IntPtrOutput
- func (o UsagePlanQuotaSettingsOutput) Period() pulumi.StringOutput
- func (o UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsOutput() UsagePlanQuotaSettingsOutput
- func (o UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsOutput
- func (o UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsPtrOutput() UsagePlanQuotaSettingsPtrOutput
- func (o UsagePlanQuotaSettingsOutput) ToUsagePlanQuotaSettingsPtrOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsPtrOutput
- type UsagePlanQuotaSettingsPtrInput
- type UsagePlanQuotaSettingsPtrOutput
- func (o UsagePlanQuotaSettingsPtrOutput) Elem() UsagePlanQuotaSettingsOutput
- func (UsagePlanQuotaSettingsPtrOutput) ElementType() reflect.Type
- func (o UsagePlanQuotaSettingsPtrOutput) Limit() pulumi.IntPtrOutput
- func (o UsagePlanQuotaSettingsPtrOutput) Offset() pulumi.IntPtrOutput
- func (o UsagePlanQuotaSettingsPtrOutput) Period() pulumi.StringPtrOutput
- func (o UsagePlanQuotaSettingsPtrOutput) ToUsagePlanQuotaSettingsPtrOutput() UsagePlanQuotaSettingsPtrOutput
- func (o UsagePlanQuotaSettingsPtrOutput) ToUsagePlanQuotaSettingsPtrOutputWithContext(ctx context.Context) UsagePlanQuotaSettingsPtrOutput
- type UsagePlanState
- type UsagePlanThrottleSettings
- type UsagePlanThrottleSettingsArgs
- func (UsagePlanThrottleSettingsArgs) ElementType() reflect.Type
- func (i UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsOutput() UsagePlanThrottleSettingsOutput
- func (i UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsOutput
- func (i UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsPtrOutput() UsagePlanThrottleSettingsPtrOutput
- func (i UsagePlanThrottleSettingsArgs) ToUsagePlanThrottleSettingsPtrOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsPtrOutput
- type UsagePlanThrottleSettingsInput
- type UsagePlanThrottleSettingsOutput
- func (o UsagePlanThrottleSettingsOutput) BurstLimit() pulumi.IntPtrOutput
- func (UsagePlanThrottleSettingsOutput) ElementType() reflect.Type
- func (o UsagePlanThrottleSettingsOutput) RateLimit() pulumi.Float64PtrOutput
- func (o UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsOutput() UsagePlanThrottleSettingsOutput
- func (o UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsOutput
- func (o UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsPtrOutput() UsagePlanThrottleSettingsPtrOutput
- func (o UsagePlanThrottleSettingsOutput) ToUsagePlanThrottleSettingsPtrOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsPtrOutput
- type UsagePlanThrottleSettingsPtrInput
- type UsagePlanThrottleSettingsPtrOutput
- func (o UsagePlanThrottleSettingsPtrOutput) BurstLimit() pulumi.IntPtrOutput
- func (o UsagePlanThrottleSettingsPtrOutput) Elem() UsagePlanThrottleSettingsOutput
- func (UsagePlanThrottleSettingsPtrOutput) ElementType() reflect.Type
- func (o UsagePlanThrottleSettingsPtrOutput) RateLimit() pulumi.Float64PtrOutput
- func (o UsagePlanThrottleSettingsPtrOutput) ToUsagePlanThrottleSettingsPtrOutput() UsagePlanThrottleSettingsPtrOutput
- func (o UsagePlanThrottleSettingsPtrOutput) ToUsagePlanThrottleSettingsPtrOutputWithContext(ctx context.Context) UsagePlanThrottleSettingsPtrOutput
- type VpcLink
- type VpcLinkArgs
- type VpcLinkState
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 }) }
```
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.
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 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) ElementType() reflect.Type
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 ¶
func (o AccountThrottleSettingsOutput) BurstLimit() pulumi.IntPtrOutput
The absolute maximum number of times API Gateway allows the API to be called per second (RPS).
func (AccountThrottleSettingsOutput) ElementType ¶
func (AccountThrottleSettingsOutput) ElementType() reflect.Type
func (AccountThrottleSettingsOutput) RateLimit ¶
func (o AccountThrottleSettingsOutput) RateLimit() pulumi.Float64PtrOutput
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
func AccountThrottleSettingsPtr ¶
func AccountThrottleSettingsPtr(v *AccountThrottleSettingsArgs) AccountThrottleSettingsPtrInput
type AccountThrottleSettingsPtrOutput ¶
type AccountThrottleSettingsPtrOutput struct{ *pulumi.OutputState }
func (AccountThrottleSettingsPtrOutput) BurstLimit ¶
func (o AccountThrottleSettingsPtrOutput) BurstLimit() pulumi.IntPtrOutput
The absolute maximum number of times API Gateway allows the API to be called per second (RPS).
func (AccountThrottleSettingsPtrOutput) Elem ¶
func (o AccountThrottleSettingsPtrOutput) Elem() AccountThrottleSettingsOutput
func (AccountThrottleSettingsPtrOutput) ElementType ¶
func (AccountThrottleSettingsPtrOutput) ElementType() reflect.Type
func (AccountThrottleSettingsPtrOutput) RateLimit ¶
func (o AccountThrottleSettingsPtrOutput) RateLimit() pulumi.Float64PtrOutput
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 }) }
```
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.
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 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.
func GetAuthorizer ¶
func GetAuthorizer(ctx *pulumi.Context, name string, id pulumi.IDInput, state *AuthorizerState, opts ...pulumi.ResourceOption) (*Authorizer, error)
GetAuthorizer gets an existing Authorizer resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewAuthorizer ¶
func NewAuthorizer(ctx *pulumi.Context, name string, args *AuthorizerArgs, opts ...pulumi.ResourceOption) (*Authorizer, error)
NewAuthorizer registers a new resource with the given unique name, arguments, and options.
type AuthorizerArgs ¶
type AuthorizerArgs struct { // The 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 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.
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.
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 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 }) }
```
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.
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 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"` // The 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"` // The ID of the associated REST API RestApi pulumi.StringOutput `pulumi:"restApi"` // The description of the stage StageDescription pulumi.StringPtrOutput `pulumi:"stageDescription"` // The name of the stage. If the specified stage already exists, it will be updated to point to the new deployment. If the stage does not exist, a new one will be created and point to this deployment. StageName pulumi.StringPtrOutput `pulumi:"stageName"` // A map of arbitrary keys and values that, when changed, will trigger a redeployment. Triggers pulumi.StringMapOutput `pulumi:"triggers"` // A map that defines variables for the stage Variables pulumi.StringMapOutput `pulumi:"variables"` }
Provides an API Gateway REST Deployment.
> **Note:** This resource depends on having at least one `apigateway.Integration` created in the REST API, which itself has other dependencies. To avoid race conditions when all resources are being created together, you need to add implicit resource references via the `triggers` argument or explicit resource references using the [resource `dependsOn` meta-argument](https://www.pulumi.com/docs/intro/concepts/programming-model/#dependson).
## Example Usage
```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("test"), }) 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 } myDemoIntegration, 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.NewDeployment(ctx, "myDemoDeployment", &apigateway.DeploymentArgs{ RestApi: myDemoAPI.ID(), StageName: pulumi.String("test"), Variables: pulumi.StringMap{ "answer": pulumi.String("42"), }, }, pulumi.DependsOn([]pulumi.Resource{ myDemoIntegration, })) if err != nil { return err } return nil }) }
```
func GetDeployment ¶
func GetDeployment(ctx *pulumi.Context, name string, id pulumi.IDInput, state *DeploymentState, opts ...pulumi.ResourceOption) (*Deployment, error)
GetDeployment gets an existing Deployment resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewDeployment ¶
func NewDeployment(ctx *pulumi.Context, name string, args *DeploymentArgs, opts ...pulumi.ResourceOption) (*Deployment, error)
NewDeployment registers a new resource with the given unique name, arguments, and options.
type DeploymentArgs ¶
type DeploymentArgs struct { // The description of the deployment Description pulumi.StringPtrInput // The ID of the associated REST API RestApi pulumi.Input // The description of the stage StageDescription pulumi.StringPtrInput // The name of the stage. If the specified stage already exists, it will be updated to point to the new deployment. If the stage does not exist, a new one will be created and point to this deployment. StageName pulumi.StringPtrInput // A map of arbitrary keys and values that, when changed, will trigger a redeployment. Triggers pulumi.StringMapInput // A map that defines variables for the stage Variables pulumi.StringMapInput }
The set of arguments for constructing a Deployment resource.
func (DeploymentArgs) ElementType ¶
func (DeploymentArgs) ElementType() reflect.Type
type DeploymentState ¶
type DeploymentState struct { // The creation date of the deployment CreatedDate pulumi.StringPtrInput // The 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 // The ID of the associated REST API RestApi pulumi.StringPtrInput // The description of the stage StageDescription pulumi.StringPtrInput // The name of the stage. If the specified stage already exists, it will be updated to point to the new deployment. If the stage does not exist, a new one will be created and point to this deployment. StageName pulumi.StringPtrInput // A map of arbitrary keys and values that, when changed, will trigger a redeployment. Triggers pulumi.StringMapInput // A map that defines variables for the stage 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 }) }
```
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.
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 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) ElementType() reflect.Type
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) ElementType() reflect.Type
func (DocumentationPartLocationOutput) Method ¶
func (o DocumentationPartLocationOutput) Method() pulumi.StringPtrOutput
The HTTP verb of a method. The default value is `*` for any method.
func (DocumentationPartLocationOutput) Name ¶
func (o DocumentationPartLocationOutput) Name() pulumi.StringPtrOutput
The name of the targeted API entity.
func (DocumentationPartLocationOutput) Path ¶
func (o DocumentationPartLocationOutput) Path() pulumi.StringPtrOutput
The URL path of the target. The default value is `/` for the root resource.
func (DocumentationPartLocationOutput) StatusCode ¶
func (o DocumentationPartLocationOutput) StatusCode() pulumi.StringPtrOutput
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 ¶
func (o DocumentationPartLocationOutput) Type() pulumi.StringOutput
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
func DocumentationPartLocationPtr ¶
func DocumentationPartLocationPtr(v *DocumentationPartLocationArgs) DocumentationPartLocationPtrInput
type DocumentationPartLocationPtrOutput ¶
type DocumentationPartLocationPtrOutput struct{ *pulumi.OutputState }
func (DocumentationPartLocationPtrOutput) Elem ¶
func (o DocumentationPartLocationPtrOutput) Elem() DocumentationPartLocationOutput
func (DocumentationPartLocationPtrOutput) ElementType ¶
func (DocumentationPartLocationPtrOutput) ElementType() reflect.Type
func (DocumentationPartLocationPtrOutput) Method ¶
func (o DocumentationPartLocationPtrOutput) Method() pulumi.StringPtrOutput
The HTTP verb of a method. The default value is `*` for any method.
func (DocumentationPartLocationPtrOutput) Name ¶
func (o DocumentationPartLocationPtrOutput) Name() pulumi.StringPtrOutput
The name of the targeted API entity.
func (DocumentationPartLocationPtrOutput) Path ¶
func (o DocumentationPartLocationPtrOutput) Path() pulumi.StringPtrOutput
The URL path of the target. The default value is `/` for the root resource.
func (DocumentationPartLocationPtrOutput) StatusCode ¶
func (o DocumentationPartLocationPtrOutput) StatusCode() pulumi.StringPtrOutput
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 ¶
func (o DocumentationPartLocationPtrOutput) Type() pulumi.StringPtrOutput
The type of API entity to which the documentation content applies. e.g. `API`, `METHOD` or `REQUEST_BODY`
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 }) }
```
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.
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 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 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`.
> **Note:** All arguments including the private key will be stored in the raw state as plain-text.
## 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 }) }
```
func GetDomainName ¶
func GetDomainName(ctx *pulumi.Context, name string, id pulumi.IDInput, state *DomainNameState, opts ...pulumi.ResourceOption) (*DomainName, error)
GetDomainName gets an existing DomainName resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewDomainName ¶
func NewDomainName(ctx *pulumi.Context, name string, args *DomainNameArgs, opts ...pulumi.ResourceOption) (*DomainName, error)
NewDomainName registers a new resource with the given unique name, arguments, and options.
type DomainNameArgs ¶
type DomainNameArgs struct { // The 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 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 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) ElementType() reflect.Type
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) ElementType() reflect.Type
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 ¶
func (o DomainNameEndpointConfigurationOutput) Types() pulumi.StringOutput
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
func DomainNameEndpointConfigurationPtr ¶
func DomainNameEndpointConfigurationPtr(v *DomainNameEndpointConfigurationArgs) DomainNameEndpointConfigurationPtrInput
type DomainNameEndpointConfigurationPtrOutput ¶
type DomainNameEndpointConfigurationPtrOutput struct{ *pulumi.OutputState }
func (DomainNameEndpointConfigurationPtrOutput) ElementType ¶
func (DomainNameEndpointConfigurationPtrOutput) ElementType() reflect.Type
func (DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutput ¶
func (o DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutput() DomainNameEndpointConfigurationPtrOutput
func (DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutputWithContext ¶
func (o DomainNameEndpointConfigurationPtrOutput) ToDomainNameEndpointConfigurationPtrOutputWithContext(ctx context.Context) DomainNameEndpointConfigurationPtrOutput
func (DomainNameEndpointConfigurationPtrOutput) Types ¶
func (o DomainNameEndpointConfigurationPtrOutput) Types() pulumi.StringPtrOutput
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 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 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 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 GetRestApiEndpointConfigurationArgs ¶
type GetRestApiEndpointConfigurationArgs struct { Types pulumi.StringArrayInput `pulumi:"types"` VpcEndpointIds pulumi.StringArrayInput `pulumi:"vpcEndpointIds"` }
func (GetRestApiEndpointConfigurationArgs) ElementType ¶
func (GetRestApiEndpointConfigurationArgs) ElementType() reflect.Type
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) ElementType() reflect.Type
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) ElementType() reflect.Type
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) ElementType() reflect.Type
func (GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutput ¶
func (o GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutput() GetRestApiEndpointConfigurationOutput
func (GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutputWithContext ¶
func (o GetRestApiEndpointConfigurationOutput) ToGetRestApiEndpointConfigurationOutputWithContext(ctx context.Context) GetRestApiEndpointConfigurationOutput
func (GetRestApiEndpointConfigurationOutput) Types ¶
func (o GetRestApiEndpointConfigurationOutput) Types() pulumi.StringArrayOutput
func (GetRestApiEndpointConfigurationOutput) VpcEndpointIds ¶
func (o GetRestApiEndpointConfigurationOutput) VpcEndpointIds() pulumi.StringArrayOutput
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"` // 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 }) }
```
func GetIntegration ¶
func GetIntegration(ctx *pulumi.Context, name string, id pulumi.IDInput, state *IntegrationState, opts ...pulumi.ResourceOption) (*Integration, error)
GetIntegration gets an existing Integration resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewIntegration ¶
func NewIntegration(ctx *pulumi.Context, name string, args *IntegrationArgs, opts ...pulumi.ResourceOption) (*Integration, error)
NewIntegration registers a new resource with the given unique name, arguments, and options.
type IntegrationArgs ¶
type IntegrationArgs struct { // 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 // 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 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. Setting this to `-` makes 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 }) }
```
func GetIntegrationResponse ¶
func GetIntegrationResponse(ctx *pulumi.Context, name string, id pulumi.IDInput, state *IntegrationResponseState, opts ...pulumi.ResourceOption) (*IntegrationResponse, error)
GetIntegrationResponse gets an existing IntegrationResponse resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewIntegrationResponse ¶
func NewIntegrationResponse(ctx *pulumi.Context, name string, args *IntegrationResponseArgs, opts ...pulumi.ResourceOption) (*IntegrationResponse, error)
NewIntegrationResponse registers a new resource with the given unique name, arguments, and options.
type IntegrationResponseArgs ¶
type IntegrationResponseArgs struct { // 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. Setting this to `-` makes 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 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. Setting this to `-` makes 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 // 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 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 ¶
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"` // 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 }
```
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.
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 // 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 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 }) }
```
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.
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 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. 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"` }
Provides an API Gateway Method Settings, e.g. logging or monitoring.
## 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 { testRestApi, err := apigateway.NewRestApi(ctx, "testRestApi", &apigateway.RestApiArgs{ Description: pulumi.String("This is my API for demonstration purposes"), }) if err != nil { return err } testResource, err := apigateway.NewResource(ctx, "testResource", &apigateway.ResourceArgs{ RestApi: testRestApi.ID(), ParentId: testRestApi.RootResourceId, PathPart: pulumi.String("mytestresource"), }) if err != nil { return err } testMethod, err := apigateway.NewMethod(ctx, "testMethod", &apigateway.MethodArgs{ RestApi: testRestApi.ID(), ResourceId: testResource.ID(), HttpMethod: pulumi.String("GET"), Authorization: pulumi.String("NONE"), }) if err != nil { return err } testIntegration, err := apigateway.NewIntegration(ctx, "testIntegration", &apigateway.IntegrationArgs{ RestApi: testRestApi.ID(), ResourceId: testResource.ID(), HttpMethod: testMethod.HttpMethod, Type: pulumi.String("MOCK"), 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 } testDeployment, err := apigateway.NewDeployment(ctx, "testDeployment", &apigateway.DeploymentArgs{ RestApi: testRestApi.ID(), StageName: pulumi.String("dev"), }, pulumi.DependsOn([]pulumi.Resource{ testIntegration, })) if err != nil { return err } testStage, err := apigateway.NewStage(ctx, "testStage", &apigateway.StageArgs{ StageName: pulumi.String("prod"), RestApi: testRestApi.ID(), Deployment: testDeployment.ID(), }) if err != nil { return err } _, err = apigateway.NewMethodSettings(ctx, "methodSettings", &apigateway.MethodSettingsArgs{ RestApi: testRestApi.ID(), StageName: testStage.StageName, MethodPath: pulumi.All(testResource.PathPart, testMethod.HttpMethod).ApplyT(func(_args []interface{}) (string, error) { pathPart := _args[0].(string) httpMethod := _args[1].(string) return fmt.Sprintf("%v%v%v", pathPart, "/", httpMethod), nil }).(pulumi.StringOutput), Settings: &apigateway.MethodSettingsSettingsArgs{ MetricsEnabled: pulumi.Bool(true), LoggingLevel: pulumi.String("INFO"), }, }) if err != nil { return err } return nil }) }
```
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.
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. 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 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"` 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"` 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 ¶
func (o MethodSettingsSettingsOutput) CachingEnabled() pulumi.BoolPtrOutput
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) ElementType() reflect.Type
func (MethodSettingsSettingsOutput) LoggingLevel ¶
func (o MethodSettingsSettingsOutput) LoggingLevel() pulumi.StringPtrOutput
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 ¶
func (o MethodSettingsSettingsOutput) MetricsEnabled() pulumi.BoolPtrOutput
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
func MethodSettingsSettingsPtr ¶
func MethodSettingsSettingsPtr(v *MethodSettingsSettingsArgs) MethodSettingsSettingsPtrInput
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 ¶
func (o MethodSettingsSettingsPtrOutput) CachingEnabled() pulumi.BoolPtrOutput
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 ¶
func (o MethodSettingsSettingsPtrOutput) DataTraceEnabled() pulumi.BoolPtrOutput
Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs.
func (MethodSettingsSettingsPtrOutput) Elem ¶
func (o MethodSettingsSettingsPtrOutput) Elem() MethodSettingsSettingsOutput
func (MethodSettingsSettingsPtrOutput) ElementType ¶
func (MethodSettingsSettingsPtrOutput) ElementType() reflect.Type
func (MethodSettingsSettingsPtrOutput) LoggingLevel ¶
func (o MethodSettingsSettingsPtrOutput) LoggingLevel() pulumi.StringPtrOutput
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 ¶
func (o MethodSettingsSettingsPtrOutput) MetricsEnabled() pulumi.BoolPtrOutput
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 ¶
func (o MethodSettingsSettingsPtrOutput) ThrottlingRateLimit() pulumi.Float64PtrOutput
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. 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 // 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 }) }
```
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).
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 ¶
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 }) }
```
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.
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 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 }) }
```
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.
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 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 }) }
```
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.
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 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 // The source of the API key for requests. Valid values are HEADER (default) and AUTHORIZER. ApiKeySource pulumi.StringPtrOutput `pulumi:"apiKeySource"` // Amazon Resource Name (ARN) Arn pulumi.StringOutput `pulumi:"arn"` // The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads. BinaryMediaTypes pulumi.StringArrayOutput `pulumi:"binaryMediaTypes"` // An OpenAPI specification that defines the set of routes and integrations to create as part of the REST API. Body pulumi.StringPtrOutput `pulumi:"body"` // The creation date of the REST API CreatedDate pulumi.StringOutput `pulumi:"createdDate"` // The description of the REST API Description pulumi.StringPtrOutput `pulumi:"description"` // Nested argument 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). MinimumCompressionSize pulumi.IntPtrOutput `pulumi:"minimumCompressionSize"` // The name of the REST API Name pulumi.StringOutput `pulumi:"name"` // JSON formatted policy document that controls access to the API Gateway. Policy pulumi.StringPtrOutput `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"` }
Provides an API Gateway 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 ### Basic
```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.NewRestApi(ctx, "myDemoAPI", &apigateway.RestApiArgs{ Description: pulumi.String("This is my API for demonstration purposes"), }) if err != nil { return err } return nil }) }
``` ### Regional Endpoint Type
```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.NewRestApi(ctx, "example", &apigateway.RestApiArgs{ EndpointConfiguration: &apigateway.RestApiEndpointConfigurationArgs{ Types: pulumi.String("REGIONAL"), }, }) if err != nil { return err } return nil }) }
```
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.
type RestApiArgs ¶
type RestApiArgs struct { // The source of the API key for requests. Valid values are HEADER (default) and AUTHORIZER. ApiKeySource pulumi.StringPtrInput // The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads. BinaryMediaTypes pulumi.StringArrayInput // An OpenAPI specification that defines the set of routes and integrations to create as part of the REST API. Body pulumi.StringPtrInput // The description of the REST API Description pulumi.StringPtrInput // Nested argument 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). MinimumCompressionSize pulumi.IntPtrInput // The name of the REST API Name pulumi.StringPtrInput // JSON formatted policy document that controls access to the API Gateway. 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 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"` // A list of VPC Endpoint Ids. It is only supported for PRIVATE endpoint type. 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"` // A list of VPC Endpoint Ids. It is only supported for PRIVATE endpoint type. VpcEndpointIds pulumi.StringArrayInput `pulumi:"vpcEndpointIds"` }
func (RestApiEndpointConfigurationArgs) ElementType ¶
func (RestApiEndpointConfigurationArgs) ElementType() reflect.Type
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) ElementType() reflect.Type
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 ¶
func (o RestApiEndpointConfigurationOutput) Types() pulumi.StringOutput
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 ¶
func (o RestApiEndpointConfigurationOutput) VpcEndpointIds() pulumi.StringArrayOutput
A list of VPC Endpoint Ids. It is only supported for PRIVATE endpoint type.
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
func RestApiEndpointConfigurationPtr ¶
func RestApiEndpointConfigurationPtr(v *RestApiEndpointConfigurationArgs) RestApiEndpointConfigurationPtrInput
type RestApiEndpointConfigurationPtrOutput ¶
type RestApiEndpointConfigurationPtrOutput struct{ *pulumi.OutputState }
func (RestApiEndpointConfigurationPtrOutput) ElementType ¶
func (RestApiEndpointConfigurationPtrOutput) ElementType() reflect.Type
func (RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutput ¶
func (o RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutput() RestApiEndpointConfigurationPtrOutput
func (RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutputWithContext ¶
func (o RestApiEndpointConfigurationPtrOutput) ToRestApiEndpointConfigurationPtrOutputWithContext(ctx context.Context) RestApiEndpointConfigurationPtrOutput
func (RestApiEndpointConfigurationPtrOutput) Types ¶
func (o RestApiEndpointConfigurationPtrOutput) Types() pulumi.StringPtrOutput
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 ¶
func (o RestApiEndpointConfigurationPtrOutput) VpcEndpointIds() pulumi.StringArrayOutput
A list of VPC Endpoint Ids. It is only supported for PRIVATE endpoint type.
type RestApiState ¶
type RestApiState struct { // The source of the API key for requests. Valid values are HEADER (default) and AUTHORIZER. ApiKeySource pulumi.StringPtrInput // Amazon Resource Name (ARN) Arn pulumi.StringPtrInput // The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads. BinaryMediaTypes pulumi.StringArrayInput // An OpenAPI specification that defines the set of routes and integrations to create as part of the REST API. Body pulumi.StringPtrInput // The creation date of the REST API CreatedDate pulumi.StringPtrInput // The description of the REST API Description pulumi.StringPtrInput // Nested argument 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). MinimumCompressionSize pulumi.IntPtrInput // The name of the REST API Name pulumi.StringPtrInput // JSON formatted policy document that controls access to the API Gateway. 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"` }
Provides an API Gateway Stage.
## 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 { testRestApi, err := apigateway.NewRestApi(ctx, "testRestApi", &apigateway.RestApiArgs{ Description: pulumi.String("This is my API for demonstration purposes"), }) if err != nil { return err } testResource, err := apigateway.NewResource(ctx, "testResource", &apigateway.ResourceArgs{ RestApi: testRestApi.ID(), ParentId: testRestApi.RootResourceId, PathPart: pulumi.String("mytestresource"), }) if err != nil { return err } testMethod, err := apigateway.NewMethod(ctx, "testMethod", &apigateway.MethodArgs{ RestApi: testRestApi.ID(), ResourceId: testResource.ID(), HttpMethod: pulumi.String("GET"), Authorization: pulumi.String("NONE"), }) if err != nil { return err } testIntegration, err := apigateway.NewIntegration(ctx, "testIntegration", &apigateway.IntegrationArgs{ RestApi: testRestApi.ID(), ResourceId: testResource.ID(), HttpMethod: testMethod.HttpMethod, Type: pulumi.String("MOCK"), }) if err != nil { return err } testDeployment, err := apigateway.NewDeployment(ctx, "testDeployment", &apigateway.DeploymentArgs{ RestApi: testRestApi.ID(), StageName: pulumi.String("dev"), }, pulumi.DependsOn([]pulumi.Resource{ testIntegration, })) if err != nil { return err } testStage, err := apigateway.NewStage(ctx, "testStage", &apigateway.StageArgs{ StageName: pulumi.String("prod"), RestApi: testRestApi.ID(), Deployment: testDeployment.ID(), }) if err != nil { return err } _, err = apigateway.NewMethodSettings(ctx, "methodSettings", &apigateway.MethodSettingsArgs{ RestApi: testRestApi.ID(), StageName: testStage.StageName, MethodPath: pulumi.All(testResource.PathPart, testMethod.HttpMethod).ApplyT(func(_args []interface{}) (string, error) { pathPart := _args[0].(string) httpMethod := _args[1].(string) return fmt.Sprintf("%v%v%v", pathPart, "/", httpMethod), nil }).(pulumi.StringOutput), Settings: &apigateway.MethodSettingsSettingsArgs{ MetricsEnabled: pulumi.Bool(true), LoggingLevel: pulumi.String("INFO"), }, }) if err != nil { return err } return nil }) }
``` ### 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 }) }
```
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).
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 ¶
func (o StageAccessLogSettingsOutput) DestinationArn() pulumi.StringOutput
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) ElementType() reflect.Type
func (StageAccessLogSettingsOutput) Format ¶
func (o StageAccessLogSettingsOutput) Format() pulumi.StringOutput
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
func StageAccessLogSettingsPtr ¶
func StageAccessLogSettingsPtr(v *StageAccessLogSettingsArgs) StageAccessLogSettingsPtrInput
type StageAccessLogSettingsPtrOutput ¶
type StageAccessLogSettingsPtrOutput struct{ *pulumi.OutputState }
func (StageAccessLogSettingsPtrOutput) DestinationArn ¶
func (o StageAccessLogSettingsPtrOutput) DestinationArn() pulumi.StringPtrOutput
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 (o StageAccessLogSettingsPtrOutput) Elem() StageAccessLogSettingsOutput
func (StageAccessLogSettingsPtrOutput) ElementType ¶
func (StageAccessLogSettingsPtrOutput) ElementType() reflect.Type
func (StageAccessLogSettingsPtrOutput) Format ¶
func (o StageAccessLogSettingsPtrOutput) Format() pulumi.StringPtrOutput
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 ¶
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.
## 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 { myapi, err := apigateway.NewRestApi(ctx, "myapi", nil) if err != nil { return err } dev, err := apigateway.NewDeployment(ctx, "dev", &apigateway.DeploymentArgs{ RestApi: myapi.ID(), StageName: pulumi.String("dev"), }) if err != nil { return err } prod, err := apigateway.NewDeployment(ctx, "prod", &apigateway.DeploymentArgs{ RestApi: myapi.ID(), StageName: pulumi.String("prod"), }) if err != nil { return err } _, err = apigateway.NewUsagePlan(ctx, "myUsagePlan", &apigateway.UsagePlanArgs{ Description: pulumi.String("my description"), ProductCode: pulumi.String("MYCODE"), ApiStages: apigateway.UsagePlanApiStageArray{ &apigateway.UsagePlanApiStageArgs{ ApiId: myapi.ID(), Stage: dev.StageName, }, &apigateway.UsagePlanApiStageArgs{ ApiId: myapi.ID(), Stage: prod.StageName, }, }, QuotaSettings: &apigateway.UsagePlanQuotaSettingsArgs{ Limit: pulumi.Int(20), Offset: pulumi.Int(2), Period: pulumi.String("WEEK"), }, ThrottleSettings: &apigateway.UsagePlanThrottleSettingsArgs{ BurstLimit: pulumi.Int(5), RateLimit: pulumi.Float64(10), }, }) if err != nil { return err } return nil }) }
```
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.
type UsagePlanApiStage ¶
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) ElementType() reflect.Type
func (UsagePlanApiStageArrayOutput) Index ¶
func (o UsagePlanApiStageArrayOutput) Index(i pulumi.IntInput) UsagePlanApiStageOutput
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 ¶
func (o UsagePlanApiStageOutput) ApiId() pulumi.StringOutput
API Id of the associated API stage in a usage plan.
func (UsagePlanApiStageOutput) ElementType ¶
func (UsagePlanApiStageOutput) ElementType() reflect.Type
func (UsagePlanApiStageOutput) Stage ¶
func (o UsagePlanApiStageOutput) Stage() pulumi.StringOutput
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 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 }) }
```
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.
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 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 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) ElementType() reflect.Type
func (UsagePlanQuotaSettingsOutput) Limit ¶
func (o UsagePlanQuotaSettingsOutput) Limit() pulumi.IntOutput
The maximum number of requests that can be made in a given time period.
func (UsagePlanQuotaSettingsOutput) Offset ¶
func (o UsagePlanQuotaSettingsOutput) Offset() pulumi.IntPtrOutput
The number of requests subtracted from the given limit in the initial time period.
func (UsagePlanQuotaSettingsOutput) Period ¶
func (o UsagePlanQuotaSettingsOutput) Period() pulumi.StringOutput
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
func UsagePlanQuotaSettingsPtr ¶
func UsagePlanQuotaSettingsPtr(v *UsagePlanQuotaSettingsArgs) UsagePlanQuotaSettingsPtrInput
type UsagePlanQuotaSettingsPtrOutput ¶
type UsagePlanQuotaSettingsPtrOutput struct{ *pulumi.OutputState }
func (UsagePlanQuotaSettingsPtrOutput) Elem ¶
func (o UsagePlanQuotaSettingsPtrOutput) Elem() UsagePlanQuotaSettingsOutput
func (UsagePlanQuotaSettingsPtrOutput) ElementType ¶
func (UsagePlanQuotaSettingsPtrOutput) ElementType() reflect.Type
func (UsagePlanQuotaSettingsPtrOutput) Limit ¶
func (o UsagePlanQuotaSettingsPtrOutput) Limit() pulumi.IntPtrOutput
The maximum number of requests that can be made in a given time period.
func (UsagePlanQuotaSettingsPtrOutput) Offset ¶
func (o UsagePlanQuotaSettingsPtrOutput) Offset() pulumi.IntPtrOutput
The number of requests subtracted from the given limit in the initial time period.
func (UsagePlanQuotaSettingsPtrOutput) Period ¶
func (o UsagePlanQuotaSettingsPtrOutput) Period() pulumi.StringPtrOutput
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) ElementType() reflect.Type
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 ¶
func (o UsagePlanThrottleSettingsOutput) BurstLimit() pulumi.IntPtrOutput
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) ElementType() reflect.Type
func (UsagePlanThrottleSettingsOutput) RateLimit ¶
func (o UsagePlanThrottleSettingsOutput) RateLimit() pulumi.Float64PtrOutput
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
func UsagePlanThrottleSettingsPtr ¶
func UsagePlanThrottleSettingsPtr(v *UsagePlanThrottleSettingsArgs) UsagePlanThrottleSettingsPtrInput
type UsagePlanThrottleSettingsPtrOutput ¶
type UsagePlanThrottleSettingsPtrOutput struct{ *pulumi.OutputState }
func (UsagePlanThrottleSettingsPtrOutput) BurstLimit ¶
func (o UsagePlanThrottleSettingsPtrOutput) BurstLimit() pulumi.IntPtrOutput
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 (o UsagePlanThrottleSettingsPtrOutput) Elem() UsagePlanThrottleSettingsOutput
func (UsagePlanThrottleSettingsPtrOutput) ElementType ¶
func (UsagePlanThrottleSettingsPtrOutput) ElementType() reflect.Type
func (UsagePlanThrottleSettingsPtrOutput) RateLimit ¶
func (o UsagePlanThrottleSettingsPtrOutput) RateLimit() pulumi.Float64PtrOutput
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 ¶
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 }) }
```
func GetVpcLink ¶
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 ¶
func NewVpcLink(ctx *pulumi.Context, name string, args *VpcLinkArgs, opts ...pulumi.ResourceOption) (*VpcLink, error)
NewVpcLink registers a new resource with the given unique name, arguments, and options.
type VpcLinkArgs ¶
type VpcLinkArgs struct { // The 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 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
Source Files ¶
- account.go
- apiKey.go
- authorizer.go
- basePathMapping.go
- clientCertificate.go
- deployment.go
- documentationPart.go
- documentationVersion.go
- domainName.go
- getKey.go
- getResource.go
- getRestApi.go
- getVpcLink.go
- integration.go
- integrationResponse.go
- method.go
- methodResponse.go
- methodSettings.go
- model.go
- pulumiTypes.go
- requestValidator.go
- resource.go
- response.go
- restApi.go
- stage.go
- usagePlan.go
- usagePlanKey.go
- vpcLink.go