Documentation ¶
Index ¶
- func AccessLogField_ContextAccountId() *string
- func AccessLogField_ContextApiId() *string
- func AccessLogField_ContextAuthorizer(property *string) *string
- func AccessLogField_ContextAuthorizerClaims(property *string) *string
- func AccessLogField_ContextAuthorizerIntegrationLatency() *string
- func AccessLogField_ContextAuthorizerPrincipalId() *string
- func AccessLogField_ContextAwsEndpointRequestId() *string
- func AccessLogField_ContextDomainName() *string
- func AccessLogField_ContextDomainPrefix() *string
- func AccessLogField_ContextErrorMessage() *string
- func AccessLogField_ContextErrorMessageString() *string
- func AccessLogField_ContextErrorResponseType() *string
- func AccessLogField_ContextErrorValidationErrorString() *string
- func AccessLogField_ContextExtendedRequestId() *string
- func AccessLogField_ContextHttpMethod() *string
- func AccessLogField_ContextIdentityAccountId() *string
- func AccessLogField_ContextIdentityApiKey() *string
- func AccessLogField_ContextIdentityApiKeyId() *string
- func AccessLogField_ContextIdentityCaller() *string
- func AccessLogField_ContextIdentityCognitoAuthenticationProvider() *string
- func AccessLogField_ContextIdentityCognitoAuthenticationType() *string
- func AccessLogField_ContextIdentityCognitoIdentityId() *string
- func AccessLogField_ContextIdentityCognitoIdentityPoolId() *string
- func AccessLogField_ContextIdentityPrincipalOrgId() *string
- func AccessLogField_ContextIdentitySourceIp() *string
- func AccessLogField_ContextIdentityUser() *string
- func AccessLogField_ContextIdentityUserAgent() *string
- func AccessLogField_ContextIdentityUserArn() *string
- func AccessLogField_ContextIntegrationLatency() *string
- func AccessLogField_ContextIntegrationStatus() *string
- func AccessLogField_ContextPath() *string
- func AccessLogField_ContextProtocol() *string
- func AccessLogField_ContextRequestId() *string
- func AccessLogField_ContextRequestOverrideHeader(headerName *string) *string
- func AccessLogField_ContextRequestOverridePath(pathName *string) *string
- func AccessLogField_ContextRequestOverrideQuerystring(querystringName *string) *string
- func AccessLogField_ContextRequestTime() *string
- func AccessLogField_ContextRequestTimeEpoch() *string
- func AccessLogField_ContextResourceId() *string
- func AccessLogField_ContextResourcePath() *string
- func AccessLogField_ContextResponseLatency() *string
- func AccessLogField_ContextResponseLength() *string
- func AccessLogField_ContextResponseOverrideHeader(headerName *string) *string
- func AccessLogField_ContextResponseOverrideStatus() *string
- func AccessLogField_ContextStage() *string
- func AccessLogField_ContextStatus() *string
- func AccessLogField_ContextWafResponseCode() *string
- func AccessLogField_ContextWebaclArn() *string
- func AccessLogField_ContextXrayTraceId() *string
- func ApiKey_IsConstruct(x interface{}) *bool
- func ApiKey_IsResource(construct constructs.IConstruct) *bool
- func Authorizer_IsAuthorizer(x interface{}) *bool
- func Authorizer_IsConstruct(x interface{}) *bool
- func Authorizer_IsResource(construct constructs.IConstruct) *bool
- func BasePathMapping_IsConstruct(x interface{}) *bool
- func BasePathMapping_IsResource(construct constructs.IConstruct) *bool
- func CfnAccount_CFN_RESOURCE_TYPE_NAME() *string
- func CfnAccount_IsCfnElement(x interface{}) *bool
- func CfnAccount_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnAccount_IsConstruct(x interface{}) *bool
- func CfnApiKey_CFN_RESOURCE_TYPE_NAME() *string
- func CfnApiKey_IsCfnElement(x interface{}) *bool
- func CfnApiKey_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnApiKey_IsConstruct(x interface{}) *bool
- func CfnAuthorizer_CFN_RESOURCE_TYPE_NAME() *string
- func CfnAuthorizer_IsCfnElement(x interface{}) *bool
- func CfnAuthorizer_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnAuthorizer_IsConstruct(x interface{}) *bool
- func CfnBasePathMapping_CFN_RESOURCE_TYPE_NAME() *string
- func CfnBasePathMapping_IsCfnElement(x interface{}) *bool
- func CfnBasePathMapping_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnBasePathMapping_IsConstruct(x interface{}) *bool
- func CfnClientCertificate_CFN_RESOURCE_TYPE_NAME() *string
- func CfnClientCertificate_IsCfnElement(x interface{}) *bool
- func CfnClientCertificate_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnClientCertificate_IsConstruct(x interface{}) *bool
- func CfnDeployment_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDeployment_IsCfnElement(x interface{}) *bool
- func CfnDeployment_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDeployment_IsConstruct(x interface{}) *bool
- func CfnDocumentationPart_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDocumentationPart_IsCfnElement(x interface{}) *bool
- func CfnDocumentationPart_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDocumentationPart_IsConstruct(x interface{}) *bool
- func CfnDocumentationVersion_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDocumentationVersion_IsCfnElement(x interface{}) *bool
- func CfnDocumentationVersion_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDocumentationVersion_IsConstruct(x interface{}) *bool
- func CfnDomainName_CFN_RESOURCE_TYPE_NAME() *string
- func CfnDomainName_IsCfnElement(x interface{}) *bool
- func CfnDomainName_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnDomainName_IsConstruct(x interface{}) *bool
- func CfnGatewayResponse_CFN_RESOURCE_TYPE_NAME() *string
- func CfnGatewayResponse_IsCfnElement(x interface{}) *bool
- func CfnGatewayResponse_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnGatewayResponse_IsConstruct(x interface{}) *bool
- func CfnMethod_CFN_RESOURCE_TYPE_NAME() *string
- func CfnMethod_IsCfnElement(x interface{}) *bool
- func CfnMethod_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnMethod_IsConstruct(x interface{}) *bool
- func CfnModel_CFN_RESOURCE_TYPE_NAME() *string
- func CfnModel_IsCfnElement(x interface{}) *bool
- func CfnModel_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnModel_IsConstruct(x interface{}) *bool
- func CfnRequestValidator_CFN_RESOURCE_TYPE_NAME() *string
- func CfnRequestValidator_IsCfnElement(x interface{}) *bool
- func CfnRequestValidator_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnRequestValidator_IsConstruct(x interface{}) *bool
- func CfnResource_CFN_RESOURCE_TYPE_NAME() *string
- func CfnResource_IsCfnElement(x interface{}) *bool
- func CfnResource_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnResource_IsConstruct(x interface{}) *bool
- func CfnRestApi_CFN_RESOURCE_TYPE_NAME() *string
- func CfnRestApi_IsCfnElement(x interface{}) *bool
- func CfnRestApi_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnRestApi_IsConstruct(x interface{}) *bool
- func CfnStage_CFN_RESOURCE_TYPE_NAME() *string
- func CfnStage_IsCfnElement(x interface{}) *bool
- func CfnStage_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnStage_IsConstruct(x interface{}) *bool
- func CfnUsagePlanKey_CFN_RESOURCE_TYPE_NAME() *string
- func CfnUsagePlanKey_IsCfnElement(x interface{}) *bool
- func CfnUsagePlanKey_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnUsagePlanKey_IsConstruct(x interface{}) *bool
- func CfnUsagePlan_CFN_RESOURCE_TYPE_NAME() *string
- func CfnUsagePlan_IsCfnElement(x interface{}) *bool
- func CfnUsagePlan_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnUsagePlan_IsConstruct(x interface{}) *bool
- func CfnVpcLink_CFN_RESOURCE_TYPE_NAME() *string
- func CfnVpcLink_IsCfnElement(x interface{}) *bool
- func CfnVpcLink_IsCfnResource(construct constructs.IConstruct) *bool
- func CfnVpcLink_IsConstruct(x interface{}) *bool
- func CognitoUserPoolsAuthorizer_IsAuthorizer(x interface{}) *bool
- func CognitoUserPoolsAuthorizer_IsConstruct(x interface{}) *bool
- func CognitoUserPoolsAuthorizer_IsResource(construct constructs.IConstruct) *bool
- func Cors_ALL_METHODS() *[]*string
- func Cors_ALL_ORIGINS() *[]*string
- func Cors_DEFAULT_HEADERS() *[]*string
- func Deployment_IsConstruct(x interface{}) *bool
- func Deployment_IsResource(construct constructs.IConstruct) *bool
- func DomainName_IsConstruct(x interface{}) *bool
- func DomainName_IsResource(construct constructs.IConstruct) *bool
- func GatewayResponse_IsConstruct(x interface{}) *bool
- func GatewayResponse_IsResource(construct constructs.IConstruct) *bool
- func IdentitySource_Context(context *string) *string
- func IdentitySource_Header(headerName *string) *string
- func IdentitySource_QueryString(queryString *string) *string
- func IdentitySource_StageVariable(stageVariable *string) *string
- func LambdaRestApi_IsConstruct(x interface{}) *bool
- func LambdaRestApi_IsResource(construct constructs.IConstruct) *bool
- func Method_IsConstruct(x interface{}) *bool
- func Method_IsResource(construct constructs.IConstruct) *bool
- func Model_IsConstruct(x interface{}) *bool
- func Model_IsResource(construct constructs.IConstruct) *bool
- func NewAccessLogField_Override(a AccessLogField)
- func NewApiDefinition_Override(a ApiDefinition)
- func NewApiKey_Override(a ApiKey, scope constructs.Construct, id *string, props *ApiKeyProps)
- func NewAssetApiDefinition_Override(a AssetApiDefinition, path *string, options *awss3assets.AssetOptions)
- func NewAuthorizer_Override(a Authorizer, scope constructs.Construct, id *string, ...)
- func NewAwsIntegration_Override(a AwsIntegration, props *AwsIntegrationProps)
- func NewBasePathMapping_Override(b BasePathMapping, scope constructs.Construct, id *string, ...)
- func NewCfnAccount_Override(c CfnAccount, scope constructs.Construct, id *string, props *CfnAccountProps)
- func NewCfnApiKey_Override(c CfnApiKey, scope constructs.Construct, id *string, props *CfnApiKeyProps)
- func NewCfnAuthorizer_Override(c CfnAuthorizer, scope constructs.Construct, id *string, ...)
- func NewCfnBasePathMapping_Override(c CfnBasePathMapping, scope constructs.Construct, id *string, ...)
- func NewCfnClientCertificate_Override(c CfnClientCertificate, scope constructs.Construct, id *string, ...)
- func NewCfnDeployment_Override(c CfnDeployment, scope constructs.Construct, id *string, ...)
- func NewCfnDocumentationPart_Override(c CfnDocumentationPart, scope constructs.Construct, id *string, ...)
- func NewCfnDocumentationVersion_Override(c CfnDocumentationVersion, scope constructs.Construct, id *string, ...)
- func NewCfnDomainName_Override(c CfnDomainName, scope constructs.Construct, id *string, ...)
- func NewCfnGatewayResponse_Override(c CfnGatewayResponse, scope constructs.Construct, id *string, ...)
- func NewCfnMethod_Override(c CfnMethod, scope constructs.Construct, id *string, props *CfnMethodProps)
- func NewCfnModel_Override(c CfnModel, scope constructs.Construct, id *string, props *CfnModelProps)
- func NewCfnRequestValidator_Override(c CfnRequestValidator, scope constructs.Construct, id *string, ...)
- func NewCfnResource_Override(c CfnResource, scope constructs.Construct, id *string, props *CfnResourceProps)
- func NewCfnRestApi_Override(c CfnRestApi, scope constructs.Construct, id *string, props *CfnRestApiProps)
- func NewCfnStage_Override(c CfnStage, scope constructs.Construct, id *string, props *CfnStageProps)
- func NewCfnUsagePlanKey_Override(c CfnUsagePlanKey, scope constructs.Construct, id *string, ...)
- func NewCfnUsagePlan_Override(c CfnUsagePlan, scope constructs.Construct, id *string, ...)
- func NewCfnVpcLink_Override(c CfnVpcLink, scope constructs.Construct, id *string, props *CfnVpcLinkProps)
- func NewCognitoUserPoolsAuthorizer_Override(c CognitoUserPoolsAuthorizer, scope constructs.Construct, id *string, ...)
- func NewDeployment_Override(d Deployment, scope constructs.Construct, id *string, props *DeploymentProps)
- func NewDomainName_Override(d DomainName, scope constructs.Construct, id *string, props *DomainNameProps)
- func NewGatewayResponse_Override(g GatewayResponse, scope constructs.Construct, id *string, ...)
- func NewHttpIntegration_Override(h HttpIntegration, url *string, props *HttpIntegrationProps)
- func NewIdentitySource_Override(i IdentitySource)
- func NewInlineApiDefinition_Override(i InlineApiDefinition, definition interface{})
- func NewIntegration_Override(i Integration, props *IntegrationProps)
- func NewLambdaIntegration_Override(l LambdaIntegration, handler awslambda.IFunction, ...)
- func NewLambdaRestApi_Override(l LambdaRestApi, scope constructs.Construct, id *string, ...)
- func NewLogGroupLogDestination_Override(l LogGroupLogDestination, logGroup awslogs.ILogGroup)
- func NewMethod_Override(m Method, scope constructs.Construct, id *string, props *MethodProps)
- func NewMockIntegration_Override(m MockIntegration, options *IntegrationOptions)
- func NewModel_Override(m Model, scope constructs.Construct, id *string, props *ModelProps)
- func NewProxyResource_Override(p ProxyResource, scope constructs.Construct, id *string, ...)
- func NewRateLimitedApiKey_Override(r RateLimitedApiKey, scope constructs.Construct, id *string, ...)
- func NewRequestAuthorizer_Override(r RequestAuthorizer, scope constructs.Construct, id *string, ...)
- func NewRequestValidator_Override(r RequestValidator, scope constructs.Construct, id *string, ...)
- func NewResourceBase_Override(r ResourceBase, scope constructs.Construct, id *string)
- func NewResource_Override(r Resource, scope constructs.Construct, id *string, props *ResourceProps)
- func NewRestApiBase_Override(r RestApiBase, scope constructs.Construct, id *string, props *RestApiBaseProps)
- func NewRestApi_Override(r RestApi, scope constructs.Construct, id *string, props *RestApiProps)
- func NewS3ApiDefinition_Override(s S3ApiDefinition, bucket awss3.IBucket, key *string, objectVersion *string)
- func NewSpecRestApi_Override(s SpecRestApi, scope constructs.Construct, id *string, props *SpecRestApiProps)
- func NewStage_Override(s Stage, scope constructs.Construct, id *string, props *StageProps)
- func NewStepFunctionsIntegration_Override(s StepFunctionsIntegration)
- func NewStepFunctionsRestApi_Override(s StepFunctionsRestApi, scope constructs.Construct, id *string, ...)
- func NewTokenAuthorizer_Override(t TokenAuthorizer, scope constructs.Construct, id *string, ...)
- func NewUsagePlan_Override(u UsagePlan, scope constructs.Construct, id *string, props *UsagePlanProps)
- func NewVpcLink_Override(v VpcLink, scope constructs.Construct, id *string, props *VpcLinkProps)
- func ProxyResource_IsConstruct(x interface{}) *bool
- func ProxyResource_IsResource(construct constructs.IConstruct) *bool
- func RateLimitedApiKey_IsConstruct(x interface{}) *bool
- func RateLimitedApiKey_IsResource(construct constructs.IConstruct) *bool
- func RequestAuthorizer_IsAuthorizer(x interface{}) *bool
- func RequestAuthorizer_IsConstruct(x interface{}) *bool
- func RequestAuthorizer_IsResource(construct constructs.IConstruct) *bool
- func RequestValidator_IsConstruct(x interface{}) *bool
- func RequestValidator_IsResource(construct constructs.IConstruct) *bool
- func ResourceBase_IsConstruct(x interface{}) *bool
- func ResourceBase_IsResource(construct constructs.IConstruct) *bool
- func Resource_IsConstruct(x interface{}) *bool
- func Resource_IsResource(construct constructs.IConstruct) *bool
- func RestApiBase_IsConstruct(x interface{}) *bool
- func RestApiBase_IsResource(construct constructs.IConstruct) *bool
- func RestApi_IsConstruct(x interface{}) *bool
- func RestApi_IsResource(construct constructs.IConstruct) *bool
- func SpecRestApi_IsConstruct(x interface{}) *bool
- func SpecRestApi_IsResource(construct constructs.IConstruct) *bool
- func Stage_IsConstruct(x interface{}) *bool
- func Stage_IsResource(construct constructs.IConstruct) *bool
- func StepFunctionsRestApi_IsConstruct(x interface{}) *bool
- func StepFunctionsRestApi_IsResource(construct constructs.IConstruct) *bool
- func TokenAuthorizer_IsAuthorizer(x interface{}) *bool
- func TokenAuthorizer_IsConstruct(x interface{}) *bool
- func TokenAuthorizer_IsResource(construct constructs.IConstruct) *bool
- func UsagePlan_IsConstruct(x interface{}) *bool
- func UsagePlan_IsResource(construct constructs.IConstruct) *bool
- func VpcLink_IsConstruct(x interface{}) *bool
- func VpcLink_IsResource(construct constructs.IConstruct) *bool
- type AccessLogDestinationConfig
- type AccessLogField
- type AccessLogFormat
- type AddApiKeyOptions
- type ApiDefinition
- type ApiDefinitionConfig
- type ApiDefinitionS3Location
- type ApiKey
- type ApiKeyOptions
- type ApiKeyProps
- type ApiKeySourceType
- type AssetApiDefinition
- func ApiDefinition_FromAsset(file *string, options *awss3assets.AssetOptions) AssetApiDefinition
- func AssetApiDefinition_FromAsset(file *string, options *awss3assets.AssetOptions) AssetApiDefinition
- func InlineApiDefinition_FromAsset(file *string, options *awss3assets.AssetOptions) AssetApiDefinition
- func NewAssetApiDefinition(path *string, options *awss3assets.AssetOptions) AssetApiDefinition
- func S3ApiDefinition_FromAsset(file *string, options *awss3assets.AssetOptions) AssetApiDefinition
- type AuthorizationType
- type Authorizer
- type AwsIntegration
- type AwsIntegrationProps
- type BasePathMapping
- type BasePathMappingOptions
- type BasePathMappingProps
- type CfnAccount
- type CfnAccountProps
- type CfnApiKey
- type CfnApiKeyProps
- type CfnApiKey_StageKeyProperty
- type CfnAuthorizer
- type CfnAuthorizerProps
- type CfnBasePathMapping
- type CfnBasePathMappingProps
- type CfnClientCertificate
- type CfnClientCertificateProps
- type CfnDeployment
- type CfnDeploymentProps
- type CfnDeployment_AccessLogSettingProperty
- type CfnDeployment_CanarySettingProperty
- type CfnDeployment_DeploymentCanarySettingsProperty
- type CfnDeployment_MethodSettingProperty
- type CfnDeployment_StageDescriptionProperty
- type CfnDocumentationPart
- type CfnDocumentationPartProps
- type CfnDocumentationPart_LocationProperty
- type CfnDocumentationVersion
- type CfnDocumentationVersionProps
- type CfnDomainName
- type CfnDomainNameProps
- type CfnDomainName_EndpointConfigurationProperty
- type CfnDomainName_MutualTlsAuthenticationProperty
- type CfnGatewayResponse
- type CfnGatewayResponseProps
- type CfnMethod
- type CfnMethodProps
- type CfnMethod_IntegrationProperty
- type CfnMethod_IntegrationResponseProperty
- type CfnMethod_MethodResponseProperty
- type CfnModel
- type CfnModelProps
- type CfnRequestValidator
- type CfnRequestValidatorProps
- type CfnResource
- type CfnResourceProps
- type CfnRestApi
- type CfnRestApiProps
- type CfnRestApi_EndpointConfigurationProperty
- type CfnRestApi_S3LocationProperty
- type CfnStage
- type CfnStageProps
- type CfnStage_AccessLogSettingProperty
- type CfnStage_CanarySettingProperty
- type CfnStage_MethodSettingProperty
- type CfnUsagePlan
- type CfnUsagePlanKey
- type CfnUsagePlanKeyProps
- type CfnUsagePlanProps
- type CfnUsagePlan_ApiStageProperty
- type CfnUsagePlan_QuotaSettingsProperty
- type CfnUsagePlan_ThrottleSettingsProperty
- type CfnVpcLink
- type CfnVpcLinkProps
- type CognitoUserPoolsAuthorizer
- type CognitoUserPoolsAuthorizerProps
- type ConnectionType
- type ContentHandling
- type Cors
- type CorsOptions
- type Deployment
- type DeploymentProps
- type DomainName
- type DomainNameAttributes
- type DomainNameOptions
- type DomainNameProps
- type EndpointConfiguration
- type EndpointType
- type GatewayResponse
- type GatewayResponseOptions
- type GatewayResponseProps
- type HttpIntegration
- type HttpIntegrationProps
- type IAccessLogDestination
- type IApiKey
- type IAuthorizer
- type IDomainName
- type IGatewayResponse
- type IModel
- type IRequestValidator
- type IResource
- type IRestApi
- func LambdaRestApi_FromRestApiAttributes(scope constructs.Construct, id *string, attrs *RestApiAttributes) IRestApi
- func LambdaRestApi_FromRestApiId(scope constructs.Construct, id *string, restApiId *string) IRestApi
- func RestApi_FromRestApiAttributes(scope constructs.Construct, id *string, attrs *RestApiAttributes) IRestApi
- func RestApi_FromRestApiId(scope constructs.Construct, id *string, restApiId *string) IRestApi
- func StepFunctionsRestApi_FromRestApiAttributes(scope constructs.Construct, id *string, attrs *RestApiAttributes) IRestApi
- func StepFunctionsRestApi_FromRestApiId(scope constructs.Construct, id *string, restApiId *string) IRestApi
- type IStage
- type IUsagePlan
- type IVpcLink
- type IdentitySource
- type InlineApiDefinition
- func ApiDefinition_FromInline(definition interface{}) InlineApiDefinition
- func AssetApiDefinition_FromInline(definition interface{}) InlineApiDefinition
- func InlineApiDefinition_FromInline(definition interface{}) InlineApiDefinition
- func NewInlineApiDefinition(definition interface{}) InlineApiDefinition
- func S3ApiDefinition_FromInline(definition interface{}) InlineApiDefinition
- type Integration
- type IntegrationConfig
- type IntegrationOptions
- type IntegrationProps
- type IntegrationResponse
- type IntegrationType
- type JsonSchema
- type JsonSchemaType
- type JsonSchemaVersion
- type JsonWithStandardFieldProps
- type LambdaAuthorizerProps
- type LambdaIntegration
- type LambdaIntegrationOptions
- type LambdaRestApi
- type LambdaRestApiProps
- type LogGroupLogDestination
- type MTLSConfig
- type Method
- type MethodDeploymentOptions
- type MethodLoggingLevel
- type MethodOptions
- type MethodProps
- type MethodResponse
- type MockIntegration
- type Model
- type ModelOptions
- type ModelProps
- type PassthroughBehavior
- type Period
- type ProxyResource
- type ProxyResourceOptions
- type ProxyResourceProps
- type QuotaSettings
- type RateLimitedApiKey
- type RateLimitedApiKeyProps
- type RequestAuthorizer
- type RequestAuthorizerProps
- type RequestContext
- type RequestValidator
- type RequestValidatorOptions
- type RequestValidatorProps
- type Resource
- type ResourceAttributes
- type ResourceBase
- type ResourceOptions
- type ResourceProps
- type ResponseType
- func ResponseType_ACCESS_DENIED() ResponseType
- func ResponseType_API_CONFIGURATION_ERROR() ResponseType
- func ResponseType_AUTHORIZER_CONFIGURATION_ERROR() ResponseType
- func ResponseType_AUTHORIZER_FAILURE() ResponseType
- func ResponseType_BAD_REQUEST_BODY() ResponseType
- func ResponseType_BAD_REQUEST_PARAMETERS() ResponseType
- func ResponseType_DEFAULT_4XX() ResponseType
- func ResponseType_DEFAULT_5XX() ResponseType
- func ResponseType_EXPIRED_TOKEN() ResponseType
- func ResponseType_INTEGRATION_FAILURE() ResponseType
- func ResponseType_INTEGRATION_TIMEOUT() ResponseType
- func ResponseType_INVALID_API_KEY() ResponseType
- func ResponseType_INVALID_SIGNATURE() ResponseType
- func ResponseType_MISSING_AUTHENTICATION_TOKEN() ResponseType
- func ResponseType_Of(type_ *string) ResponseType
- func ResponseType_QUOTA_EXCEEDED() ResponseType
- func ResponseType_REQUEST_TOO_LARGE() ResponseType
- func ResponseType_RESOURCE_NOT_FOUND() ResponseType
- func ResponseType_THROTTLED() ResponseType
- func ResponseType_UNAUTHORIZED() ResponseType
- func ResponseType_UNSUPPORTED_MEDIA_TYPE() ResponseType
- func ResponseType_WAF_FILTERED() ResponseType
- type RestApi
- type RestApiAttributes
- type RestApiBase
- type RestApiBaseProps
- type RestApiProps
- type S3ApiDefinition
- func ApiDefinition_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
- func AssetApiDefinition_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
- func InlineApiDefinition_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
- func NewS3ApiDefinition(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
- func S3ApiDefinition_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
- type SecurityPolicy
- type SpecRestApi
- type SpecRestApiProps
- type Stage
- type StageOptions
- type StageProps
- type StepFunctionsExecutionIntegrationOptions
- type StepFunctionsIntegration
- type StepFunctionsRestApi
- type StepFunctionsRestApiProps
- type ThrottleSettings
- type ThrottlingPerMethod
- type TokenAuthorizer
- type TokenAuthorizerProps
- type UsagePlan
- type UsagePlanPerApiStage
- type UsagePlanProps
- type VpcLink
- type VpcLinkProps
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AccessLogField_ContextAccountId ¶
func AccessLogField_ContextAccountId() *string
The API owner's AWS account ID.
func AccessLogField_ContextApiId ¶
func AccessLogField_ContextApiId() *string
The identifier API Gateway assigns to your API.
func AccessLogField_ContextAuthorizer ¶
The stringified value of the specified key-value pair of the `context` map returned from an API Gateway Lambda authorizer function. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html
func AccessLogField_ContextAuthorizerClaims ¶
A property of the claims returned from the Amazon Cognito user pool after the method caller is successfully authenticated. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html
func AccessLogField_ContextAuthorizerIntegrationLatency ¶
func AccessLogField_ContextAuthorizerIntegrationLatency() *string
The authorizer latency in ms.
func AccessLogField_ContextAuthorizerPrincipalId ¶
func AccessLogField_ContextAuthorizerPrincipalId() *string
The principal user identification associated with the token sent by the client and returned from an API Gateway Lambda authorizer (formerly known as a custom authorizer). See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html
func AccessLogField_ContextAwsEndpointRequestId ¶
func AccessLogField_ContextAwsEndpointRequestId() *string
The AWS endpoint's request ID.
func AccessLogField_ContextDomainName ¶
func AccessLogField_ContextDomainName() *string
The full domain name used to invoke the API.
This should be the same as the incoming `Host` header.
func AccessLogField_ContextDomainPrefix ¶
func AccessLogField_ContextDomainPrefix() *string
The first label of the `$context.domainName`. This is often used as a caller/customer identifier.
func AccessLogField_ContextErrorMessage ¶
func AccessLogField_ContextErrorMessage() *string
A string containing an API Gateway error message.
func AccessLogField_ContextErrorMessageString ¶
func AccessLogField_ContextErrorMessageString() *string
The quoted value of $context.error.message, namely "$context.error.message".
func AccessLogField_ContextErrorResponseType ¶
func AccessLogField_ContextErrorResponseType() *string
A type of GatewayResponse.
This variable can only be used for simple variable substitution in a GatewayResponse body-mapping template, which is not processed by the Velocity Template Language engine, and in access logging. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html
func AccessLogField_ContextErrorValidationErrorString ¶
func AccessLogField_ContextErrorValidationErrorString() *string
A string containing a detailed validation error message.
func AccessLogField_ContextExtendedRequestId ¶
func AccessLogField_ContextExtendedRequestId() *string
The extended ID that API Gateway assigns to the API request, which contains more useful information for debugging/troubleshooting.
func AccessLogField_ContextHttpMethod ¶
func AccessLogField_ContextHttpMethod() *string
The HTTP method used.
Valid values include: `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, and `PUT`.
func AccessLogField_ContextIdentityAccountId ¶
func AccessLogField_ContextIdentityAccountId() *string
The AWS account ID associated with the request.
func AccessLogField_ContextIdentityApiKey ¶
func AccessLogField_ContextIdentityApiKey() *string
For API methods that require an API key, this variable is the API key associated with the method request.
For methods that don't require an API key, this variable is See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html
func AccessLogField_ContextIdentityApiKeyId ¶
func AccessLogField_ContextIdentityApiKeyId() *string
The API key ID associated with an API request that requires an API key.
func AccessLogField_ContextIdentityCaller ¶
func AccessLogField_ContextIdentityCaller() *string
The principal identifier of the caller making the request.
func AccessLogField_ContextIdentityCognitoAuthenticationProvider ¶
func AccessLogField_ContextIdentityCognitoAuthenticationProvider() *string
The Amazon Cognito authentication provider used by the caller making the request.
Available only if the request was signed with Amazon Cognito credentials. See: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html
func AccessLogField_ContextIdentityCognitoAuthenticationType ¶
func AccessLogField_ContextIdentityCognitoAuthenticationType() *string
The Amazon Cognito authentication type of the caller making the request.
Available only if the request was signed with Amazon Cognito credentials.
func AccessLogField_ContextIdentityCognitoIdentityId ¶
func AccessLogField_ContextIdentityCognitoIdentityId() *string
The Amazon Cognito identity ID of the caller making the request.
Available only if the request was signed with Amazon Cognito credentials.
func AccessLogField_ContextIdentityCognitoIdentityPoolId ¶
func AccessLogField_ContextIdentityCognitoIdentityPoolId() *string
The Amazon Cognito identity pool ID of the caller making the request.
Available only if the request was signed with Amazon Cognito credentials.
func AccessLogField_ContextIdentityPrincipalOrgId ¶
func AccessLogField_ContextIdentityPrincipalOrgId() *string
The AWS organization ID.
func AccessLogField_ContextIdentitySourceIp ¶
func AccessLogField_ContextIdentitySourceIp() *string
The source IP address of the TCP connection making the request to API Gateway.
Warning: You should not trust this value if there is any chance that the `X-Forwarded-For` header could be forged.
func AccessLogField_ContextIdentityUser ¶
func AccessLogField_ContextIdentityUser() *string
The principal identifier of the user making the request.
Used in Lambda authorizers. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-output.html
func AccessLogField_ContextIdentityUserAgent ¶
func AccessLogField_ContextIdentityUserAgent() *string
The User-Agent header of the API caller.
func AccessLogField_ContextIdentityUserArn ¶
func AccessLogField_ContextIdentityUserArn() *string
The Amazon Resource Name (ARN) of the effective user identified after authentication. See: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html
func AccessLogField_ContextIntegrationLatency ¶
func AccessLogField_ContextIntegrationLatency() *string
The integration latency in ms.
func AccessLogField_ContextIntegrationStatus ¶
func AccessLogField_ContextIntegrationStatus() *string
For Lambda proxy integration, this parameter represents the status code returned from AWS Lambda, not from the backend Lambda function.
func AccessLogField_ContextPath ¶
func AccessLogField_ContextPath() *string
The request path.
For example, for a non-proxy request URL of https://{rest-api-id.execute-api.{region}.amazonaws.com/{stage}/root/child, this value is /{stage}/root/child.
func AccessLogField_ContextProtocol ¶
func AccessLogField_ContextProtocol() *string
The request protocol, for example, HTTP/1.1.
func AccessLogField_ContextRequestId ¶
func AccessLogField_ContextRequestId() *string
The ID that API Gateway assigns to the API request.
func AccessLogField_ContextRequestOverrideHeader ¶
The request header override.
If this parameter is defined, it contains the headers to be used instead of the HTTP Headers that are defined in the Integration Request pane. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-override-request-response-parameters.html
func AccessLogField_ContextRequestOverridePath ¶
The request path override.
If this parameter is defined, it contains the request path to be used instead of the URL Path Parameters that are defined in the Integration Request pane. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-override-request-response-parameters.html
func AccessLogField_ContextRequestOverrideQuerystring ¶
The request query string override.
If this parameter is defined, it contains the request query strings to be used instead of the URL Query String Parameters that are defined in the Integration Request pane.
func AccessLogField_ContextRequestTime ¶
func AccessLogField_ContextRequestTime() *string
The CLF-formatted request time (dd/MMM/yyyy:HH:mm:ss +-hhmm).
func AccessLogField_ContextRequestTimeEpoch ¶
func AccessLogField_ContextRequestTimeEpoch() *string
The Epoch-formatted request time.
func AccessLogField_ContextResourceId ¶
func AccessLogField_ContextResourceId() *string
The identifier that API Gateway assigns to your resource.
func AccessLogField_ContextResourcePath ¶
func AccessLogField_ContextResourcePath() *string
The path to your resource.
For example, for the non-proxy request URI of `https://{rest-api-id.execute-api.{region}.amazonaws.com/{stage}/root/child`, The $context.resourcePath value is `/root/child`. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-step-by-step.html
func AccessLogField_ContextResponseLatency ¶
func AccessLogField_ContextResponseLatency() *string
The response latency in ms.
func AccessLogField_ContextResponseLength ¶
func AccessLogField_ContextResponseLength() *string
The response payload length.
func AccessLogField_ContextResponseOverrideHeader ¶
The response header override.
If this parameter is defined, it contains the header to be returned instead of the Response header that is defined as the Default mapping in the Integration Response pane. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-override-request-response-parameters.html
func AccessLogField_ContextResponseOverrideStatus ¶
func AccessLogField_ContextResponseOverrideStatus() *string
The response status code override.
If this parameter is defined, it contains the status code to be returned instead of the Method response status that is defined as the Default mapping in the Integration Response pane. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-override-request-response-parameters.html
func AccessLogField_ContextStage ¶
func AccessLogField_ContextStage() *string
The deployment stage of the API request (for example, `Beta` or `Prod`).
func AccessLogField_ContextStatus ¶
func AccessLogField_ContextStatus() *string
The method response status.
func AccessLogField_ContextWafResponseCode ¶
func AccessLogField_ContextWafResponseCode() *string
The response received from AWS WAF: `WAF_ALLOW` or `WAF_BLOCK`.
Will not be set if the stage is not associated with a web ACL. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-aws-waf.html
func AccessLogField_ContextWebaclArn ¶
func AccessLogField_ContextWebaclArn() *string
The complete ARN of the web ACL that is used to decide whether to allow or block the request.
Will not be set if the stage is not associated with a web ACL. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-aws-waf.html
func AccessLogField_ContextXrayTraceId ¶
func AccessLogField_ContextXrayTraceId() *string
The trace ID for the X-Ray trace. See: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-enabling-xray.html
func ApiKey_IsConstruct ¶
func ApiKey_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func ApiKey_IsResource ¶
func ApiKey_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Authorizer_IsAuthorizer ¶
func Authorizer_IsAuthorizer(x interface{}) *bool
Return whether the given object is an Authorizer.
func Authorizer_IsConstruct ¶
func Authorizer_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Authorizer_IsResource ¶
func Authorizer_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func BasePathMapping_IsConstruct ¶
func BasePathMapping_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func BasePathMapping_IsResource ¶
func BasePathMapping_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func CfnAccount_CFN_RESOURCE_TYPE_NAME ¶
func CfnAccount_CFN_RESOURCE_TYPE_NAME() *string
func CfnAccount_IsCfnElement ¶
func CfnAccount_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnAccount_IsCfnResource ¶
func CfnAccount_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnAccount_IsConstruct ¶
func CfnAccount_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnApiKey_CFN_RESOURCE_TYPE_NAME ¶
func CfnApiKey_CFN_RESOURCE_TYPE_NAME() *string
func CfnApiKey_IsCfnElement ¶
func CfnApiKey_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnApiKey_IsCfnResource ¶
func CfnApiKey_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnApiKey_IsConstruct ¶
func CfnApiKey_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnAuthorizer_CFN_RESOURCE_TYPE_NAME ¶
func CfnAuthorizer_CFN_RESOURCE_TYPE_NAME() *string
func CfnAuthorizer_IsCfnElement ¶
func CfnAuthorizer_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnAuthorizer_IsCfnResource ¶
func CfnAuthorizer_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnAuthorizer_IsConstruct ¶
func CfnAuthorizer_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnBasePathMapping_CFN_RESOURCE_TYPE_NAME ¶
func CfnBasePathMapping_CFN_RESOURCE_TYPE_NAME() *string
func CfnBasePathMapping_IsCfnElement ¶
func CfnBasePathMapping_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnBasePathMapping_IsCfnResource ¶
func CfnBasePathMapping_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnBasePathMapping_IsConstruct ¶
func CfnBasePathMapping_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnClientCertificate_CFN_RESOURCE_TYPE_NAME ¶
func CfnClientCertificate_CFN_RESOURCE_TYPE_NAME() *string
func CfnClientCertificate_IsCfnElement ¶
func CfnClientCertificate_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnClientCertificate_IsCfnResource ¶
func CfnClientCertificate_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnClientCertificate_IsConstruct ¶
func CfnClientCertificate_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnDeployment_CFN_RESOURCE_TYPE_NAME ¶
func CfnDeployment_CFN_RESOURCE_TYPE_NAME() *string
func CfnDeployment_IsCfnElement ¶
func CfnDeployment_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDeployment_IsCfnResource ¶
func CfnDeployment_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDeployment_IsConstruct ¶
func CfnDeployment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnDocumentationPart_CFN_RESOURCE_TYPE_NAME ¶
func CfnDocumentationPart_CFN_RESOURCE_TYPE_NAME() *string
func CfnDocumentationPart_IsCfnElement ¶
func CfnDocumentationPart_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDocumentationPart_IsCfnResource ¶
func CfnDocumentationPart_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDocumentationPart_IsConstruct ¶
func CfnDocumentationPart_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnDocumentationVersion_CFN_RESOURCE_TYPE_NAME ¶
func CfnDocumentationVersion_CFN_RESOURCE_TYPE_NAME() *string
func CfnDocumentationVersion_IsCfnElement ¶
func CfnDocumentationVersion_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDocumentationVersion_IsCfnResource ¶
func CfnDocumentationVersion_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDocumentationVersion_IsConstruct ¶
func CfnDocumentationVersion_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnDomainName_CFN_RESOURCE_TYPE_NAME ¶
func CfnDomainName_CFN_RESOURCE_TYPE_NAME() *string
func CfnDomainName_IsCfnElement ¶
func CfnDomainName_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnDomainName_IsCfnResource ¶
func CfnDomainName_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnDomainName_IsConstruct ¶
func CfnDomainName_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnGatewayResponse_CFN_RESOURCE_TYPE_NAME ¶
func CfnGatewayResponse_CFN_RESOURCE_TYPE_NAME() *string
func CfnGatewayResponse_IsCfnElement ¶
func CfnGatewayResponse_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnGatewayResponse_IsCfnResource ¶
func CfnGatewayResponse_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnGatewayResponse_IsConstruct ¶
func CfnGatewayResponse_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnMethod_CFN_RESOURCE_TYPE_NAME ¶
func CfnMethod_CFN_RESOURCE_TYPE_NAME() *string
func CfnMethod_IsCfnElement ¶
func CfnMethod_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnMethod_IsCfnResource ¶
func CfnMethod_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnMethod_IsConstruct ¶
func CfnMethod_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnModel_CFN_RESOURCE_TYPE_NAME ¶
func CfnModel_CFN_RESOURCE_TYPE_NAME() *string
func CfnModel_IsCfnElement ¶
func CfnModel_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnModel_IsCfnResource ¶
func CfnModel_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnModel_IsConstruct ¶
func CfnModel_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnRequestValidator_CFN_RESOURCE_TYPE_NAME ¶
func CfnRequestValidator_CFN_RESOURCE_TYPE_NAME() *string
func CfnRequestValidator_IsCfnElement ¶
func CfnRequestValidator_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnRequestValidator_IsCfnResource ¶
func CfnRequestValidator_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnRequestValidator_IsConstruct ¶
func CfnRequestValidator_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnResource_CFN_RESOURCE_TYPE_NAME ¶
func CfnResource_CFN_RESOURCE_TYPE_NAME() *string
func CfnResource_IsCfnElement ¶
func CfnResource_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnResource_IsCfnResource ¶
func CfnResource_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnResource_IsConstruct ¶
func CfnResource_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnRestApi_CFN_RESOURCE_TYPE_NAME ¶
func CfnRestApi_CFN_RESOURCE_TYPE_NAME() *string
func CfnRestApi_IsCfnElement ¶
func CfnRestApi_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnRestApi_IsCfnResource ¶
func CfnRestApi_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnRestApi_IsConstruct ¶
func CfnRestApi_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnStage_CFN_RESOURCE_TYPE_NAME ¶
func CfnStage_CFN_RESOURCE_TYPE_NAME() *string
func CfnStage_IsCfnElement ¶
func CfnStage_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnStage_IsCfnResource ¶
func CfnStage_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnStage_IsConstruct ¶
func CfnStage_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnUsagePlanKey_CFN_RESOURCE_TYPE_NAME ¶
func CfnUsagePlanKey_CFN_RESOURCE_TYPE_NAME() *string
func CfnUsagePlanKey_IsCfnElement ¶
func CfnUsagePlanKey_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnUsagePlanKey_IsCfnResource ¶
func CfnUsagePlanKey_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnUsagePlanKey_IsConstruct ¶
func CfnUsagePlanKey_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnUsagePlan_CFN_RESOURCE_TYPE_NAME ¶
func CfnUsagePlan_CFN_RESOURCE_TYPE_NAME() *string
func CfnUsagePlan_IsCfnElement ¶
func CfnUsagePlan_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnUsagePlan_IsCfnResource ¶
func CfnUsagePlan_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnUsagePlan_IsConstruct ¶
func CfnUsagePlan_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CfnVpcLink_CFN_RESOURCE_TYPE_NAME ¶
func CfnVpcLink_CFN_RESOURCE_TYPE_NAME() *string
func CfnVpcLink_IsCfnElement ¶
func CfnVpcLink_IsCfnElement(x interface{}) *bool
Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).
Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.
Returns: The construct as a stack element or undefined if it is not a stack element.
func CfnVpcLink_IsCfnResource ¶
func CfnVpcLink_IsCfnResource(construct constructs.IConstruct) *bool
Check whether the given construct is a CfnResource.
func CfnVpcLink_IsConstruct ¶
func CfnVpcLink_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CognitoUserPoolsAuthorizer_IsAuthorizer ¶
func CognitoUserPoolsAuthorizer_IsAuthorizer(x interface{}) *bool
Return whether the given object is an Authorizer.
func CognitoUserPoolsAuthorizer_IsConstruct ¶
func CognitoUserPoolsAuthorizer_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func CognitoUserPoolsAuthorizer_IsResource ¶
func CognitoUserPoolsAuthorizer_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Cors_ALL_METHODS ¶
func Cors_ALL_METHODS() *[]*string
func Cors_ALL_ORIGINS ¶
func Cors_ALL_ORIGINS() *[]*string
func Cors_DEFAULT_HEADERS ¶
func Cors_DEFAULT_HEADERS() *[]*string
func Deployment_IsConstruct ¶
func Deployment_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Deployment_IsResource ¶
func Deployment_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func DomainName_IsConstruct ¶
func DomainName_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func DomainName_IsResource ¶
func DomainName_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func GatewayResponse_IsConstruct ¶
func GatewayResponse_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func GatewayResponse_IsResource ¶
func GatewayResponse_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func IdentitySource_Context ¶
Provides a properly formatted request context identity source.
Returns: a request context identity source.
func IdentitySource_Header ¶
Provides a properly formatted header identity source.
Returns: a header identity source.
func IdentitySource_QueryString ¶
Provides a properly formatted query string identity source.
Returns: a query string identity source.
func IdentitySource_StageVariable ¶
Provides a properly formatted API Gateway stage variable identity source.
Returns: an API Gateway stage variable identity source.
func LambdaRestApi_IsConstruct ¶
func LambdaRestApi_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func LambdaRestApi_IsResource ¶
func LambdaRestApi_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Method_IsConstruct ¶
func Method_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Method_IsResource ¶
func Method_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Model_IsConstruct ¶
func Model_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Model_IsResource ¶
func Model_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func NewAccessLogField_Override ¶
func NewAccessLogField_Override(a AccessLogField)
func NewApiDefinition_Override ¶
func NewApiDefinition_Override(a ApiDefinition)
func NewApiKey_Override ¶
func NewApiKey_Override(a ApiKey, scope constructs.Construct, id *string, props *ApiKeyProps)
func NewAssetApiDefinition_Override ¶
func NewAssetApiDefinition_Override(a AssetApiDefinition, path *string, options *awss3assets.AssetOptions)
func NewAuthorizer_Override ¶
func NewAuthorizer_Override(a Authorizer, scope constructs.Construct, id *string, props *awscdk.ResourceProps)
func NewAwsIntegration_Override ¶
func NewAwsIntegration_Override(a AwsIntegration, props *AwsIntegrationProps)
func NewBasePathMapping_Override ¶
func NewBasePathMapping_Override(b BasePathMapping, scope constructs.Construct, id *string, props *BasePathMappingProps)
func NewCfnAccount_Override ¶
func NewCfnAccount_Override(c CfnAccount, scope constructs.Construct, id *string, props *CfnAccountProps)
Create a new `AWS::ApiGateway::Account`.
func NewCfnApiKey_Override ¶
func NewCfnApiKey_Override(c CfnApiKey, scope constructs.Construct, id *string, props *CfnApiKeyProps)
Create a new `AWS::ApiGateway::ApiKey`.
func NewCfnAuthorizer_Override ¶
func NewCfnAuthorizer_Override(c CfnAuthorizer, scope constructs.Construct, id *string, props *CfnAuthorizerProps)
Create a new `AWS::ApiGateway::Authorizer`.
func NewCfnBasePathMapping_Override ¶
func NewCfnBasePathMapping_Override(c CfnBasePathMapping, scope constructs.Construct, id *string, props *CfnBasePathMappingProps)
Create a new `AWS::ApiGateway::BasePathMapping`.
func NewCfnClientCertificate_Override ¶
func NewCfnClientCertificate_Override(c CfnClientCertificate, scope constructs.Construct, id *string, props *CfnClientCertificateProps)
Create a new `AWS::ApiGateway::ClientCertificate`.
func NewCfnDeployment_Override ¶
func NewCfnDeployment_Override(c CfnDeployment, scope constructs.Construct, id *string, props *CfnDeploymentProps)
Create a new `AWS::ApiGateway::Deployment`.
func NewCfnDocumentationPart_Override ¶
func NewCfnDocumentationPart_Override(c CfnDocumentationPart, scope constructs.Construct, id *string, props *CfnDocumentationPartProps)
Create a new `AWS::ApiGateway::DocumentationPart`.
func NewCfnDocumentationVersion_Override ¶
func NewCfnDocumentationVersion_Override(c CfnDocumentationVersion, scope constructs.Construct, id *string, props *CfnDocumentationVersionProps)
Create a new `AWS::ApiGateway::DocumentationVersion`.
func NewCfnDomainName_Override ¶
func NewCfnDomainName_Override(c CfnDomainName, scope constructs.Construct, id *string, props *CfnDomainNameProps)
Create a new `AWS::ApiGateway::DomainName`.
func NewCfnGatewayResponse_Override ¶
func NewCfnGatewayResponse_Override(c CfnGatewayResponse, scope constructs.Construct, id *string, props *CfnGatewayResponseProps)
Create a new `AWS::ApiGateway::GatewayResponse`.
func NewCfnMethod_Override ¶
func NewCfnMethod_Override(c CfnMethod, scope constructs.Construct, id *string, props *CfnMethodProps)
Create a new `AWS::ApiGateway::Method`.
func NewCfnModel_Override ¶
func NewCfnModel_Override(c CfnModel, scope constructs.Construct, id *string, props *CfnModelProps)
Create a new `AWS::ApiGateway::Model`.
func NewCfnRequestValidator_Override ¶
func NewCfnRequestValidator_Override(c CfnRequestValidator, scope constructs.Construct, id *string, props *CfnRequestValidatorProps)
Create a new `AWS::ApiGateway::RequestValidator`.
func NewCfnResource_Override ¶
func NewCfnResource_Override(c CfnResource, scope constructs.Construct, id *string, props *CfnResourceProps)
Create a new `AWS::ApiGateway::Resource`.
func NewCfnRestApi_Override ¶
func NewCfnRestApi_Override(c CfnRestApi, scope constructs.Construct, id *string, props *CfnRestApiProps)
Create a new `AWS::ApiGateway::RestApi`.
func NewCfnStage_Override ¶
func NewCfnStage_Override(c CfnStage, scope constructs.Construct, id *string, props *CfnStageProps)
Create a new `AWS::ApiGateway::Stage`.
func NewCfnUsagePlanKey_Override ¶
func NewCfnUsagePlanKey_Override(c CfnUsagePlanKey, scope constructs.Construct, id *string, props *CfnUsagePlanKeyProps)
Create a new `AWS::ApiGateway::UsagePlanKey`.
func NewCfnUsagePlan_Override ¶
func NewCfnUsagePlan_Override(c CfnUsagePlan, scope constructs.Construct, id *string, props *CfnUsagePlanProps)
Create a new `AWS::ApiGateway::UsagePlan`.
func NewCfnVpcLink_Override ¶
func NewCfnVpcLink_Override(c CfnVpcLink, scope constructs.Construct, id *string, props *CfnVpcLinkProps)
Create a new `AWS::ApiGateway::VpcLink`.
func NewCognitoUserPoolsAuthorizer_Override ¶
func NewCognitoUserPoolsAuthorizer_Override(c CognitoUserPoolsAuthorizer, scope constructs.Construct, id *string, props *CognitoUserPoolsAuthorizerProps)
func NewDeployment_Override ¶
func NewDeployment_Override(d Deployment, scope constructs.Construct, id *string, props *DeploymentProps)
func NewDomainName_Override ¶
func NewDomainName_Override(d DomainName, scope constructs.Construct, id *string, props *DomainNameProps)
func NewGatewayResponse_Override ¶
func NewGatewayResponse_Override(g GatewayResponse, scope constructs.Construct, id *string, props *GatewayResponseProps)
func NewHttpIntegration_Override ¶
func NewHttpIntegration_Override(h HttpIntegration, url *string, props *HttpIntegrationProps)
func NewIdentitySource_Override ¶
func NewIdentitySource_Override(i IdentitySource)
func NewInlineApiDefinition_Override ¶
func NewInlineApiDefinition_Override(i InlineApiDefinition, definition interface{})
func NewIntegration_Override ¶
func NewIntegration_Override(i Integration, props *IntegrationProps)
func NewLambdaIntegration_Override ¶
func NewLambdaIntegration_Override(l LambdaIntegration, handler awslambda.IFunction, options *LambdaIntegrationOptions)
func NewLambdaRestApi_Override ¶
func NewLambdaRestApi_Override(l LambdaRestApi, scope constructs.Construct, id *string, props *LambdaRestApiProps)
func NewLogGroupLogDestination_Override ¶
func NewLogGroupLogDestination_Override(l LogGroupLogDestination, logGroup awslogs.ILogGroup)
func NewMethod_Override ¶
func NewMethod_Override(m Method, scope constructs.Construct, id *string, props *MethodProps)
func NewMockIntegration_Override ¶
func NewMockIntegration_Override(m MockIntegration, options *IntegrationOptions)
func NewModel_Override ¶
func NewModel_Override(m Model, scope constructs.Construct, id *string, props *ModelProps)
func NewProxyResource_Override ¶
func NewProxyResource_Override(p ProxyResource, scope constructs.Construct, id *string, props *ProxyResourceProps)
func NewRateLimitedApiKey_Override ¶
func NewRateLimitedApiKey_Override(r RateLimitedApiKey, scope constructs.Construct, id *string, props *RateLimitedApiKeyProps)
func NewRequestAuthorizer_Override ¶
func NewRequestAuthorizer_Override(r RequestAuthorizer, scope constructs.Construct, id *string, props *RequestAuthorizerProps)
func NewRequestValidator_Override ¶
func NewRequestValidator_Override(r RequestValidator, scope constructs.Construct, id *string, props *RequestValidatorProps)
func NewResourceBase_Override ¶
func NewResourceBase_Override(r ResourceBase, scope constructs.Construct, id *string)
func NewResource_Override ¶
func NewResource_Override(r Resource, scope constructs.Construct, id *string, props *ResourceProps)
func NewRestApiBase_Override ¶
func NewRestApiBase_Override(r RestApiBase, scope constructs.Construct, id *string, props *RestApiBaseProps)
func NewRestApi_Override ¶
func NewRestApi_Override(r RestApi, scope constructs.Construct, id *string, props *RestApiProps)
func NewS3ApiDefinition_Override ¶
func NewS3ApiDefinition_Override(s S3ApiDefinition, bucket awss3.IBucket, key *string, objectVersion *string)
func NewSpecRestApi_Override ¶
func NewSpecRestApi_Override(s SpecRestApi, scope constructs.Construct, id *string, props *SpecRestApiProps)
func NewStage_Override ¶
func NewStage_Override(s Stage, scope constructs.Construct, id *string, props *StageProps)
func NewStepFunctionsIntegration_Override ¶ added in v2.1.0
func NewStepFunctionsIntegration_Override(s StepFunctionsIntegration)
func NewStepFunctionsRestApi_Override ¶ added in v2.1.0
func NewStepFunctionsRestApi_Override(s StepFunctionsRestApi, scope constructs.Construct, id *string, props *StepFunctionsRestApiProps)
func NewTokenAuthorizer_Override ¶
func NewTokenAuthorizer_Override(t TokenAuthorizer, scope constructs.Construct, id *string, props *TokenAuthorizerProps)
func NewUsagePlan_Override ¶
func NewUsagePlan_Override(u UsagePlan, scope constructs.Construct, id *string, props *UsagePlanProps)
func NewVpcLink_Override ¶
func NewVpcLink_Override(v VpcLink, scope constructs.Construct, id *string, props *VpcLinkProps)
func ProxyResource_IsConstruct ¶
func ProxyResource_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func ProxyResource_IsResource ¶
func ProxyResource_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func RateLimitedApiKey_IsConstruct ¶
func RateLimitedApiKey_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func RateLimitedApiKey_IsResource ¶
func RateLimitedApiKey_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func RequestAuthorizer_IsAuthorizer ¶
func RequestAuthorizer_IsAuthorizer(x interface{}) *bool
Return whether the given object is an Authorizer.
func RequestAuthorizer_IsConstruct ¶
func RequestAuthorizer_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func RequestAuthorizer_IsResource ¶
func RequestAuthorizer_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func RequestValidator_IsConstruct ¶
func RequestValidator_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func RequestValidator_IsResource ¶
func RequestValidator_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func ResourceBase_IsConstruct ¶
func ResourceBase_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func ResourceBase_IsResource ¶
func ResourceBase_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Resource_IsConstruct ¶
func Resource_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Resource_IsResource ¶
func Resource_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func RestApiBase_IsConstruct ¶
func RestApiBase_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func RestApiBase_IsResource ¶
func RestApiBase_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func RestApi_IsConstruct ¶
func RestApi_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func RestApi_IsResource ¶
func RestApi_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func SpecRestApi_IsConstruct ¶
func SpecRestApi_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func SpecRestApi_IsResource ¶
func SpecRestApi_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func Stage_IsConstruct ¶
func Stage_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func Stage_IsResource ¶
func Stage_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func StepFunctionsRestApi_IsConstruct ¶ added in v2.1.0
func StepFunctionsRestApi_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func StepFunctionsRestApi_IsResource ¶ added in v2.1.0
func StepFunctionsRestApi_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func TokenAuthorizer_IsAuthorizer ¶
func TokenAuthorizer_IsAuthorizer(x interface{}) *bool
Return whether the given object is an Authorizer.
func TokenAuthorizer_IsConstruct ¶
func TokenAuthorizer_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func TokenAuthorizer_IsResource ¶
func TokenAuthorizer_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func UsagePlan_IsConstruct ¶
func UsagePlan_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func UsagePlan_IsResource ¶
func UsagePlan_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
func VpcLink_IsConstruct ¶
func VpcLink_IsConstruct(x interface{}) *bool
Checks if `x` is a construct.
Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead
func VpcLink_IsResource ¶
func VpcLink_IsResource(construct constructs.IConstruct) *bool
Check whether the given construct is a Resource.
Types ¶
type AccessLogDestinationConfig ¶
type AccessLogDestinationConfig struct { // The Amazon Resource Name (ARN) of the destination resource. DestinationArn *string `json:"destinationArn" yaml:"destinationArn"` }
Options when binding a log destination to a RestApi Stage.
TODO: EXAMPLE
type AccessLogField ¶
type AccessLogField interface { }
$context variables that can be used to customize access log pattern.
TODO: EXAMPLE
func NewAccessLogField ¶
func NewAccessLogField() AccessLogField
type AccessLogFormat ¶
type AccessLogFormat interface {
ToString() *string
}
factory methods for access log format.
TODO: EXAMPLE
func AccessLogFormat_Custom ¶
func AccessLogFormat_Custom(format *string) AccessLogFormat
Custom log format.
You can create any log format string. You can easily get the $ context variable by using the methods of AccessLogField.
TODO: EXAMPLE
func AccessLogFormat_JsonWithStandardFields ¶
func AccessLogFormat_JsonWithStandardFields(fields *JsonWithStandardFieldProps) AccessLogFormat
Access log will be produced in the JSON format with a set of fields most useful in the access log.
All fields are turned on by default with the option to turn off specific fields.
type AddApiKeyOptions ¶
type AddApiKeyOptions struct { // Override the CloudFormation logical id of the AWS::ApiGateway::UsagePlanKey resource. OverrideLogicalId *string `json:"overrideLogicalId" yaml:"overrideLogicalId"` }
Options to the UsagePlan.addApiKey() method.
TODO: EXAMPLE
type ApiDefinition ¶
type ApiDefinition interface { Bind(scope constructs.Construct) *ApiDefinitionConfig BindAfterCreate(_scope constructs.Construct, _restApi IRestApi) }
Represents an OpenAPI definition asset.
TODO: EXAMPLE
type ApiDefinitionConfig ¶
type ApiDefinitionConfig struct { // Inline specification (mutually exclusive with `s3Location`). InlineDefinition interface{} `json:"inlineDefinition" yaml:"inlineDefinition"` // The location of the specification in S3 (mutually exclusive with `inlineDefinition`). S3Location *ApiDefinitionS3Location `json:"s3Location" yaml:"s3Location"` }
Post-Binding Configuration for a CDK construct.
TODO: EXAMPLE
type ApiDefinitionS3Location ¶
type ApiDefinitionS3Location struct { // The S3 bucket. Bucket *string `json:"bucket" yaml:"bucket"` // The S3 key. Key *string `json:"key" yaml:"key"` // An optional version. Version *string `json:"version" yaml:"version"` }
S3 location of the API definition file.
TODO: EXAMPLE
type ApiKey ¶
type ApiKey interface { awscdk.Resource IApiKey Env() *awscdk.ResourceEnvironment KeyArn() *string KeyId() *string Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string GrantRead(grantee awsiam.IGrantable) awsiam.Grant GrantReadWrite(grantee awsiam.IGrantable) awsiam.Grant GrantWrite(grantee awsiam.IGrantable) awsiam.Grant ToString() *string }
An API Gateway ApiKey.
An ApiKey can be distributed to API clients that are executing requests for Method resources that require an Api Key.
TODO: EXAMPLE
func NewApiKey ¶
func NewApiKey(scope constructs.Construct, id *string, props *ApiKeyProps) ApiKey
type ApiKeyOptions ¶
type ApiKeyOptions struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // A name for the API key. // // If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name. ApiKeyName *string `json:"apiKeyName" yaml:"apiKeyName"` // A description of the purpose of the API key. Description *string `json:"description" yaml:"description"` // The value of the API key. // // Must be at least 20 characters long. Value *string `json:"value" yaml:"value"` }
The options for creating an API Key.
TODO: EXAMPLE
type ApiKeyProps ¶
type ApiKeyProps struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // A name for the API key. // // If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name. ApiKeyName *string `json:"apiKeyName" yaml:"apiKeyName"` // A description of the purpose of the API key. Description *string `json:"description" yaml:"description"` // The value of the API key. // // Must be at least 20 characters long. Value *string `json:"value" yaml:"value"` // An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace. CustomerId *string `json:"customerId" yaml:"customerId"` // Indicates whether the API key can be used by clients. Enabled *bool `json:"enabled" yaml:"enabled"` // Specifies whether the key identifier is distinct from the created API key value. GenerateDistinctId *bool `json:"generateDistinctId" yaml:"generateDistinctId"` // A list of resources this api key is associated with. Resources *[]IRestApi `json:"resources" yaml:"resources"` }
ApiKey Properties.
TODO: EXAMPLE
type ApiKeySourceType ¶
type ApiKeySourceType string
const ( ApiKeySourceType_HEADER ApiKeySourceType = "HEADER" ApiKeySourceType_AUTHORIZER ApiKeySourceType = "AUTHORIZER" )
type AssetApiDefinition ¶
type AssetApiDefinition interface { ApiDefinition Bind(scope constructs.Construct) *ApiDefinitionConfig BindAfterCreate(scope constructs.Construct, restApi IRestApi) }
OpenAPI specification from a local file.
TODO: EXAMPLE
func ApiDefinition_FromAsset ¶
func ApiDefinition_FromAsset(file *string, options *awss3assets.AssetOptions) AssetApiDefinition
Loads the API specification from a local disk asset.
func AssetApiDefinition_FromAsset ¶
func AssetApiDefinition_FromAsset(file *string, options *awss3assets.AssetOptions) AssetApiDefinition
Loads the API specification from a local disk asset.
func InlineApiDefinition_FromAsset ¶
func InlineApiDefinition_FromAsset(file *string, options *awss3assets.AssetOptions) AssetApiDefinition
Loads the API specification from a local disk asset.
func NewAssetApiDefinition ¶
func NewAssetApiDefinition(path *string, options *awss3assets.AssetOptions) AssetApiDefinition
func S3ApiDefinition_FromAsset ¶
func S3ApiDefinition_FromAsset(file *string, options *awss3assets.AssetOptions) AssetApiDefinition
Loads the API specification from a local disk asset.
type AuthorizationType ¶
type AuthorizationType string
TODO: EXAMPLE
const ( AuthorizationType_NONE AuthorizationType = "NONE" AuthorizationType_IAM AuthorizationType = "IAM" AuthorizationType_CUSTOM AuthorizationType = "CUSTOM" AuthorizationType_COGNITO AuthorizationType = "COGNITO" )
type Authorizer ¶
type Authorizer interface { awscdk.Resource IAuthorizer AuthorizationType() AuthorizationType AuthorizerId() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
Base class for all custom authorizers.
type AwsIntegration ¶
type AwsIntegration interface { Integration Bind(method Method) *IntegrationConfig }
This type of integration lets an API expose AWS service actions.
It is intended for calling all AWS service actions, but is not recommended for calling a Lambda function, because the Lambda custom integration is a legacy technology.
TODO: EXAMPLE
func NewAwsIntegration ¶
func NewAwsIntegration(props *AwsIntegrationProps) AwsIntegration
func StepFunctionsIntegration_StartExecution ¶ added in v2.1.0
func StepFunctionsIntegration_StartExecution(stateMachine awsstepfunctions.IStateMachine, options *StepFunctionsExecutionIntegrationOptions) AwsIntegration
Integrates a Synchronous Express State Machine from AWS Step Functions to an API Gateway method.
TODO: EXAMPLE
type AwsIntegrationProps ¶
type AwsIntegrationProps struct { // The name of the integrated AWS service (e.g. `s3`). Service *string `json:"service" yaml:"service"` // The AWS action to perform in the integration. // // Use `actionParams` to specify key-value params for the action. // // Mutually exclusive with `path`. Action *string `json:"action" yaml:"action"` // Parameters for the action. // // `action` must be set, and `path` must be undefined. // The action params will be URL encoded. ActionParameters *map[string]*string `json:"actionParameters" yaml:"actionParameters"` // The integration's HTTP method type. IntegrationHttpMethod *string `json:"integrationHttpMethod" yaml:"integrationHttpMethod"` // Integration options, such as content handling, request/response mapping, etc. Options *IntegrationOptions `json:"options" yaml:"options"` // The path to use for path-base APIs. // // For example, for S3 GET, you can set path to `bucket/key`. // For lambda, you can set path to `2015-03-31/functions/${function-arn}/invocations` // // Mutually exclusive with the `action` options. Path *string `json:"path" yaml:"path"` // Use AWS_PROXY integration. Proxy *bool `json:"proxy" yaml:"proxy"` // The region of the integrated AWS service. Region *string `json:"region" yaml:"region"` // A designated subdomain supported by certain AWS service for fast host-name lookup. Subdomain *string `json:"subdomain" yaml:"subdomain"` }
TODO: EXAMPLE
type BasePathMapping ¶
type BasePathMapping interface { awscdk.Resource Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
This resource creates a base path that clients who call your API must use in the invocation URL.
Unless you're importing a domain with `DomainName.fromDomainNameAttributes()`, you can use `DomainName.addBasePathMapping()` to define mappings.
TODO: EXAMPLE
func NewBasePathMapping ¶
func NewBasePathMapping(scope constructs.Construct, id *string, props *BasePathMappingProps) BasePathMapping
type BasePathMappingOptions ¶
type BasePathMappingOptions struct { // The base path name that callers of the API must provide in the URL after the domain name (e.g. `example.com/base-path`). If you specify this property, it can't be an empty string. BasePath *string `json:"basePath" yaml:"basePath"` // The Deployment stage of API [disable-awslint:ref-via-interface]. Stage Stage `json:"stage" yaml:"stage"` }
TODO: EXAMPLE
type BasePathMappingProps ¶
type BasePathMappingProps struct { // The base path name that callers of the API must provide in the URL after the domain name (e.g. `example.com/base-path`). If you specify this property, it can't be an empty string. BasePath *string `json:"basePath" yaml:"basePath"` // The Deployment stage of API [disable-awslint:ref-via-interface]. Stage Stage `json:"stage" yaml:"stage"` // The DomainName to associate with this base path mapping. DomainName IDomainName `json:"domainName" yaml:"domainName"` // The RestApi resource to target. RestApi IRestApi `json:"restApi" yaml:"restApi"` }
TODO: EXAMPLE
type CfnAccount ¶
type CfnAccount interface { awscdk.CfnResource awscdk.IInspectable AttrId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CloudWatchRoleArn() *string SetCloudWatchRoleArn(val *string) CreationStack() *[]*string LogicalId() *string Node() constructs.Node Ref() *string Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::Account`.
The `AWS::ApiGateway::Account` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs.
> If an API Gateway resource has never been created in your AWS account , you must add a dependency on another API Gateway resource, such as an [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) or [AWS::ApiGateway::ApiKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) resource. > > If an API Gateway resource has been created in your AWS account , no dependency is required (even if the resource was deleted).
TODO: EXAMPLE
func NewCfnAccount ¶
func NewCfnAccount(scope constructs.Construct, id *string, props *CfnAccountProps) CfnAccount
Create a new `AWS::ApiGateway::Account`.
type CfnAccountProps ¶
type CfnAccountProps struct { // The Amazon Resource Name (ARN) of an IAM role that has write access to CloudWatch Logs in your account. CloudWatchRoleArn *string `json:"cloudWatchRoleArn" yaml:"cloudWatchRoleArn"` }
Properties for defining a `CfnAccount`.
TODO: EXAMPLE
type CfnApiKey ¶
type CfnApiKey interface { awscdk.CfnResource awscdk.IInspectable AttrApiKeyId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string CustomerId() *string SetCustomerId(val *string) Description() *string SetDescription(val *string) Enabled() interface{} SetEnabled(val interface{}) GenerateDistinctId() interface{} SetGenerateDistinctId(val interface{}) LogicalId() *string Name() *string SetName(val *string) Node() constructs.Node Ref() *string Stack() awscdk.Stack StageKeys() interface{} SetStageKeys(val interface{}) Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} Value() *string SetValue(val *string) AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::ApiKey`.
The `AWS::ApiGateway::ApiKey` resource creates a unique key that you can distribute to clients who are executing API Gateway `Method` resources that require an API key. To specify which API key clients must use, map the API key with the `RestApi` and `Stage` resources that include the methods that require a key.
TODO: EXAMPLE
func NewCfnApiKey ¶
func NewCfnApiKey(scope constructs.Construct, id *string, props *CfnApiKeyProps) CfnApiKey
Create a new `AWS::ApiGateway::ApiKey`.
type CfnApiKeyProps ¶
type CfnApiKeyProps struct { // An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace. CustomerId *string `json:"customerId" yaml:"customerId"` // A description of the purpose of the API key. Description *string `json:"description" yaml:"description"` // Indicates whether the API key can be used by clients. Enabled interface{} `json:"enabled" yaml:"enabled"` // Specifies whether the key identifier is distinct from the created API key value. // // This parameter is deprecated and should not be used. GenerateDistinctId interface{} `json:"generateDistinctId" yaml:"generateDistinctId"` // A name for the API key. // // If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . // // > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. Name *string `json:"name" yaml:"name"` // A list of stages to associate with this API key. StageKeys interface{} `json:"stageKeys" yaml:"stageKeys"` // An array of arbitrary tags (key-value pairs) to associate with the API key. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` // The value of the API key. // // Must be at least 20 characters long. Value *string `json:"value" yaml:"value"` }
Properties for defining a `CfnApiKey`.
TODO: EXAMPLE
type CfnApiKey_StageKeyProperty ¶
type CfnApiKey_StageKeyProperty struct { // The ID of a `RestApi` resource that includes the stage with which you want to associate the API key. RestApiId *string `json:"restApiId" yaml:"restApiId"` // The name of the stage with which to associate the API key. // // The stage must be included in the `RestApi` resource that you specified in the `RestApiId` property. StageName *string `json:"stageName" yaml:"stageName"` }
`StageKey` is a property of the [AWS::ApiGateway::ApiKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) resource that specifies the stage to associate with the API key. This association allows only clients with the key to make requests to methods in that stage.
TODO: EXAMPLE
type CfnAuthorizer ¶
type CfnAuthorizer interface { awscdk.CfnResource awscdk.IInspectable AttrAuthorizerId() *string AuthorizerCredentials() *string SetAuthorizerCredentials(val *string) AuthorizerResultTtlInSeconds() *float64 SetAuthorizerResultTtlInSeconds(val *float64) AuthorizerUri() *string SetAuthorizerUri(val *string) AuthType() *string SetAuthType(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string IdentitySource() *string SetIdentitySource(val *string) IdentityValidationExpression() *string SetIdentityValidationExpression(val *string) LogicalId() *string Name() *string SetName(val *string) Node() constructs.Node ProviderArns() *[]*string SetProviderArns(val *[]*string) Ref() *string RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack Type() *string SetType(val *string) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::Authorizer`.
The `AWS::ApiGateway::Authorizer` resource creates an authorization layer that API Gateway activates for methods that have authorization enabled. API Gateway activates the authorizer when a client calls those methods.
TODO: EXAMPLE
func NewCfnAuthorizer ¶
func NewCfnAuthorizer(scope constructs.Construct, id *string, props *CfnAuthorizerProps) CfnAuthorizer
Create a new `AWS::ApiGateway::Authorizer`.
type CfnAuthorizerProps ¶
type CfnAuthorizerProps struct { // The name of the authorizer. Name *string `json:"name" yaml:"name"` // The ID of the `RestApi` resource that API Gateway creates the authorizer in. RestApiId *string `json:"restApiId" yaml:"restApiId"` // The type of authorizer. Valid values include:. // // - `TOKEN` : A custom authorizer that uses a Lambda function. // - `COGNITO_USER_POOLS` : An authorizer that uses Amazon Cognito user pools. // - `REQUEST` : An authorizer that uses a Lambda function using incoming request parameters. Type *string `json:"type" yaml:"type"` // The credentials that are required for the authorizer. // // To specify an IAM role that API Gateway assumes, specify the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null. AuthorizerCredentials *string `json:"authorizerCredentials" yaml:"authorizerCredentials"` // The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches authorizer results. // // If you specify a value greater than 0, API Gateway caches the authorizer responses. By default, API Gateway sets this property to 300. The maximum value is 3600, or 1 hour. AuthorizerResultTtlInSeconds *float64 `json:"authorizerResultTtlInSeconds" yaml:"authorizerResultTtlInSeconds"` // The authorizer's Uniform Resource Identifier (URI). // // If you specify `TOKEN` for the authorizer's `Type` property, specify a Lambda function URI that has the form `arn:aws:apigateway: *region* :lambda:path/ *path*` . The path usually has the form /2015-03-31/functions/ *LambdaFunctionARN* /invocations. AuthorizerUri *string `json:"authorizerUri" yaml:"authorizerUri"` // An optional customer-defined field that's used in OpenApi imports and exports without functional impact. AuthType *string `json:"authType" yaml:"authType"` // The source of the identity in an incoming request. // // If you specify `TOKEN` or `COGNITO_USER_POOLS` for the `Type` property, this property is required. Specify a header mapping expression using the form `method.request.header. *name*` , where *name* is the name of a custom authorization header that clients submit as part of their requests. // // If you specify `REQUEST` for the `Type` property, this property is required when authorization caching is enabled. Specify a comma-separated string of one or more mapping expressions of the specified request parameter using the form `method.request.parameter. *name*` . For supported parameter types, see [Configure Lambda Authorizer Using the API Gateway Console](https://docs.aws.amazon.com/apigateway/latest/developerguide/configure-api-gateway-lambda-authorization-with-console.html) in the *API Gateway Developer Guide* . IdentitySource *string `json:"identitySource" yaml:"identitySource"` // A validation expression for the incoming identity. // // If you specify `TOKEN` for the authorizer's `Type` property, specify a regular expression. API Gateway uses the expression to attempt to match the incoming client token, and proceeds if the token matches. If the token doesn't match, API Gateway responds with a 401 (unauthorized request) error code. IdentityValidationExpression *string `json:"identityValidationExpression" yaml:"identityValidationExpression"` // A list of the Amazon Cognito user pool Amazon Resource Names (ARNs) to associate with this authorizer. // // Required if you specify `COGNITO_USER_POOLS` as the authorizer `Type` . For more information, see [Use Amazon Cognito User Pools](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html#apigateway-enable-cognito-user-pool) in the *API Gateway Developer Guide* . ProviderArns *[]*string `json:"providerArns" yaml:"providerArns"` }
Properties for defining a `CfnAuthorizer`.
TODO: EXAMPLE
type CfnBasePathMapping ¶
type CfnBasePathMapping interface { awscdk.CfnResource awscdk.IInspectable BasePath() *string SetBasePath(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string DomainName() *string SetDomainName(val *string) LogicalId() *string Node() constructs.Node Ref() *string RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack Stage() *string SetStage(val *string) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::BasePathMapping`.
The `AWS::ApiGateway::BasePathMapping` resource creates a base path that clients who call your API must use in the invocation URL.
TODO: EXAMPLE
func NewCfnBasePathMapping ¶
func NewCfnBasePathMapping(scope constructs.Construct, id *string, props *CfnBasePathMappingProps) CfnBasePathMapping
Create a new `AWS::ApiGateway::BasePathMapping`.
type CfnBasePathMappingProps ¶
type CfnBasePathMappingProps struct { // The `DomainName` of an [AWS::ApiGateway::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html) resource. DomainName *string `json:"domainName" yaml:"domainName"` // The base path name that callers of the API must provide in the URL after the domain name. BasePath *string `json:"basePath" yaml:"basePath"` // The ID of the API. RestApiId *string `json:"restApiId" yaml:"restApiId"` // The name of the API's stage. Stage *string `json:"stage" yaml:"stage"` }
Properties for defining a `CfnBasePathMapping`.
TODO: EXAMPLE
type CfnClientCertificate ¶
type CfnClientCertificate interface { awscdk.CfnResource awscdk.IInspectable AttrClientCertificateId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string Description() *string SetDescription(val *string) LogicalId() *string Node() constructs.Node Ref() *string Stack() awscdk.Stack Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::ClientCertificate`.
The `AWS::ApiGateway::ClientCertificate` resource creates a client certificate that API Gateway uses to configure client-side SSL authentication for sending requests to the integration endpoint.
TODO: EXAMPLE
func NewCfnClientCertificate ¶
func NewCfnClientCertificate(scope constructs.Construct, id *string, props *CfnClientCertificateProps) CfnClientCertificate
Create a new `AWS::ApiGateway::ClientCertificate`.
type CfnClientCertificateProps ¶
type CfnClientCertificateProps struct { // A description of the client certificate. Description *string `json:"description" yaml:"description"` // An array of arbitrary tags (key-value pairs) to associate with the client certificate. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` }
Properties for defining a `CfnClientCertificate`.
TODO: EXAMPLE
type CfnDeployment ¶
type CfnDeployment interface { awscdk.CfnResource awscdk.IInspectable AttrDeploymentId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string DeploymentCanarySettings() interface{} SetDeploymentCanarySettings(val interface{}) Description() *string SetDescription(val *string) LogicalId() *string Node() constructs.Node Ref() *string RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack StageDescription() interface{} SetStageDescription(val interface{}) StageName() *string SetStageName(val *string) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::Deployment`.
The `AWS::ApiGateway::Deployment` resource deploys an API Gateway `RestApi` resource to a stage so that clients can call the API over the internet. The stage acts as an environment.
TODO: EXAMPLE
func NewCfnDeployment ¶
func NewCfnDeployment(scope constructs.Construct, id *string, props *CfnDeploymentProps) CfnDeployment
Create a new `AWS::ApiGateway::Deployment`.
type CfnDeploymentProps ¶
type CfnDeploymentProps struct { // The ID of the `RestApi` resource to deploy. RestApiId *string `json:"restApiId" yaml:"restApiId"` // Specifies settings for the canary deployment. DeploymentCanarySettings interface{} `json:"deploymentCanarySettings" yaml:"deploymentCanarySettings"` // A description of the purpose of the API Gateway deployment. Description *string `json:"description" yaml:"description"` // Configures the stage that API Gateway creates with this deployment. StageDescription interface{} `json:"stageDescription" yaml:"stageDescription"` // A name for the stage that API Gateway creates with this deployment. // // Use only alphanumeric characters. StageName *string `json:"stageName" yaml:"stageName"` }
Properties for defining a `CfnDeployment`.
TODO: EXAMPLE
type CfnDeployment_AccessLogSettingProperty ¶
type CfnDeployment_AccessLogSettingProperty 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-` . DestinationArn *string `json:"destinationArn" yaml:"destinationArn"` // A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) . The format must include at least `$context.requestId` . Format *string `json:"format" yaml:"format"` }
The `AccessLogSetting` property type specifies settings for logging access in this stage.
`AccessLogSetting` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.
TODO: EXAMPLE
type CfnDeployment_CanarySettingProperty ¶
type CfnDeployment_CanarySettingProperty struct { // The percent (0-100) of traffic diverted to a canary deployment. PercentTraffic *float64 `json:"percentTraffic" yaml:"percentTraffic"` // Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. // // These stage variables are represented as a string-to-string map between stage variable names and their values. StageVariableOverrides interface{} `json:"stageVariableOverrides" yaml:"stageVariableOverrides"` // Whether the canary deployment uses the stage cache or not. UseStageCache interface{} `json:"useStageCache" yaml:"useStageCache"` }
The `CanarySetting` property type specifies settings for the canary deployment in this stage.
`CanarySetting` is a property of the [StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type.
TODO: EXAMPLE
type CfnDeployment_DeploymentCanarySettingsProperty ¶
type CfnDeployment_DeploymentCanarySettingsProperty struct { // The percentage (0-100) of traffic diverted to a canary deployment. PercentTraffic *float64 `json:"percentTraffic" yaml:"percentTraffic"` // Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. // // These stage variables are represented as a string-to-string map between stage variable names and their values. // // Duplicates are not allowed. StageVariableOverrides interface{} `json:"stageVariableOverrides" yaml:"stageVariableOverrides"` // Whether the canary deployment uses the stage cache. UseStageCache interface{} `json:"useStageCache" yaml:"useStageCache"` }
The `DeploymentCanarySettings` property type specifies settings for the canary deployment.
TODO: EXAMPLE
type CfnDeployment_MethodSettingProperty ¶
type CfnDeployment_MethodSettingProperty struct { // Indicates whether the cached responses are encrypted. CacheDataEncrypted interface{} `json:"cacheDataEncrypted" yaml:"cacheDataEncrypted"` // The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. CacheTtlInSeconds *float64 `json:"cacheTtlInSeconds" yaml:"cacheTtlInSeconds"` // Indicates whether responses are cached and returned for requests. // // You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide* . CachingEnabled interface{} `json:"cachingEnabled" yaml:"cachingEnabled"` // Indicates whether data trace logging is enabled for methods in the stage. // // API Gateway pushes these logs to Amazon CloudWatch Logs. DataTraceEnabled interface{} `json:"dataTraceEnabled" yaml:"dataTraceEnabled"` // The HTTP method. HttpMethod *string `json:"httpMethod" yaml:"httpMethod"` // The logging level for this method. // // For valid values, see the `loggingLevel` property of the [Stage](https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the *Amazon API Gateway API Reference* . LoggingLevel *string `json:"loggingLevel" yaml:"loggingLevel"` // Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage. MetricsEnabled interface{} `json:"metricsEnabled" yaml:"metricsEnabled"` // The resource path for this method. // // Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ). ResourcePath *string `json:"resourcePath" yaml:"resourcePath"` // The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account . // // For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* . ThrottlingBurstLimit *float64 `json:"throttlingBurstLimit" yaml:"throttlingBurstLimit"` // The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account . // // For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* . ThrottlingRateLimit *float64 `json:"throttlingRateLimit" yaml:"throttlingRateLimit"` }
The `MethodSetting` property type configures settings for all methods in a stage.
The `MethodSettings` property of the [Amazon API Gateway Deployment StageDescription](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html) property type contains a list of `MethodSetting` property types.
TODO: EXAMPLE
type CfnDeployment_StageDescriptionProperty ¶
type CfnDeployment_StageDescriptionProperty struct { // Specifies settings for logging access in this stage. AccessLogSetting interface{} `json:"accessLogSetting" yaml:"accessLogSetting"` // Indicates whether cache clustering is enabled for the stage. CacheClusterEnabled interface{} `json:"cacheClusterEnabled" yaml:"cacheClusterEnabled"` // The size of the stage's cache cluster. CacheClusterSize *string `json:"cacheClusterSize" yaml:"cacheClusterSize"` // Indicates whether the cached responses are encrypted. CacheDataEncrypted interface{} `json:"cacheDataEncrypted" yaml:"cacheDataEncrypted"` // The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. CacheTtlInSeconds *float64 `json:"cacheTtlInSeconds" yaml:"cacheTtlInSeconds"` // Indicates whether responses are cached and returned for requests. // // You must enable a cache cluster on the stage to cache responses. For more information, see [Enable API Gateway Caching in a Stage to Enhance API Performance](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) in the *API Gateway Developer Guide* . CachingEnabled interface{} `json:"cachingEnabled" yaml:"cachingEnabled"` // Specifies settings for the canary deployment in this stage. CanarySetting interface{} `json:"canarySetting" yaml:"canarySetting"` // The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. ClientCertificateId *string `json:"clientCertificateId" yaml:"clientCertificateId"` // Indicates whether data trace logging is enabled for methods in the stage. // // API Gateway pushes these logs to Amazon CloudWatch Logs. DataTraceEnabled interface{} `json:"dataTraceEnabled" yaml:"dataTraceEnabled"` // A description of the purpose of the stage. Description *string `json:"description" yaml:"description"` // The version identifier of the API documentation snapshot. DocumentationVersion *string `json:"documentationVersion" yaml:"documentationVersion"` // The logging level for this method. // // For valid values, see the `loggingLevel` property of the [Stage](https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the *Amazon API Gateway API Reference* . LoggingLevel *string `json:"loggingLevel" yaml:"loggingLevel"` // Configures settings for all of the stage's methods. MethodSettings interface{} `json:"methodSettings" yaml:"methodSettings"` // Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage. MetricsEnabled interface{} `json:"metricsEnabled" yaml:"metricsEnabled"` // An array of arbitrary tags (key-value pairs) to associate with the stage. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` // The target request burst rate limit. // // This allows more requests through for a period of time than the target rate limit. For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* . ThrottlingBurstLimit *float64 `json:"throttlingBurstLimit" yaml:"throttlingBurstLimit"` // The target request steady-state rate limit. // // For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* . ThrottlingRateLimit *float64 `json:"throttlingRateLimit" yaml:"throttlingRateLimit"` // Specifies whether active tracing with X-ray is enabled for this stage. // // For more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* . TracingEnabled interface{} `json:"tracingEnabled" yaml:"tracingEnabled"` // A map that defines the stage variables. // // Variable names must consist of alphanumeric characters, and the values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` . Variables interface{} `json:"variables" yaml:"variables"` }
`StageDescription` is a property of the [AWS::ApiGateway::Deployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html) resource that configures a deployment stage.
TODO: EXAMPLE
type CfnDocumentationPart ¶
type CfnDocumentationPart interface { awscdk.CfnResource awscdk.IInspectable CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string Location() interface{} SetLocation(val interface{}) LogicalId() *string Node() constructs.Node Properties() *string SetProperties(val *string) Ref() *string RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::DocumentationPart`.
The `AWS::ApiGateway::DocumentationPart` resource creates a documentation part for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide* .
TODO: EXAMPLE
func NewCfnDocumentationPart ¶
func NewCfnDocumentationPart(scope constructs.Construct, id *string, props *CfnDocumentationPartProps) CfnDocumentationPart
Create a new `AWS::ApiGateway::DocumentationPart`.
type CfnDocumentationPartProps ¶
type CfnDocumentationPartProps struct { // The location of the API entity that the documentation applies to. Location interface{} `json:"location" yaml:"location"` // The documentation content map of the targeted API entity. Properties *string `json:"properties" yaml:"properties"` // The identifier of the targeted API entity. RestApiId *string `json:"restApiId" yaml:"restApiId"` }
Properties for defining a `CfnDocumentationPart`.
TODO: EXAMPLE
type CfnDocumentationPart_LocationProperty ¶
type CfnDocumentationPart_LocationProperty struct { // The HTTP verb of a method. Method *string `json:"method" yaml:"method"` // The name of the targeted API entity. Name *string `json:"name" yaml:"name"` // The URL path of the target. Path *string `json:"path" yaml:"path"` // The HTTP status code of a response. StatusCode *string `json:"statusCode" yaml:"statusCode"` // The type of API entity that the documentation content applies to. Type *string `json:"type" yaml:"type"` }
The `Location` property specifies the location of the Amazon API Gateway API entity that the documentation applies to.
`Location` is a property of the [AWS::ApiGateway::DocumentationPart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-documentationpart.html) resource.
> For more information about each property, including constraints and valid values, see [DocumentationPart](https://docs.aws.amazon.com/apigateway/api-reference/resource/documentation-part/#location) in the *Amazon API Gateway REST API Reference* .
TODO: EXAMPLE
type CfnDocumentationVersion ¶
type CfnDocumentationVersion interface { awscdk.CfnResource awscdk.IInspectable CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string Description() *string SetDescription(val *string) DocumentationVersion() *string SetDocumentationVersion(val *string) LogicalId() *string Node() constructs.Node Ref() *string RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::DocumentationVersion`.
The `AWS::ApiGateway::DocumentationVersion` resource creates a snapshot of the documentation for an API. For more information, see [Representation of API Documentation in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-documenting-api-content-representation.html) in the *API Gateway Developer Guide* .
TODO: EXAMPLE
func NewCfnDocumentationVersion ¶
func NewCfnDocumentationVersion(scope constructs.Construct, id *string, props *CfnDocumentationVersionProps) CfnDocumentationVersion
Create a new `AWS::ApiGateway::DocumentationVersion`.
type CfnDocumentationVersionProps ¶
type CfnDocumentationVersionProps struct { // The version identifier of the API documentation snapshot. DocumentationVersion *string `json:"documentationVersion" yaml:"documentationVersion"` // The identifier of the API. RestApiId *string `json:"restApiId" yaml:"restApiId"` // The description of the API documentation snapshot. Description *string `json:"description" yaml:"description"` }
Properties for defining a `CfnDocumentationVersion`.
TODO: EXAMPLE
type CfnDomainName ¶
type CfnDomainName interface { awscdk.CfnResource awscdk.IInspectable AttrDistributionDomainName() *string AttrDistributionHostedZoneId() *string AttrRegionalDomainName() *string AttrRegionalHostedZoneId() *string CertificateArn() *string SetCertificateArn(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string DomainName() *string SetDomainName(val *string) EndpointConfiguration() interface{} SetEndpointConfiguration(val interface{}) LogicalId() *string MutualTlsAuthentication() interface{} SetMutualTlsAuthentication(val interface{}) Node() constructs.Node OwnershipVerificationCertificateArn() *string SetOwnershipVerificationCertificateArn(val *string) Ref() *string RegionalCertificateArn() *string SetRegionalCertificateArn(val *string) SecurityPolicy() *string SetSecurityPolicy(val *string) Stack() awscdk.Stack Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::DomainName`.
The `AWS::ApiGateway::DomainName` resource specifies a custom domain name for your API in API Gateway.
You can use a custom domain name to provide a URL that's more intuitive and easier to recall. For more information about using custom domain names, see [Set up Custom Domain Name for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html) in the *API Gateway Developer Guide* .
TODO: EXAMPLE
func NewCfnDomainName ¶
func NewCfnDomainName(scope constructs.Construct, id *string, props *CfnDomainNameProps) CfnDomainName
Create a new `AWS::ApiGateway::DomainName`.
type CfnDomainNameProps ¶
type CfnDomainNameProps struct { // The reference to an AWS -managed certificate for use by the edge-optimized endpoint for this domain name. // // AWS Certificate Manager is the only supported source. For requirements and additional information about setting up certificates, see [Get Certificates Ready in AWS Certificate Manager](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html#how-to-custom-domains-prerequisites) in the *API Gateway Developer Guide* . CertificateArn *string `json:"certificateArn" yaml:"certificateArn"` // The custom domain name for your API. // // Uppercase letters are not supported. DomainName *string `json:"domainName" yaml:"domainName"` // A list of the endpoint types of the domain name. EndpointConfiguration interface{} `json:"endpointConfiguration" yaml:"endpointConfiguration"` // The mutual TLS authentication configuration for a custom domain name. MutualTlsAuthentication interface{} `json:"mutualTlsAuthentication" yaml:"mutualTlsAuthentication"` // The ARN of the public certificate issued by ACM to validate ownership of your custom domain. // // Only required when configuring mutual TLS and using an ACM imported or private CA certificate ARN as the RegionalCertificateArn. OwnershipVerificationCertificateArn *string `json:"ownershipVerificationCertificateArn" yaml:"ownershipVerificationCertificateArn"` // The reference to an AWS -managed certificate for use by the regional endpoint for the domain name. // // AWS Certificate Manager is the only supported source. RegionalCertificateArn *string `json:"regionalCertificateArn" yaml:"regionalCertificateArn"` // The Transport Layer Security (TLS) version + cipher suite for this domain name. // // Valid values include `TLS_1_0` and `TLS_1_2` . SecurityPolicy *string `json:"securityPolicy" yaml:"securityPolicy"` // An array of arbitrary tags (key-value pairs) to associate with the domain name. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` }
Properties for defining a `CfnDomainName`.
TODO: EXAMPLE
type CfnDomainName_EndpointConfigurationProperty ¶
type CfnDomainName_EndpointConfigurationProperty struct { // A list of endpoint types of an API or its custom domain name. // // For an edge-optimized API and its custom domain name, the endpoint type is `EDGE` . For a regional API and its custom domain name, the endpoint type is `REGIONAL` . Types *[]*string `json:"types" yaml:"types"` }
The `EndpointConfiguration` property type specifies the endpoint types of an Amazon API Gateway domain name.
`EndpointConfiguration` is a property of the [AWS::ApiGateway::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html) resource.
TODO: EXAMPLE
type CfnDomainName_MutualTlsAuthenticationProperty ¶
type CfnDomainName_MutualTlsAuthenticationProperty struct { // An Amazon S3 URL that specifies the truststore for mutual TLS authentication, for example, `s3:// bucket-name / key-name` . // // The truststore can contain certificates from public or private certificate authorities. To update the truststore, upload a new version to S3, and then update your custom domain name to use the new version. To update the truststore, you must have permissions to access the S3 object. TruststoreUri *string `json:"truststoreUri" yaml:"truststoreUri"` // The version of the S3 object that contains your truststore. // // To specify a version, you must have versioning enabled for the S3 bucket. TruststoreVersion *string `json:"truststoreVersion" yaml:"truststoreVersion"` }
If specified, API Gateway performs two-way authentication between the client and the server.
Clients must present a trusted certificate to access your API.
TODO: EXAMPLE
type CfnGatewayResponse ¶
type CfnGatewayResponse interface { awscdk.CfnResource awscdk.IInspectable AttrId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string LogicalId() *string Node() constructs.Node Ref() *string ResponseParameters() interface{} SetResponseParameters(val interface{}) ResponseTemplates() interface{} SetResponseTemplates(val interface{}) ResponseType() *string SetResponseType(val *string) RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack StatusCode() *string SetStatusCode(val *string) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::GatewayResponse`.
The `AWS::ApiGateway::GatewayResponse` resource creates a gateway response for your API. For more information, see [API Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/customize-gateway-responses.html#api-gateway-gatewayResponse-definition) in the *API Gateway Developer Guide* .
TODO: EXAMPLE
func NewCfnGatewayResponse ¶
func NewCfnGatewayResponse(scope constructs.Construct, id *string, props *CfnGatewayResponseProps) CfnGatewayResponse
Create a new `AWS::ApiGateway::GatewayResponse`.
type CfnGatewayResponseProps ¶
type CfnGatewayResponseProps struct { // The response type. // // For valid values, see [GatewayResponse](https://docs.aws.amazon.com/apigateway/api-reference/resource/gateway-response/) in the *API Gateway API Reference* . ResponseType *string `json:"responseType" yaml:"responseType"` // The identifier of the API. RestApiId *string `json:"restApiId" yaml:"restApiId"` // The response parameters (paths, query strings, and headers) for the response. // // Duplicates not allowed. ResponseParameters interface{} `json:"responseParameters" yaml:"responseParameters"` // The response templates for the response. // // Duplicates not allowed. ResponseTemplates interface{} `json:"responseTemplates" yaml:"responseTemplates"` // The HTTP status code for the response. StatusCode *string `json:"statusCode" yaml:"statusCode"` }
Properties for defining a `CfnGatewayResponse`.
TODO: EXAMPLE
type CfnMethod ¶
type CfnMethod interface { awscdk.CfnResource awscdk.IInspectable ApiKeyRequired() interface{} SetApiKeyRequired(val interface{}) AuthorizationScopes() *[]*string SetAuthorizationScopes(val *[]*string) AuthorizationType() *string SetAuthorizationType(val *string) AuthorizerId() *string SetAuthorizerId(val *string) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string HttpMethod() *string SetHttpMethod(val *string) Integration() interface{} SetIntegration(val interface{}) LogicalId() *string MethodResponses() interface{} SetMethodResponses(val interface{}) Node() constructs.Node OperationName() *string SetOperationName(val *string) Ref() *string RequestModels() interface{} SetRequestModels(val interface{}) RequestParameters() interface{} SetRequestParameters(val interface{}) RequestValidatorId() *string SetRequestValidatorId(val *string) ResourceId() *string SetResourceId(val *string) RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::Method`.
The `AWS::ApiGateway::Method` resource creates API Gateway methods that define the parameters and body that clients must send in their requests.
TODO: EXAMPLE
func NewCfnMethod ¶
func NewCfnMethod(scope constructs.Construct, id *string, props *CfnMethodProps) CfnMethod
Create a new `AWS::ApiGateway::Method`.
type CfnMethodProps ¶
type CfnMethodProps struct { // The HTTP method that clients use to call this method. HttpMethod *string `json:"httpMethod" yaml:"httpMethod"` // The ID of an API Gateway [resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-resource.html) . For root resource methods, specify the `RestApi` root resource ID, such as `{ "Fn::GetAtt": ["MyRestApi", "RootResourceId"] }` . ResourceId *string `json:"resourceId" yaml:"resourceId"` // The ID of the [RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource in which API Gateway creates the method. RestApiId *string `json:"restApiId" yaml:"restApiId"` // Indicates whether the method requires clients to submit a valid API key. ApiKeyRequired interface{} `json:"apiKeyRequired" yaml:"apiKeyRequired"` // A list of authorization scopes configured on the method. // // The scopes are used with a `COGNITO_USER_POOLS` authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes match a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes. AuthorizationScopes *[]*string `json:"authorizationScopes" yaml:"authorizationScopes"` // The method's authorization type. // // This parameter is required. For valid values, see [Method](https://docs.aws.amazon.com/apigateway/api-reference/resource/method/) in the *API Gateway API Reference* . // // > If you specify the `AuthorizerId` property, specify `CUSTOM` or `COGNITO_USER_POOLS` for this property. AuthorizationType *string `json:"authorizationType" yaml:"authorizationType"` // The identifier of the [authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html) to use on this method. If you specify this property, specify `CUSTOM` or `COGNITO_USER_POOLS` for the `AuthorizationType` property. AuthorizerId *string `json:"authorizerId" yaml:"authorizerId"` // The backend system that the method calls when it receives a request. Integration interface{} `json:"integration" yaml:"integration"` // The responses that can be sent to the client who calls the method. MethodResponses interface{} `json:"methodResponses" yaml:"methodResponses"` // A friendly operation name for the method. // // For example, you can assign the `OperationName` of `ListPets` for the `GET /pets` method. OperationName *string `json:"operationName" yaml:"operationName"` // The resources that are used for the request's content type. // // Specify request models as key-value pairs (string-to-string mapping), with a content type as the key and a `Model` resource name as the value. To use the same model regardless of the content type, specify `$default` as the key. RequestModels interface{} `json:"requestModels" yaml:"requestModels"` // The request parameters that API Gateway accepts. // // Specify request parameters as key-value pairs (string-to-Boolean mapping), with a source as the key and a Boolean as the value. The Boolean specifies whether a parameter is required. A source must match the format `method.request. *location* . *name*` , where the location is querystring, path, or header, and *name* is a valid, unique parameter name. RequestParameters interface{} `json:"requestParameters" yaml:"requestParameters"` // The ID of the associated request validator. RequestValidatorId *string `json:"requestValidatorId" yaml:"requestValidatorId"` }
Properties for defining a `CfnMethod`.
TODO: EXAMPLE
type CfnMethod_IntegrationProperty ¶
type CfnMethod_IntegrationProperty struct { // A list of request parameters whose values API Gateway caches. // // For cases where the integration type allows for RequestParameters to be set, these parameters must also be specified in [RequestParameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-requestparameters) to be supported in `CacheKeyParameters` . CacheKeyParameters *[]*string `json:"cacheKeyParameters" yaml:"cacheKeyParameters"` // An API-specific tag group of related cached parameters. CacheNamespace *string `json:"cacheNamespace" yaml:"cacheNamespace"` // The ID of the `VpcLink` used for the integration when `connectionType=VPC_LINK` , otherwise undefined. ConnectionId *string `json:"connectionId" yaml:"connectionId"` // The type of the network connection to the integration endpoint. // // The valid value is `INTERNET` for connections through the public routable internet or `VPC_LINK` for private connections between API Gateway and a network load balancer in a VPC. The default value is `INTERNET` . ConnectionType *string `json:"connectionType" yaml:"connectionType"` // Specifies how to handle request payload content type conversions. Valid values are:. // // - `CONVERT_TO_BINARY` : Converts a request payload from a base64-encoded string to a binary blob. // - `CONVERT_TO_TEXT` : Converts a request payload from a binary blob to a base64-encoded string. // // If this property isn't defined, the request payload is passed through from the method request to the integration request without modification, provided that the `PassthroughBehaviors` property is configured to support payload pass-through. ContentHandling *string `json:"contentHandling" yaml:"contentHandling"` // The credentials that are required for the integration. // // To specify an AWS Identity and Access Management (IAM) role that API Gateway assumes, specify the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. // // To use resource-based permissions on the AWS Lambda (Lambda) function, don't specify this property. Use the [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) resource to permit API Gateway to call the function. For more information, see [Allow Amazon API Gateway to Invoke a Lambda Function](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html#access-control-resource-based-example-apigateway-invoke-function) in the *AWS Lambda Developer Guide* . Credentials *string `json:"credentials" yaml:"credentials"` // The integration's HTTP method type. // // For the `Type` property, if you specify `MOCK` , this property is optional. For all other types, you must specify this property. IntegrationHttpMethod *string `json:"integrationHttpMethod" yaml:"integrationHttpMethod"` // The response that API Gateway provides after a method's backend completes processing a request. // // API Gateway intercepts the response from the backend so that you can control how API Gateway surfaces backend responses. For example, you can map the backend status codes to codes that you define. IntegrationResponses interface{} `json:"integrationResponses" yaml:"integrationResponses"` // Indicates when API Gateway passes requests to the targeted backend. // // This behavior depends on the request's `Content-Type` header and whether you defined a mapping template for it. // // For more information and valid values, see the [passthroughBehavior](https://docs.aws.amazon.com/apigateway/api-reference/link-relation/integration-put/#passthroughBehavior) field in the *API Gateway API Reference* . PassthroughBehavior *string `json:"passthroughBehavior" yaml:"passthroughBehavior"` // The request parameters that API Gateway sends with the backend request. // // Specify request parameters as key-value pairs (string-to-string mappings), with a destination as the key and a source as the value. // // Specify the destination by using the following pattern `integration.request. *location* . *name*` , where *location* is query string, path, or header, and *name* is a valid, unique parameter name. // // The source must be an existing method request parameter or a static value. You must enclose static values in single quotation marks and pre-encode these values based on their destination in the request. RequestParameters interface{} `json:"requestParameters" yaml:"requestParameters"` // A map of Apache Velocity templates that are applied on the request payload. // // The template that API Gateway uses is based on the value of the `Content-Type` header that's sent by the client. The content type value is the key, and the template is the value (specified as a string), such as the following snippet: // // `"application/json": "{\n \"statusCode\": 200\n}"` // // For more information about templates, see [API Gateway Mapping Template and Access Logging Variable Reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html) in the *API Gateway Developer Guide* . RequestTemplates interface{} `json:"requestTemplates" yaml:"requestTemplates"` // Custom timeout between 50 and 29,000 milliseconds. // // The default value is 29,000 milliseconds or 29 seconds. TimeoutInMillis *float64 `json:"timeoutInMillis" yaml:"timeoutInMillis"` // The type of backend that your method is running, such as `HTTP` or `MOCK` . // // For all of the valid values, see the [type](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/#type) property for the `Integration` resource in the *Amazon API Gateway REST API Reference* . Type *string `json:"type" yaml:"type"` // The Uniform Resource Identifier (URI) for the integration. // // If you specify `HTTP` for the `Type` property, specify the API endpoint URL. // // If you specify `MOCK` for the `Type` property, don't specify this property. // // If you specify `AWS` for the `Type` property, specify an AWS service that follows this form: arn:aws:apigateway: *region* : *subdomain* . *service|service* : *path|action* / *service_api* . For example, a Lambda function URI follows this form: arn:aws:apigateway: *region* :lambda:path/ *path* . The path is usually in the form /2015-03-31/functions/ *LambdaFunctionARN* /invocations. For more information, see the `uri` property of the [Integration](https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/) resource in the Amazon API Gateway REST API Reference. // // If you specified `HTTP` or `AWS` for the `Type` property, you must specify this property. Uri *string `json:"uri" yaml:"uri"` }
`Integration` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that specifies information about the target backend that a method calls.
TODO: EXAMPLE
type CfnMethod_IntegrationResponseProperty ¶
type CfnMethod_IntegrationResponseProperty struct { // The status code that API Gateway uses to map the integration response to a [MethodResponse](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html) status code. StatusCode *string `json:"statusCode" yaml:"statusCode"` // Specifies how to handle request payload content type conversions. Valid values are:. // // - `CONVERT_TO_BINARY` : Converts a request payload from a base64-encoded string to a binary blob. // - `CONVERT_TO_TEXT` : Converts a request payload from a binary blob to a base64-encoded string. // // If this property isn't defined, the request payload is passed through from the method request to the integration request without modification. ContentHandling *string `json:"contentHandling" yaml:"contentHandling"` // The response parameters from the backend response that API Gateway sends to the method response. // // Specify response parameters as key-value pairs ( [string-to-string mappings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html) ). // // Use the destination as the key and the source as the value: // // - The destination must be an existing response parameter in the [MethodResponse](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-methodresponse.html) property. // - The source must be an existing method request parameter or a static value. You must enclose static values in single quotation marks and pre-encode these values based on the destination specified in the request. // // For more information about templates, see [API Gateway Mapping Template and Access Logging Variable Reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html) in the *API Gateway Developer Guide* . ResponseParameters interface{} `json:"responseParameters" yaml:"responseParameters"` // The templates that are used to transform the integration response body. // // Specify templates as key-value pairs (string-to-string mappings), with a content type as the key and a template as the value. For more information, see [API Gateway Mapping Template and Access Logging Variable Reference](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html) in the *API Gateway Developer Guide* . ResponseTemplates interface{} `json:"responseTemplates" yaml:"responseTemplates"` // A [regular expression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-regexes.html) that specifies which error strings or status codes from the backend map to the integration response. SelectionPattern *string `json:"selectionPattern" yaml:"selectionPattern"` }
`IntegrationResponse` is a property of the [Amazon API Gateway Method Integration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration.html) property type that specifies the response that API Gateway sends after a method's backend finishes processing a request.
TODO: EXAMPLE
type CfnMethod_MethodResponseProperty ¶
type CfnMethod_MethodResponseProperty struct { // The method response's status code, which you map to an [IntegrationResponse](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apitgateway-method-integration-integrationresponse.html) . StatusCode *string `json:"statusCode" yaml:"statusCode"` // The resources used for the response's content type. // // Specify response models as key-value pairs (string-to-string maps), with a content type as the key and a [Model](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-model.html) resource name as the value. ResponseModels interface{} `json:"responseModels" yaml:"responseModels"` // Response parameters that API Gateway sends to the client that called a method. // // Specify response parameters as key-value pairs (string-to-Boolean maps), with a destination as the key and a Boolean as the value. Specify the destination using the following pattern: `method.response.header. *name*` , where *name* is a valid, unique header name. The Boolean specifies whether a parameter is required. ResponseParameters interface{} `json:"responseParameters" yaml:"responseParameters"` }
`MethodResponse` is a property of the [AWS::ApiGateway::Method](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html) resource that defines the responses that can be sent to the client that calls a method.
TODO: EXAMPLE
type CfnModel ¶
type CfnModel interface { awscdk.CfnResource awscdk.IInspectable CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ContentType() *string SetContentType(val *string) CreationStack() *[]*string Description() *string SetDescription(val *string) LogicalId() *string Name() *string SetName(val *string) Node() constructs.Node Ref() *string RestApiId() *string SetRestApiId(val *string) Schema() interface{} SetSchema(val interface{}) Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::Model`.
The `AWS::ApiGateway::Model` resource defines the structure of a request or response payload for an API method.
TODO: EXAMPLE
func NewCfnModel ¶
func NewCfnModel(scope constructs.Construct, id *string, props *CfnModelProps) CfnModel
Create a new `AWS::ApiGateway::Model`.
type CfnModelProps ¶
type CfnModelProps struct { // The ID of a REST API with which to associate this model. RestApiId *string `json:"restApiId" yaml:"restApiId"` // The content type for the model. ContentType *string `json:"contentType" yaml:"contentType"` // A description that identifies this model. Description *string `json:"description" yaml:"description"` // A name for the model. // // If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name. For more information, see [Name Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) . // // > If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. Name *string `json:"name" yaml:"name"` // The schema to use to transform data to one or more output formats. // // Specify null ( `{}` ) if you don't want to specify a schema. Schema interface{} `json:"schema" yaml:"schema"` }
Properties for defining a `CfnModel`.
TODO: EXAMPLE
type CfnRequestValidator ¶
type CfnRequestValidator interface { awscdk.CfnResource awscdk.IInspectable AttrRequestValidatorId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string LogicalId() *string Name() *string SetName(val *string) Node() constructs.Node Ref() *string RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} ValidateRequestBody() interface{} SetValidateRequestBody(val interface{}) ValidateRequestParameters() interface{} SetValidateRequestParameters(val interface{}) AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::RequestValidator`.
The `AWS::ApiGateway::RequestValidator` resource sets up basic validation rules for incoming requests to your API. For more information, see [Enable Basic Request Validation for an API in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) in the *API Gateway Developer Guide* .
TODO: EXAMPLE
func NewCfnRequestValidator ¶
func NewCfnRequestValidator(scope constructs.Construct, id *string, props *CfnRequestValidatorProps) CfnRequestValidator
Create a new `AWS::ApiGateway::RequestValidator`.
type CfnRequestValidatorProps ¶
type CfnRequestValidatorProps struct { // The identifier of the targeted API entity. RestApiId *string `json:"restApiId" yaml:"restApiId"` // The name of this request validator. Name *string `json:"name" yaml:"name"` // Indicates whether to validate the request body according to the configured schema for the targeted API and method. ValidateRequestBody interface{} `json:"validateRequestBody" yaml:"validateRequestBody"` // Indicates whether to validate request parameters. ValidateRequestParameters interface{} `json:"validateRequestParameters" yaml:"validateRequestParameters"` }
Properties for defining a `CfnRequestValidator`.
TODO: EXAMPLE
type CfnResource ¶
type CfnResource interface { awscdk.CfnResource awscdk.IInspectable AttrResourceId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string LogicalId() *string Node() constructs.Node ParentId() *string SetParentId(val *string) PathPart() *string SetPathPart(val *string) Ref() *string RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::Resource`.
The `AWS::ApiGateway::Resource` resource creates a resource in an API.
TODO: EXAMPLE
func NewCfnResource ¶
func NewCfnResource(scope constructs.Construct, id *string, props *CfnResourceProps) CfnResource
Create a new `AWS::ApiGateway::Resource`.
type CfnResourceProps ¶
type CfnResourceProps struct { // If you want to create a child resource, the ID of the parent resource. // // For resources without a parent, specify the `RestApi` root resource ID, such as `{ "Fn::GetAtt": ["MyRestApi", "RootResourceId"] }` . ParentId *string `json:"parentId" yaml:"parentId"` // A path name for the resource. PathPart *string `json:"pathPart" yaml:"pathPart"` // The ID of the [RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource in which you want to create this resource. RestApiId *string `json:"restApiId" yaml:"restApiId"` }
Properties for defining a `CfnResource`.
TODO: EXAMPLE
type CfnRestApi ¶
type CfnRestApi interface { awscdk.CfnResource awscdk.IInspectable ApiKeySourceType() *string SetApiKeySourceType(val *string) AttrRootResourceId() *string BinaryMediaTypes() *[]*string SetBinaryMediaTypes(val *[]*string) Body() interface{} SetBody(val interface{}) BodyS3Location() interface{} SetBodyS3Location(val interface{}) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CloneFrom() *string SetCloneFrom(val *string) CreationStack() *[]*string Description() *string SetDescription(val *string) DisableExecuteApiEndpoint() interface{} SetDisableExecuteApiEndpoint(val interface{}) EndpointConfiguration() interface{} SetEndpointConfiguration(val interface{}) FailOnWarnings() interface{} SetFailOnWarnings(val interface{}) LogicalId() *string MinimumCompressionSize() *float64 SetMinimumCompressionSize(val *float64) Mode() *string SetMode(val *string) Name() *string SetName(val *string) Node() constructs.Node Parameters() interface{} SetParameters(val interface{}) Policy() interface{} SetPolicy(val interface{}) Ref() *string Stack() awscdk.Stack Tags() awscdk.TagManager UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::RestApi`.
The `AWS::ApiGateway::RestApi` resource creates a REST API. For more information, see [restapi:create](https://docs.aws.amazon.com/apigateway/api-reference/link-relation/restapi-create/) in the *Amazon API Gateway REST API Reference* .
> On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/) , becoming the foundation of the OpenAPI Specification.
TODO: EXAMPLE
func NewCfnRestApi ¶
func NewCfnRestApi(scope constructs.Construct, id *string, props *CfnRestApiProps) CfnRestApi
Create a new `AWS::ApiGateway::RestApi`.
type CfnRestApiProps ¶
type CfnRestApiProps struct { // The source of the API key for metering requests according to a usage plan. Valid values are:. // // - `HEADER` to read the API key from the `X-API-Key` header of a request. // - `AUTHORIZER` to read the API key from the `UsageIdentifierKey` from a Lambda authorizer. ApiKeySourceType *string `json:"apiKeySourceType" yaml:"apiKeySourceType"` // The list of binary media types that are supported by the `RestApi` resource. // // Use `~1` instead of `/` in the media types, for example `image~1png` or `application~1octet-stream` . By default, `RestApi` supports only UTF-8-encoded text payloads. Duplicates are not allowed. For more information, see [Enable Support for Binary Payloads in API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-payload-encodings.html) in the *API Gateway Developer Guide* . BinaryMediaTypes *[]*string `json:"binaryMediaTypes" yaml:"binaryMediaTypes"` // An OpenAPI specification that defines a set of RESTful APIs in JSON format. // // For YAML templates, you can also provide the specification in YAML format. Body interface{} `json:"body" yaml:"body"` // The Amazon Simple Storage Service (Amazon S3) location that points to an OpenAPI file, which defines a set of RESTful APIs in JSON or YAML format. BodyS3Location interface{} `json:"bodyS3Location" yaml:"bodyS3Location"` // The ID of the `RestApi` resource that you want to clone. CloneFrom *string `json:"cloneFrom" yaml:"cloneFrom"` // A description of the `RestApi` resource. Description *string `json:"description" yaml:"description"` // Specifies whether clients can invoke your API by using the default `execute-api` endpoint. // // By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint. DisableExecuteApiEndpoint interface{} `json:"disableExecuteApiEndpoint" yaml:"disableExecuteApiEndpoint"` // A list of the endpoint types of the API. // // Use this property when creating an API. When importing an existing API, specify the endpoint configuration types using the `Parameters` property. EndpointConfiguration interface{} `json:"endpointConfiguration" yaml:"endpointConfiguration"` // Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the `RestApi` resource. FailOnWarnings interface{} `json:"failOnWarnings" yaml:"failOnWarnings"` // A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (with a null value) on an API. // // When compression is enabled, compression or decompression is not applied on the payload if the payload size is smaller than this value. Setting it to zero allows compression for any payload size. MinimumCompressionSize *float64 `json:"minimumCompressionSize" yaml:"minimumCompressionSize"` // This property applies only when you use OpenAPI to define your REST API. // // The `Mode` determines how API Gateway handles resource updates. // // Valid values are `overwrite` or `merge` . // // For `overwrite` , the new API definition replaces the existing one. The existing API identifier remains unchanged. // // For `merge` , the new API definition takes precedence, but any container types such as endpoint configurations and binary media types are merged with the existing API. Use `merge` to define top-level `RestApi` properties in addition to using OpenAPI. Generally, it's preferred to use API Gateway's OpenAPI extensions to model these properties. // // If you don't specify this property, a default value is chosen. For REST APIs created before March 29, 2021, the default is `overwrite` . Otherwise, the default value is `merge` . Mode *string `json:"mode" yaml:"mode"` // A name for the `RestApi` resource. Name *string `json:"name" yaml:"name"` // Custom header parameters for the request. Parameters interface{} `json:"parameters" yaml:"parameters"` // A policy document that contains the permissions for the `RestApi` resource. // // To set the ARN for the policy, use the `!Join` intrinsic function with `""` as delimiter and values of `"execute-api:/"` and `"*"` . Policy interface{} `json:"policy" yaml:"policy"` // An array of arbitrary tags (key-value pairs) to associate with the API. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` }
Properties for defining a `CfnRestApi`.
TODO: EXAMPLE
type CfnRestApi_EndpointConfigurationProperty ¶
type CfnRestApi_EndpointConfigurationProperty struct { // A list of endpoint types of an API or its custom domain name. Valid values include:. // // - `EDGE` : For an edge-optimized API and its custom domain name. // - `REGIONAL` : For a regional API and its custom domain name. // - `PRIVATE` : For a private API. Types *[]*string `json:"types" yaml:"types"` // A list of VPC endpoint IDs of an API ( [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) ) against which to create Route53 ALIASes. It is only supported for `PRIVATE` endpoint type. VpcEndpointIds *[]*string `json:"vpcEndpointIds" yaml:"vpcEndpointIds"` }
The `EndpointConfiguration` property type specifies the endpoint types of a REST API.
`EndpointConfiguration` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource.
TODO: EXAMPLE
type CfnRestApi_S3LocationProperty ¶
type CfnRestApi_S3LocationProperty struct { // The name of the S3 bucket where the OpenAPI file is stored. Bucket *string `json:"bucket" yaml:"bucket"` // The Amazon S3 ETag (a file checksum) of the OpenAPI file. // // If you don't specify a value, API Gateway skips ETag validation of your OpenAPI file. ETag *string `json:"eTag" yaml:"eTag"` // The file name of the OpenAPI file (Amazon S3 object name). Key *string `json:"key" yaml:"key"` // For versioning-enabled buckets, a specific version of the OpenAPI file. Version *string `json:"version" yaml:"version"` }
`S3Location` is a property of the [AWS::ApiGateway::RestApi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) resource that specifies the Amazon S3 location of a OpenAPI (formerly Swagger) file that defines a set of RESTful APIs in JSON or YAML.
> On January 1, 2016, the Swagger Specification was donated to the [OpenAPI initiative](https://docs.aws.amazon.com/https://www.openapis.org/) , becoming the foundation of the OpenAPI Specification.
TODO: EXAMPLE
type CfnStage ¶
type CfnStage interface { awscdk.CfnResource awscdk.IInspectable AccessLogSetting() interface{} SetAccessLogSetting(val interface{}) CacheClusterEnabled() interface{} SetCacheClusterEnabled(val interface{}) CacheClusterSize() *string SetCacheClusterSize(val *string) CanarySetting() interface{} SetCanarySetting(val interface{}) CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string ClientCertificateId() *string SetClientCertificateId(val *string) CreationStack() *[]*string DeploymentId() *string SetDeploymentId(val *string) Description() *string SetDescription(val *string) DocumentationVersion() *string SetDocumentationVersion(val *string) LogicalId() *string MethodSettings() interface{} SetMethodSettings(val interface{}) Node() constructs.Node Ref() *string RestApiId() *string SetRestApiId(val *string) Stack() awscdk.Stack StageName() *string SetStageName(val *string) Tags() awscdk.TagManager TracingEnabled() interface{} SetTracingEnabled(val interface{}) UpdatedProperites() *map[string]interface{} Variables() interface{} SetVariables(val interface{}) AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::Stage`.
The `AWS::ApiGateway::Stage` resource creates a stage for a deployment.
TODO: EXAMPLE
func NewCfnStage ¶
func NewCfnStage(scope constructs.Construct, id *string, props *CfnStageProps) CfnStage
Create a new `AWS::ApiGateway::Stage`.
type CfnStageProps ¶
type CfnStageProps struct { // The ID of the `RestApi` resource that you're deploying with this stage. RestApiId *string `json:"restApiId" yaml:"restApiId"` // Specifies settings for logging access in this stage. AccessLogSetting interface{} `json:"accessLogSetting" yaml:"accessLogSetting"` // Indicates whether cache clustering is enabled for the stage. CacheClusterEnabled interface{} `json:"cacheClusterEnabled" yaml:"cacheClusterEnabled"` // The stage's cache cluster size. CacheClusterSize *string `json:"cacheClusterSize" yaml:"cacheClusterSize"` // Specifies settings for the canary deployment in this stage. CanarySetting interface{} `json:"canarySetting" yaml:"canarySetting"` // The ID of the client certificate that API Gateway uses to call your integration endpoints in the stage. ClientCertificateId *string `json:"clientCertificateId" yaml:"clientCertificateId"` // The ID of the deployment that the stage is associated with. // // This parameter is required to create a stage. DeploymentId *string `json:"deploymentId" yaml:"deploymentId"` // A description of the stage. Description *string `json:"description" yaml:"description"` // The version ID of the API documentation snapshot. DocumentationVersion *string `json:"documentationVersion" yaml:"documentationVersion"` // Settings for all methods in the stage. MethodSettings interface{} `json:"methodSettings" yaml:"methodSettings"` // The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI). StageName *string `json:"stageName" yaml:"stageName"` // An array of arbitrary tags (key-value pairs) to associate with the stage. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` // Specifies whether active X-Ray tracing is enabled for this stage. // // For more information, see [Trace API Gateway API Execution with AWS X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) in the *API Gateway Developer Guide* . TracingEnabled interface{} `json:"tracingEnabled" yaml:"tracingEnabled"` // A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. // // Variable names are limited to alphanumeric characters. Values must match the following regular expression: `[A-Za-z0-9-._~:/?#&=,]+` . Variables interface{} `json:"variables" yaml:"variables"` }
Properties for defining a `CfnStage`.
TODO: EXAMPLE
type CfnStage_AccessLogSettingProperty ¶
type CfnStage_AccessLogSettingProperty 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-` . This parameter is required to enable access logging. DestinationArn *string `json:"destinationArn" yaml:"destinationArn"` // A single line format of the access logs of data, as specified by selected [$context variables](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference) . The format must include at least `$context.requestId` . This parameter is required to enable access logging. Format *string `json:"format" yaml:"format"` }
The `AccessLogSetting` property type specifies settings for logging access in this stage.
`AccessLogSetting` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.
TODO: EXAMPLE
type CfnStage_CanarySettingProperty ¶
type CfnStage_CanarySettingProperty struct { // The identifier of the deployment that the stage points to. DeploymentId *string `json:"deploymentId" yaml:"deploymentId"` // The percentage (0-100) of traffic diverted to a canary deployment. PercentTraffic *float64 `json:"percentTraffic" yaml:"percentTraffic"` // Stage variables overridden for a canary release deployment, including new stage variables introduced in the canary. // // These stage variables are represented as a string-to-string map between stage variable names and their values. // // Duplicates are not allowed. StageVariableOverrides interface{} `json:"stageVariableOverrides" yaml:"stageVariableOverrides"` // Whether the canary deployment uses the stage cache or not. UseStageCache interface{} `json:"useStageCache" yaml:"useStageCache"` }
The `CanarySetting` property type specifies settings for the canary deployment in this stage.
`CanarySetting` is a property of the [AWS::ApiGateway::Stage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html) resource.
TODO: EXAMPLE
type CfnStage_MethodSettingProperty ¶
type CfnStage_MethodSettingProperty struct { // Indicates whether the cached responses are encrypted. CacheDataEncrypted interface{} `json:"cacheDataEncrypted" yaml:"cacheDataEncrypted"` // The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. CacheTtlInSeconds *float64 `json:"cacheTtlInSeconds" yaml:"cacheTtlInSeconds"` // Indicates whether responses are cached and returned for requests. // // You must enable a cache cluster on the stage to cache responses. CachingEnabled interface{} `json:"cachingEnabled" yaml:"cachingEnabled"` // Indicates whether data trace logging is enabled for methods in the stage. // // API Gateway pushes these logs to Amazon CloudWatch Logs. DataTraceEnabled interface{} `json:"dataTraceEnabled" yaml:"dataTraceEnabled"` // The HTTP method. // // To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` . HttpMethod *string `json:"httpMethod" yaml:"httpMethod"` // The logging level for this method. // // For valid values, see the `loggingLevel` property of the [Stage](https://docs.aws.amazon.com/apigateway/api-reference/resource/stage/#loggingLevel) resource in the *Amazon API Gateway API Reference* . LoggingLevel *string `json:"loggingLevel" yaml:"loggingLevel"` // Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage. MetricsEnabled interface{} `json:"metricsEnabled" yaml:"metricsEnabled"` // The resource path for this method. // // Forward slashes ( `/` ) are encoded as `~1` and the initial slash must include a forward slash. For example, the path value `/resource/subresource` must be encoded as `/~1resource~1subresource` . To specify the root path, use only a slash ( `/` ). To apply settings to multiple resources and methods, specify an asterisk ( `*` ) for the `HttpMethod` and `/*` for the `ResourcePath` . This parameter is required when you specify a `MethodSetting` . ResourcePath *string `json:"resourcePath" yaml:"resourcePath"` // The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account . // // For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* . ThrottlingBurstLimit *float64 `json:"throttlingBurstLimit" yaml:"throttlingBurstLimit"` // The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account . // // For more information, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* . ThrottlingRateLimit *float64 `json:"throttlingRateLimit" yaml:"throttlingRateLimit"` }
The `MethodSetting` property type configures settings for all methods in a stage.
The `MethodSettings` property of the `AWS::ApiGateway::Stage` resource contains a list of `MethodSetting` property types.
TODO: EXAMPLE
type CfnUsagePlan ¶
type CfnUsagePlan interface { awscdk.CfnResource awscdk.IInspectable ApiStages() interface{} SetApiStages(val interface{}) AttrId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string Description() *string SetDescription(val *string) LogicalId() *string Node() constructs.Node Quota() interface{} SetQuota(val interface{}) Ref() *string Stack() awscdk.Stack Tags() awscdk.TagManager Throttle() interface{} SetThrottle(val interface{}) UpdatedProperites() *map[string]interface{} UsagePlanName() *string SetUsagePlanName(val *string) AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::UsagePlan`.
The `AWS::ApiGateway::UsagePlan` resource creates a usage plan for deployed APIs. A usage plan sets a target for the throttling and quota limits on individual client API keys. For more information, see [Creating and Using API Usage Plans in Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) in the *API Gateway Developer Guide* .
In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
TODO: EXAMPLE
func NewCfnUsagePlan ¶
func NewCfnUsagePlan(scope constructs.Construct, id *string, props *CfnUsagePlanProps) CfnUsagePlan
Create a new `AWS::ApiGateway::UsagePlan`.
type CfnUsagePlanKey ¶
type CfnUsagePlanKey interface { awscdk.CfnResource awscdk.IInspectable AttrId() *string CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string KeyId() *string SetKeyId(val *string) KeyType() *string SetKeyType(val *string) LogicalId() *string Node() constructs.Node Ref() *string Stack() awscdk.Stack UpdatedProperites() *map[string]interface{} UsagePlanId() *string SetUsagePlanId(val *string) AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::UsagePlanKey`.
The `AWS::ApiGateway::UsagePlanKey` resource associates an API key with a usage plan. This association determines which users the usage plan is applied to.
TODO: EXAMPLE
func NewCfnUsagePlanKey ¶
func NewCfnUsagePlanKey(scope constructs.Construct, id *string, props *CfnUsagePlanKeyProps) CfnUsagePlanKey
Create a new `AWS::ApiGateway::UsagePlanKey`.
type CfnUsagePlanKeyProps ¶
type CfnUsagePlanKeyProps struct { // The ID of the usage plan key. KeyId *string `json:"keyId" yaml:"keyId"` // The type of usage plan key. // // Currently, the only valid key type is `API_KEY` . KeyType *string `json:"keyType" yaml:"keyType"` // The ID of the usage plan. UsagePlanId *string `json:"usagePlanId" yaml:"usagePlanId"` }
Properties for defining a `CfnUsagePlanKey`.
TODO: EXAMPLE
type CfnUsagePlanProps ¶
type CfnUsagePlanProps struct { // The API stages to associate with this usage plan. ApiStages interface{} `json:"apiStages" yaml:"apiStages"` // A description of the usage plan. Description *string `json:"description" yaml:"description"` // Configures the number of requests that users can make within a given interval. Quota interface{} `json:"quota" yaml:"quota"` // An array of arbitrary tags (key-value pairs) to associate with the usage plan. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` // Configures the overall request rate (average requests per second) and burst capacity. Throttle interface{} `json:"throttle" yaml:"throttle"` // A name for the usage plan. UsagePlanName *string `json:"usagePlanName" yaml:"usagePlanName"` }
Properties for defining a `CfnUsagePlan`.
TODO: EXAMPLE
type CfnUsagePlan_ApiStageProperty ¶
type CfnUsagePlan_ApiStageProperty struct { // The ID of an API that is in the specified `Stage` property that you want to associate with the usage plan. ApiId *string `json:"apiId" yaml:"apiId"` // The name of the stage to associate with the usage plan. Stage *string `json:"stage" yaml:"stage"` // Map containing method-level throttling information for an API stage in a usage plan. // // The key for the map is the path and method for which to configure custom throttling, for example, "/pets/GET". // // Duplicates are not allowed. Throttle interface{} `json:"throttle" yaml:"throttle"` }
`ApiStage` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies which stages and APIs to associate with a usage plan.
TODO: EXAMPLE
type CfnUsagePlan_QuotaSettingsProperty ¶
type CfnUsagePlan_QuotaSettingsProperty struct { // The target maximum number of requests that can be made in a given time period. Limit *float64 `json:"limit" yaml:"limit"` // The day that a time period starts. // // For example, with a time period of `WEEK` , an offset of `0` starts on Sunday, and an offset of `1` starts on Monday. Offset *float64 `json:"offset" yaml:"offset"` // The time period for which the target maximum limit of requests applies, such as `DAY` or `WEEK` . // // For valid values, see the period property for the [UsagePlan](https://docs.aws.amazon.com/apigateway/api-reference/resource/usage-plan) resource in the *Amazon API Gateway REST API Reference* . Period *string `json:"period" yaml:"period"` }
`QuotaSettings` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies a target for the maximum number of requests users can make to your REST APIs.
In some cases clients can exceed the targets that you set. Don’t rely on usage plans to control costs. Consider using [AWS Budgets](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html) to monitor costs and [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html) to manage API requests.
TODO: EXAMPLE
type CfnUsagePlan_ThrottleSettingsProperty ¶
type CfnUsagePlan_ThrottleSettingsProperty struct { // The API target request burst rate limit. // // This allows more requests through for a period of time than the target rate limit. For more information about request throttling, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* . BurstLimit *float64 `json:"burstLimit" yaml:"burstLimit"` // The API target request steady-state rate limit. // // For more information about request throttling, see [Manage API Request Throttling](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html) in the *API Gateway Developer Guide* . RateLimit *float64 `json:"rateLimit" yaml:"rateLimit"` }
`ThrottleSettings` is a property of the [AWS::ApiGateway::UsagePlan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html) resource that specifies the overall request rate (average requests per second) and burst capacity when users call your REST APIs.
TODO: EXAMPLE
type CfnVpcLink ¶
type CfnVpcLink interface { awscdk.CfnResource awscdk.IInspectable CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} CfnResourceType() *string CreationStack() *[]*string Description() *string SetDescription(val *string) LogicalId() *string Name() *string SetName(val *string) Node() constructs.Node Ref() *string Stack() awscdk.Stack Tags() awscdk.TagManager TargetArns() *[]*string SetTargetArns(val *[]*string) UpdatedProperites() *map[string]interface{} AddDeletionOverride(path *string) AddDependsOn(target awscdk.CfnResource) AddMetadata(key *string, value interface{}) AddOverride(path *string, value interface{}) AddPropertyDeletionOverride(propertyPath *string) AddPropertyOverride(propertyPath *string, value interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) GetAtt(attributeName *string) awscdk.Reference GetMetadata(key *string) interface{} Inspect(inspector awscdk.TreeInspector) OverrideLogicalId(newLogicalId *string) RenderProperties(props *map[string]interface{}) *map[string]interface{} ShouldSynthesize() *bool ToString() *string ValidateProperties(_properties interface{}) }
A CloudFormation `AWS::ApiGateway::VpcLink`.
The `AWS::ApiGateway::VpcLink` resource creates an API Gateway VPC link for a REST API to access resources in an Amazon Virtual Private Cloud (VPC). For more information, see [vpclink:create](https://docs.aws.amazon.com/apigateway/api-reference/link-relation/vpclink-create/) in the `Amazon API Gateway REST API Reference` .
TODO: EXAMPLE
func NewCfnVpcLink ¶
func NewCfnVpcLink(scope constructs.Construct, id *string, props *CfnVpcLinkProps) CfnVpcLink
Create a new `AWS::ApiGateway::VpcLink`.
type CfnVpcLinkProps ¶
type CfnVpcLinkProps struct { // A name for the VPC link. Name *string `json:"name" yaml:"name"` // The ARN of network load balancer of the VPC targeted by the VPC link. // // The network load balancer must be owned by the same AWS account of the API owner. TargetArns *[]*string `json:"targetArns" yaml:"targetArns"` // A description of the VPC link. Description *string `json:"description" yaml:"description"` // An array of arbitrary tags (key-value pairs) to associate with the VPC link. Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"` }
Properties for defining a `CfnVpcLink`.
TODO: EXAMPLE
type CognitoUserPoolsAuthorizer ¶
type CognitoUserPoolsAuthorizer interface { Authorizer IAuthorizer AuthorizationType() AuthorizationType AuthorizerArn() *string AuthorizerId() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
Cognito user pools based custom authorizer.
TODO: EXAMPLE
func NewCognitoUserPoolsAuthorizer ¶
func NewCognitoUserPoolsAuthorizer(scope constructs.Construct, id *string, props *CognitoUserPoolsAuthorizerProps) CognitoUserPoolsAuthorizer
type CognitoUserPoolsAuthorizerProps ¶
type CognitoUserPoolsAuthorizerProps struct { // The user pools to associate with this authorizer. CognitoUserPools *[]awscognito.IUserPool `json:"cognitoUserPools" yaml:"cognitoUserPools"` // An optional human friendly name for the authorizer. // // Note that, this is not the primary identifier of the authorizer. AuthorizerName *string `json:"authorizerName" yaml:"authorizerName"` // The request header mapping expression for the bearer token. // // This is typically passed as part of the header, in which case // this should be `method.request.header.Authorizer` where Authorizer is the header containing the bearer token. // See: https://docs.aws.amazon.com/apigateway/api-reference/link-relation/authorizer-create/#identitySource // IdentitySource *string `json:"identitySource" yaml:"identitySource"` // How long APIGateway should cache the results. // // Max 1 hour. // Disable caching by setting this to 0. ResultsCacheTtl awscdk.Duration `json:"resultsCacheTtl" yaml:"resultsCacheTtl"` }
Properties for CognitoUserPoolsAuthorizer.
TODO: EXAMPLE
type ConnectionType ¶
type ConnectionType string
TODO: EXAMPLE
const ( ConnectionType_INTERNET ConnectionType = "INTERNET" ConnectionType_VPC_LINK ConnectionType = "VPC_LINK" )
type ContentHandling ¶
type ContentHandling string
TODO: EXAMPLE
const ( ContentHandling_CONVERT_TO_BINARY ContentHandling = "CONVERT_TO_BINARY" ContentHandling_CONVERT_TO_TEXT ContentHandling = "CONVERT_TO_TEXT" )
type CorsOptions ¶
type CorsOptions struct { // Specifies the list of origins that are allowed to make requests to this resource. // // If you wish to allow all origins, specify `Cors.ALL_ORIGINS` or // `[ * ]`. // // Responses will include the `Access-Control-Allow-Origin` response header. // If `Cors.ALL_ORIGINS` is specified, the `Vary: Origin` response header will // also be included. // See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin // AllowOrigins *[]*string `json:"allowOrigins" yaml:"allowOrigins"` // The Access-Control-Allow-Credentials response header tells browsers whether to expose the response to frontend JavaScript code when the request's credentials mode (Request.credentials) is "include". // // When a request's credentials mode (Request.credentials) is "include", // browsers will only expose the response to frontend JavaScript code if the // Access-Control-Allow-Credentials value is true. // // Credentials are cookies, authorization headers or TLS client certificates. // See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials // AllowCredentials *bool `json:"allowCredentials" yaml:"allowCredentials"` // The Access-Control-Allow-Headers response header is used in response to a preflight request which includes the Access-Control-Request-Headers to indicate which HTTP headers can be used during the actual request. // See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers // AllowHeaders *[]*string `json:"allowHeaders" yaml:"allowHeaders"` // The Access-Control-Allow-Methods response header specifies the method or methods allowed when accessing the resource in response to a preflight request. // // If `ANY` is specified, it will be expanded to `Cors.ALL_METHODS`. // See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods // AllowMethods *[]*string `json:"allowMethods" yaml:"allowMethods"` // Sets Access-Control-Max-Age to -1, which means that caching is disabled. // // This option cannot be used with `maxAge`. DisableCache *bool `json:"disableCache" yaml:"disableCache"` // The Access-Control-Expose-Headers response header indicates which headers can be exposed as part of the response by listing their names. // // If you want clients to be able to access other headers, you have to list // them using the Access-Control-Expose-Headers header. // See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers // ExposeHeaders *[]*string `json:"exposeHeaders" yaml:"exposeHeaders"` // The Access-Control-Max-Age response header indicates how long the results of a preflight request (that is the information contained in the Access-Control-Allow-Methods and Access-Control-Allow-Headers headers) can be cached. // // To disable caching altogether use `disableCache: true`. // See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age // MaxAge awscdk.Duration `json:"maxAge" yaml:"maxAge"` // Specifies the response status code returned from the OPTIONS method. StatusCode *float64 `json:"statusCode" yaml:"statusCode"` }
TODO: EXAMPLE
type Deployment ¶
type Deployment interface { awscdk.Resource Api() IRestApi DeploymentId() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack AddToLogicalId(data interface{}) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
A Deployment of a REST API.
An immutable representation of a RestApi resource that can be called by users using Stages. A deployment must be associated with a Stage for it to be callable over the Internet.
Normally, you don't need to define deployments manually. The RestApi construct manages a Deployment resource that represents the latest model. It can be accessed through `restApi.latestDeployment` (unless `deploy: false` is set when defining the `RestApi`).
If you manually define this resource, you will need to know that since deployments are immutable, as long as the resource's logical ID doesn't change, the deployment will represent the snapshot in time in which the resource was created. This means that if you modify the RestApi model (i.e. add methods or resources), these changes will not be reflected unless a new deployment resource is created.
To achieve this behavior, the method `addToLogicalId(data)` can be used to augment the logical ID generated for the deployment resource such that it will include arbitrary data. This is done automatically for the `restApi.latestDeployment` deployment.
Furthermore, since a deployment does not reference any of the REST API resources and methods, CloudFormation will likely provision it before these resources are created, which means that it will represent a "half-baked" model. Use the `node.addDependency(dep)` method to circumvent that. This is done automatically for the `restApi.latestDeployment` deployment.
TODO: EXAMPLE
func NewDeployment ¶
func NewDeployment(scope constructs.Construct, id *string, props *DeploymentProps) Deployment
type DeploymentProps ¶
type DeploymentProps struct { // The Rest API to deploy. Api IRestApi `json:"api" yaml:"api"` // A description of the purpose of the API Gateway deployment. Description *string `json:"description" yaml:"description"` // When an API Gateway model is updated, a new deployment will automatically be created. // // If this is true, the old API Gateway Deployment resource will not be deleted. // This will allow manually reverting back to a previous deployment in case for example RetainDeployments *bool `json:"retainDeployments" yaml:"retainDeployments"` }
TODO: EXAMPLE
type DomainName ¶
type DomainName interface { awscdk.Resource IDomainName DomainName() *string DomainNameAliasDomainName() *string DomainNameAliasHostedZoneId() *string Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack AddBasePathMapping(targetApi IRestApi, options *BasePathMappingOptions) BasePathMapping ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
TODO: EXAMPLE
func NewDomainName ¶
func NewDomainName(scope constructs.Construct, id *string, props *DomainNameProps) DomainName
type DomainNameAttributes ¶
type DomainNameAttributes struct { // The domain name (e.g. `example.com`). DomainName *string `json:"domainName" yaml:"domainName"` // The Route53 hosted zone ID to use in order to connect a record set to this domain through an alias. DomainNameAliasHostedZoneId *string `json:"domainNameAliasHostedZoneId" yaml:"domainNameAliasHostedZoneId"` // The Route53 alias target to use in order to connect a record set to this domain through an alias. DomainNameAliasTarget *string `json:"domainNameAliasTarget" yaml:"domainNameAliasTarget"` }
TODO: EXAMPLE
type DomainNameOptions ¶
type DomainNameOptions struct { // The reference to an AWS-managed certificate for use by the edge-optimized endpoint for the domain name. // // For "EDGE" domain names, the certificate // needs to be in the US East (N. Virginia) region. Certificate awscertificatemanager.ICertificate `json:"certificate" yaml:"certificate"` // The custom domain name for your API. // // Uppercase letters are not supported. DomainName *string `json:"domainName" yaml:"domainName"` // The base path name that callers of the API must provide in the URL after the domain name (e.g. `example.com/base-path`). If you specify this property, it can't be an empty string. BasePath *string `json:"basePath" yaml:"basePath"` // The type of endpoint for this DomainName. EndpointType EndpointType `json:"endpointType" yaml:"endpointType"` // The mutual TLS authentication configuration for a custom domain name. Mtls *MTLSConfig `json:"mtls" yaml:"mtls"` // The Transport Layer Security (TLS) version + cipher suite for this domain name. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html // SecurityPolicy SecurityPolicy `json:"securityPolicy" yaml:"securityPolicy"` }
TODO: EXAMPLE
type DomainNameProps ¶
type DomainNameProps struct { // The reference to an AWS-managed certificate for use by the edge-optimized endpoint for the domain name. // // For "EDGE" domain names, the certificate // needs to be in the US East (N. Virginia) region. Certificate awscertificatemanager.ICertificate `json:"certificate" yaml:"certificate"` // The custom domain name for your API. // // Uppercase letters are not supported. DomainName *string `json:"domainName" yaml:"domainName"` // The base path name that callers of the API must provide in the URL after the domain name (e.g. `example.com/base-path`). If you specify this property, it can't be an empty string. BasePath *string `json:"basePath" yaml:"basePath"` // The type of endpoint for this DomainName. EndpointType EndpointType `json:"endpointType" yaml:"endpointType"` // The mutual TLS authentication configuration for a custom domain name. Mtls *MTLSConfig `json:"mtls" yaml:"mtls"` // The Transport Layer Security (TLS) version + cipher suite for this domain name. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html // SecurityPolicy SecurityPolicy `json:"securityPolicy" yaml:"securityPolicy"` // If specified, all requests to this domain will be mapped to the production deployment of this API. // // If you wish to map this domain to multiple APIs // with different base paths, don't specify this option and use // `addBasePathMapping`. Mapping IRestApi `json:"mapping" yaml:"mapping"` }
TODO: EXAMPLE
type EndpointConfiguration ¶
type EndpointConfiguration struct { // A list of endpoint types of an API or its custom domain name. Types *[]EndpointType `json:"types" yaml:"types"` // A list of VPC Endpoints against which to create Route53 ALIASes. VpcEndpoints *[]awsec2.IVpcEndpoint `json:"vpcEndpoints" yaml:"vpcEndpoints"` }
The endpoint configuration of a REST API, including VPCs and endpoint types.
EndpointConfiguration is a property of the AWS::ApiGateway::RestApi resource.
TODO: EXAMPLE
type EndpointType ¶
type EndpointType string
TODO: EXAMPLE
const ( EndpointType_EDGE EndpointType = "EDGE" EndpointType_REGIONAL EndpointType = "REGIONAL" EndpointType_PRIVATE EndpointType = "PRIVATE" )
type GatewayResponse ¶
type GatewayResponse interface { awscdk.Resource IGatewayResponse Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
Configure the response received by clients, produced from the API Gateway backend.
TODO: EXAMPLE
func NewGatewayResponse ¶
func NewGatewayResponse(scope constructs.Construct, id *string, props *GatewayResponseProps) GatewayResponse
type GatewayResponseOptions ¶
type GatewayResponseOptions struct { // Response type to associate with gateway response. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html // Type ResponseType `json:"type" yaml:"type"` // Custom headers parameters for response. ResponseHeaders *map[string]*string `json:"responseHeaders" yaml:"responseHeaders"` // Http status code for response. StatusCode *string `json:"statusCode" yaml:"statusCode"` // Custom templates to get mapped as response. Templates *map[string]*string `json:"templates" yaml:"templates"` }
Options to add gateway response.
TODO: EXAMPLE
type GatewayResponseProps ¶
type GatewayResponseProps struct { // Response type to associate with gateway response. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html // Type ResponseType `json:"type" yaml:"type"` // Custom headers parameters for response. ResponseHeaders *map[string]*string `json:"responseHeaders" yaml:"responseHeaders"` // Http status code for response. StatusCode *string `json:"statusCode" yaml:"statusCode"` // Custom templates to get mapped as response. Templates *map[string]*string `json:"templates" yaml:"templates"` // Rest api resource to target. RestApi IRestApi `json:"restApi" yaml:"restApi"` }
Properties for a new gateway response.
TODO: EXAMPLE
type HttpIntegration ¶
type HttpIntegration interface { Integration Bind(_method Method) *IntegrationConfig }
You can integrate an API method with an HTTP endpoint using the HTTP proxy integration or the HTTP custom integration,.
With the proxy integration, the setup is simple. You only need to set the HTTP method and the HTTP endpoint URI, according to the backend requirements, if you are not concerned with content encoding or caching.
With the custom integration, the setup is more involved. In addition to the proxy integration setup steps, you need to specify how the incoming request data is mapped to the integration request and how the resulting integration response data is mapped to the method response.
TODO: EXAMPLE
func NewHttpIntegration ¶
func NewHttpIntegration(url *string, props *HttpIntegrationProps) HttpIntegration
type HttpIntegrationProps ¶
type HttpIntegrationProps struct { // HTTP method to use when invoking the backend URL. HttpMethod *string `json:"httpMethod" yaml:"httpMethod"` // Integration options, such as request/resopnse mapping, content handling, etc. Options *IntegrationOptions `json:"options" yaml:"options"` // Determines whether to use proxy integration or custom integration. Proxy *bool `json:"proxy" yaml:"proxy"` }
TODO: EXAMPLE
type IAccessLogDestination ¶
type IAccessLogDestination interface { // Binds this destination to the RestApi Stage. Bind(stage IStage) *AccessLogDestinationConfig }
Access log destination for a RestApi Stage.
type IApiKey ¶
type IApiKey interface { awscdk.IResource // The API key ARN. KeyArn() *string // The API key ID. KeyId() *string }
API keys are alphanumeric string values that you distribute to app developer customers to grant access to your API.
func ApiKey_FromApiKeyId ¶
Import an ApiKey by its Id.
type IAuthorizer ¶
type IAuthorizer interface { // The authorization type of this authorizer. AuthorizationType() AuthorizationType // The authorizer ID. AuthorizerId() *string }
Represents an API Gateway authorizer.
type IDomainName ¶
type IDomainName interface { awscdk.IResource // The domain name (e.g. `example.com`). DomainName() *string // The Route53 alias target to use in order to connect a record set to this domain through an alias. DomainNameAliasDomainName() *string // The Route53 hosted zone ID to use in order to connect a record set to this domain through an alias. DomainNameAliasHostedZoneId() *string }
func DomainName_FromDomainNameAttributes ¶
func DomainName_FromDomainNameAttributes(scope constructs.Construct, id *string, attrs *DomainNameAttributes) IDomainName
Imports an existing domain name.
type IGatewayResponse ¶
type IGatewayResponse interface { awscdk.IResource }
Represents gateway response resource.
type IModel ¶
type IModel interface { // Returns the model name, such as 'myModel'. ModelId() *string }
func Model_EMPTY_MODEL ¶
func Model_EMPTY_MODEL() IModel
func Model_ERROR_MODEL ¶
func Model_ERROR_MODEL() IModel
func Model_FromModelName ¶
type IRequestValidator ¶
type IRequestValidator interface { awscdk.IResource // ID of the request validator, such as abc123. RequestValidatorId() *string }
func RequestValidator_FromRequestValidatorId ¶
func RequestValidator_FromRequestValidatorId(scope constructs.Construct, id *string, requestValidatorId *string) IRequestValidator
type IResource ¶
type IResource interface { awscdk.IResource // Adds an OPTIONS method to this resource which responds to Cross-Origin Resource Sharing (CORS) preflight requests. // // Cross-Origin Resource Sharing (CORS) is a mechanism that uses additional // HTTP headers to tell browsers to give a web application running at one // origin, access to selected resources from a different origin. A web // application executes a cross-origin HTTP request when it requests a // resource that has a different origin (domain, protocol, or port) from its // own. // // Returns: a `Method` object // See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS // AddCorsPreflight(options *CorsOptions) Method // Defines a new method for this resource. // // Returns: The newly created `Method` object. AddMethod(httpMethod *string, target Integration, options *MethodOptions) Method // Adds a greedy proxy resource ("{proxy+}") and an ANY method to this route. AddProxy(options *ProxyResourceOptions) ProxyResource // Defines a new child resource where this resource is the parent. // // Returns: A Resource object AddResource(pathPart *string, options *ResourceOptions) Resource // Retrieves a child resource by path part. // // Returns: the child resource or undefined if not found GetResource(pathPart *string) IResource // Gets or create all resources leading up to the specified path. // // - Path may only start with "/" if this method is called on the root resource. // - All resources are created using default options. // // Returns: a new or existing resource. ResourceForPath(path *string) Resource // The rest API that this resource is part of. // // The reason we need the RestApi object itself and not just the ID is because the model // is being tracked by the top-level RestApi object for the purpose of calculating it's // hash to determine the ID of the deployment. This allows us to automatically update // the deployment when the model of the REST API changes. Api() IRestApi // Default options for CORS preflight OPTIONS method. DefaultCorsPreflightOptions() *CorsOptions // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration() Integration // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions() *MethodOptions // The parent of this resource or undefined for the root resource. ParentResource() IResource // The full path of this resource. Path() *string // The ID of the resource. ResourceId() *string }
func ProxyResource_FromResourceAttributes ¶
func ProxyResource_FromResourceAttributes(scope constructs.Construct, id *string, attrs *ResourceAttributes) IResource
Import an existing resource.
func Resource_FromResourceAttributes ¶
func Resource_FromResourceAttributes(scope constructs.Construct, id *string, attrs *ResourceAttributes) IResource
Import an existing resource.
type IRestApi ¶
type IRestApi interface { awscdk.IResource // Gets the "execute-api" ARN. // // Returns: The "execute-api" ARN. ArnForExecuteApi(method *string, path *string, stage *string) *string // API Gateway stage that points to the latest deployment (if defined). DeploymentStage() Stage // API Gateway stage that points to the latest deployment (if defined). SetDeploymentStage(d Stage) // API Gateway deployment that represents the latest changes of the API. // // This resource will be automatically updated every time the REST API model changes. // `undefined` when no deployment is configured. LatestDeployment() Deployment // The ID of this API Gateway RestApi. RestApiId() *string // The resource ID of the root resource. RestApiRootResourceId() *string // Represents the root resource ("/") of this API. Use it to define the API model:. // // api.root.addMethod('ANY', redirectToHomePage); // "ANY /" // api.root.addResource('friends').addMethod('GET', getFriendsHandler); // "GET /friends" Root() IResource }
func LambdaRestApi_FromRestApiAttributes ¶
func LambdaRestApi_FromRestApiAttributes(scope constructs.Construct, id *string, attrs *RestApiAttributes) IRestApi
Import an existing RestApi that can be configured with additional Methods and Resources.
func LambdaRestApi_FromRestApiId ¶
func LambdaRestApi_FromRestApiId(scope constructs.Construct, id *string, restApiId *string) IRestApi
Import an existing RestApi.
func RestApi_FromRestApiAttributes ¶
func RestApi_FromRestApiAttributes(scope constructs.Construct, id *string, attrs *RestApiAttributes) IRestApi
Import an existing RestApi that can be configured with additional Methods and Resources.
func RestApi_FromRestApiId ¶
Import an existing RestApi.
func StepFunctionsRestApi_FromRestApiAttributes ¶ added in v2.1.0
func StepFunctionsRestApi_FromRestApiAttributes(scope constructs.Construct, id *string, attrs *RestApiAttributes) IRestApi
Import an existing RestApi that can be configured with additional Methods and Resources.
func StepFunctionsRestApi_FromRestApiId ¶ added in v2.1.0
func StepFunctionsRestApi_FromRestApiId(scope constructs.Construct, id *string, restApiId *string) IRestApi
Import an existing RestApi.
type IStage ¶
type IStage interface { awscdk.IResource // RestApi to which this stage is associated. RestApi() IRestApi // Name of this stage. StageName() *string }
Represents an APIGateway Stage.
type IUsagePlan ¶
type IUsagePlan interface { awscdk.IResource // Adds an ApiKey. AddApiKey(apiKey IApiKey, options *AddApiKeyOptions) // Id of the usage plan. UsagePlanId() *string }
A UsagePlan, either managed by this CDK app, or imported.
func UsagePlan_FromUsagePlanId ¶
func UsagePlan_FromUsagePlanId(scope constructs.Construct, id *string, usagePlanId *string) IUsagePlan
Import an externally defined usage plan using its ARN.
type IVpcLink ¶
type IVpcLink interface { awscdk.IResource // Physical ID of the VpcLink resource. VpcLinkId() *string }
Represents an API Gateway VpcLink.
func VpcLink_FromVpcLinkId ¶
Import a VPC Link by its Id.
type IdentitySource ¶
type IdentitySource interface { }
Represents an identity source.
The source can be specified either as a literal value (e.g: `Auth`) which cannot be blank, or as an unresolved string token.
TODO: EXAMPLE
func NewIdentitySource ¶
func NewIdentitySource() IdentitySource
type InlineApiDefinition ¶
type InlineApiDefinition interface { ApiDefinition Bind(_scope constructs.Construct) *ApiDefinitionConfig BindAfterCreate(_scope constructs.Construct, _restApi IRestApi) }
OpenAPI specification from an inline JSON object.
TODO: EXAMPLE
func ApiDefinition_FromInline ¶
func ApiDefinition_FromInline(definition interface{}) InlineApiDefinition
Create an API definition from an inline object.
The inline object must follow the schema of OpenAPI 2.0 or OpenAPI 3.0
TODO: EXAMPLE
func AssetApiDefinition_FromInline ¶
func AssetApiDefinition_FromInline(definition interface{}) InlineApiDefinition
Create an API definition from an inline object.
The inline object must follow the schema of OpenAPI 2.0 or OpenAPI 3.0
TODO: EXAMPLE
func InlineApiDefinition_FromInline ¶
func InlineApiDefinition_FromInline(definition interface{}) InlineApiDefinition
Create an API definition from an inline object.
The inline object must follow the schema of OpenAPI 2.0 or OpenAPI 3.0
TODO: EXAMPLE
func NewInlineApiDefinition ¶
func NewInlineApiDefinition(definition interface{}) InlineApiDefinition
func S3ApiDefinition_FromInline ¶
func S3ApiDefinition_FromInline(definition interface{}) InlineApiDefinition
Create an API definition from an inline object.
The inline object must follow the schema of OpenAPI 2.0 or OpenAPI 3.0
TODO: EXAMPLE
type Integration ¶
type Integration interface {
Bind(_method Method) *IntegrationConfig
}
Base class for backend integrations for an API Gateway method.
Use one of the concrete classes such as `MockIntegration`, `AwsIntegration`, `LambdaIntegration` or implement on your own by specifying the set of props.
TODO: EXAMPLE
func NewIntegration ¶
func NewIntegration(props *IntegrationProps) Integration
type IntegrationConfig ¶
type IntegrationConfig struct { // Specifies an API method integration type. Type IntegrationType `json:"type" yaml:"type"` // This value is included in computing the Deployment's fingerprint. // // When the fingerprint // changes, a new deployment is triggered. // This property should contain values associated with the Integration that upon changing // should trigger a fresh the Deployment needs to be refreshed. DeploymentToken *string `json:"deploymentToken" yaml:"deploymentToken"` // The integration's HTTP method type. IntegrationHttpMethod *string `json:"integrationHttpMethod" yaml:"integrationHttpMethod"` // Integration options. Options *IntegrationOptions `json:"options" yaml:"options"` // The Uniform Resource Identifier (URI) for the integration. // See: https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/#uri // Uri *string `json:"uri" yaml:"uri"` }
Result of binding an Integration to a Method.
TODO: EXAMPLE
type IntegrationOptions ¶
type IntegrationOptions struct { // A list of request parameters whose values are to be cached. // // It determines // request parameters that will make it into the cache key. CacheKeyParameters *[]*string `json:"cacheKeyParameters" yaml:"cacheKeyParameters"` // An API-specific tag group of related cached parameters. CacheNamespace *string `json:"cacheNamespace" yaml:"cacheNamespace"` // The type of network connection to the integration endpoint. ConnectionType ConnectionType `json:"connectionType" yaml:"connectionType"` // Specifies how to handle request payload content type conversions. ContentHandling ContentHandling `json:"contentHandling" yaml:"contentHandling"` // Requires that the caller's identity be passed through from the request. CredentialsPassthrough *bool `json:"credentialsPassthrough" yaml:"credentialsPassthrough"` // An IAM role that API Gateway assumes. // // Mutually exclusive with `credentialsPassThrough`. CredentialsRole awsiam.IRole `json:"credentialsRole" yaml:"credentialsRole"` // The response that API Gateway provides after a method's backend completes processing a request. // // API Gateway intercepts the response from the // backend so that you can control how API Gateway surfaces backend // responses. For example, you can map the backend status codes to codes // that you define. IntegrationResponses *[]*IntegrationResponse `json:"integrationResponses" yaml:"integrationResponses"` // Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. // // There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and // NEVER. PassthroughBehavior PassthroughBehavior `json:"passthroughBehavior" yaml:"passthroughBehavior"` // The request parameters that API Gateway sends with the backend request. // // Specify request parameters as key-value pairs (string-to-string // mappings), with a destination as the key and a source as the value. // // Specify the destination by using the following pattern // integration.request.location.name, where location is querystring, path, // or header, and name is a valid, unique parameter name. // // The source must be an existing method request parameter or a static // value. You must enclose static values in single quotation marks and // pre-encode these values based on their destination in the request. RequestParameters *map[string]*string `json:"requestParameters" yaml:"requestParameters"` // A map of Apache Velocity templates that are applied on the request payload. // // The template that API Gateway uses is based on the value of the // Content-Type header that's sent by the client. The content type value is // the key, and the template is the value (specified as a string), such as // the following snippet: // // “` // { "application/json": "{ \"statusCode\": 200 }" } // “` // See: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html // RequestTemplates *map[string]*string `json:"requestTemplates" yaml:"requestTemplates"` // The maximum amount of time an integration will run before it returns without a response. // // Must be between 50 milliseconds and 29 seconds. Timeout awscdk.Duration `json:"timeout" yaml:"timeout"` // The VpcLink used for the integration. // // Required if connectionType is VPC_LINK VpcLink IVpcLink `json:"vpcLink" yaml:"vpcLink"` }
TODO: EXAMPLE
type IntegrationProps ¶
type IntegrationProps struct { // Specifies an API method integration type. Type IntegrationType `json:"type" yaml:"type"` // The integration's HTTP method type. // // Required unless you use a MOCK integration. IntegrationHttpMethod *string `json:"integrationHttpMethod" yaml:"integrationHttpMethod"` // Integration options. Options *IntegrationOptions `json:"options" yaml:"options"` // The Uniform Resource Identifier (URI) for the integration. // // - If you specify HTTP for the `type` property, specify the API endpoint URL. // - If you specify MOCK for the `type` property, don't specify this property. // - If you specify AWS for the `type` property, specify an AWS service that // follows this form: `arn:partition:apigateway:region:subdomain.service|service:path|action/service_api.` // For example, a Lambda function URI follows this form: // arn:partition:apigateway:region:lambda:path/path. The path is usually in the // form /2015-03-31/functions/LambdaFunctionARN/invocations. // See: https://docs.aws.amazon.com/apigateway/api-reference/resource/integration/#uri // Uri interface{} `json:"uri" yaml:"uri"` }
TODO: EXAMPLE
type IntegrationResponse ¶
type IntegrationResponse struct { // The status code that API Gateway uses to map the integration response to a MethodResponse status code. StatusCode *string `json:"statusCode" yaml:"statusCode"` // Specifies how to handle request payload content type conversions. ContentHandling ContentHandling `json:"contentHandling" yaml:"contentHandling"` // The response parameters from the backend response that API Gateway sends to the method response. // // Use the destination as the key and the source as the value: // // - The destination must be an existing response parameter in the // MethodResponse property. // - The source must be an existing method request parameter or a static // value. You must enclose static values in single quotation marks and // pre-encode these values based on the destination specified in the // request. // See: http://docs.aws.amazon.com/apigateway/latest/developerguide/request-response-data-mappings.html // ResponseParameters *map[string]*string `json:"responseParameters" yaml:"responseParameters"` // The templates that are used to transform the integration response body. // // Specify templates as key-value pairs, with a content type as the key and // a template as the value. // See: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html // ResponseTemplates *map[string]*string `json:"responseTemplates" yaml:"responseTemplates"` // Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the back end. // // For example, if the success response returns nothing and the error response returns some string, you // could use the “.+“ regex to match error response. However, make sure that the error response does not contain any // newline (“\n“) character in such cases. If the back end is an AWS Lambda function, the AWS Lambda function error // header is matched. For all other HTTP and AWS back ends, the HTTP status code is matched. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-integration-settings-integration-response.html // SelectionPattern *string `json:"selectionPattern" yaml:"selectionPattern"` }
TODO: EXAMPLE
type IntegrationType ¶
type IntegrationType string
TODO: EXAMPLE
const ( IntegrationType_AWS IntegrationType = "AWS" IntegrationType_AWS_PROXY IntegrationType = "AWS_PROXY" IntegrationType_HTTP IntegrationType = "HTTP" IntegrationType_HTTP_PROXY IntegrationType = "HTTP_PROXY" IntegrationType_MOCK IntegrationType = "MOCK" )
type JsonSchema ¶
type JsonSchema struct { AdditionalItems *[]*JsonSchema `json:"additionalItems" yaml:"additionalItems"` AdditionalProperties interface{} `json:"additionalProperties" yaml:"additionalProperties"` AllOf *[]*JsonSchema `json:"allOf" yaml:"allOf"` AnyOf *[]*JsonSchema `json:"anyOf" yaml:"anyOf"` Contains interface{} `json:"contains" yaml:"contains"` // The default value if you use an enum. Default interface{} `json:"default" yaml:"default"` Definitions *map[string]*JsonSchema `json:"definitions" yaml:"definitions"` Dependencies *map[string]interface{} `json:"dependencies" yaml:"dependencies"` Description *string `json:"description" yaml:"description"` Enum *[]interface{} `json:"enum" yaml:"enum"` ExclusiveMaximum *bool `json:"exclusiveMaximum" yaml:"exclusiveMaximum"` ExclusiveMinimum *bool `json:"exclusiveMinimum" yaml:"exclusiveMinimum"` Format *string `json:"format" yaml:"format"` Id *string `json:"id" yaml:"id"` Items interface{} `json:"items" yaml:"items"` Maximum *float64 `json:"maximum" yaml:"maximum"` MaxItems *float64 `json:"maxItems" yaml:"maxItems"` MaxLength *float64 `json:"maxLength" yaml:"maxLength"` MaxProperties *float64 `json:"maxProperties" yaml:"maxProperties"` Minimum *float64 `json:"minimum" yaml:"minimum"` MinItems *float64 `json:"minItems" yaml:"minItems"` MinLength *float64 `json:"minLength" yaml:"minLength"` MinProperties *float64 `json:"minProperties" yaml:"minProperties"` MultipleOf *float64 `json:"multipleOf" yaml:"multipleOf"` Not **JsonSchema `json:"not" yaml:"not"` OneOf *[]*JsonSchema `json:"oneOf" yaml:"oneOf"` Pattern *string `json:"pattern" yaml:"pattern"` PatternProperties *map[string]*JsonSchema `json:"patternProperties" yaml:"patternProperties"` Properties *map[string]*JsonSchema `json:"properties" yaml:"properties"` PropertyNames **JsonSchema `json:"propertyNames" yaml:"propertyNames"` Ref *string `json:"ref" yaml:"ref"` Required *[]*string `json:"required" yaml:"required"` Schema JsonSchemaVersion `json:"schema" yaml:"schema"` Title *string `json:"title" yaml:"title"` Type interface{} `json:"type" yaml:"type"` UniqueItems *bool `json:"uniqueItems" yaml:"uniqueItems"` }
Represents a JSON schema definition of the structure of a REST API model.
Copied from npm module jsonschema.
TODO: EXAMPLE
type JsonSchemaType ¶
type JsonSchemaType string
TODO: EXAMPLE
const ( JsonSchemaType_NULL JsonSchemaType = "NULL" JsonSchemaType_BOOLEAN JsonSchemaType = "BOOLEAN" JsonSchemaType_OBJECT JsonSchemaType = "OBJECT" JsonSchemaType_ARRAY JsonSchemaType = "ARRAY" JsonSchemaType_NUMBER JsonSchemaType = "NUMBER" JsonSchemaType_INTEGER JsonSchemaType = "INTEGER" JsonSchemaType_STRING JsonSchemaType = "STRING" )
type JsonSchemaVersion ¶
type JsonSchemaVersion string
TODO: EXAMPLE
const ( JsonSchemaVersion_DRAFT4 JsonSchemaVersion = "DRAFT4" JsonSchemaVersion_DRAFT7 JsonSchemaVersion = "DRAFT7" )
type JsonWithStandardFieldProps ¶
type JsonWithStandardFieldProps struct { // If this flag is enabled, the principal identifier of the caller will be output to the log. Caller *bool `json:"caller" yaml:"caller"` // If this flag is enabled, the http method will be output to the log. HttpMethod *bool `json:"httpMethod" yaml:"httpMethod"` // If this flag is enabled, the source IP of request will be output to the log. Ip *bool `json:"ip" yaml:"ip"` // If this flag is enabled, the request protocol will be output to the log. Protocol *bool `json:"protocol" yaml:"protocol"` // If this flag is enabled, the CLF-formatted request time((dd/MMM/yyyy:HH:mm:ss +-hhmm) will be output to the log. RequestTime *bool `json:"requestTime" yaml:"requestTime"` // If this flag is enabled, the path to your resource will be output to the log. ResourcePath *bool `json:"resourcePath" yaml:"resourcePath"` // If this flag is enabled, the response payload length will be output to the log. ResponseLength *bool `json:"responseLength" yaml:"responseLength"` // If this flag is enabled, the method response status will be output to the log. Status *bool `json:"status" yaml:"status"` // If this flag is enabled, the principal identifier of the user will be output to the log. User *bool `json:"user" yaml:"user"` }
Properties for controlling items output in JSON standard format.
TODO: EXAMPLE
type LambdaAuthorizerProps ¶
type LambdaAuthorizerProps struct { // The handler for the authorizer lambda function. // // The handler must follow a very specific protocol on the input it receives and the output it needs to produce. // API Gateway has documented the handler's input specification // {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-input.html | here} and output specification // {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-output.html | here}. Handler awslambda.IFunction `json:"handler" yaml:"handler"` // An optional IAM role for APIGateway to assume before calling the Lambda-based authorizer. // // The IAM role must be // assumable by 'apigateway.amazonaws.com'. AssumeRole awsiam.IRole `json:"assumeRole" yaml:"assumeRole"` // An optional human friendly name for the authorizer. // // Note that, this is not the primary identifier of the authorizer. AuthorizerName *string `json:"authorizerName" yaml:"authorizerName"` // How long APIGateway should cache the results. // // Max 1 hour. // Disable caching by setting this to 0. ResultsCacheTtl awscdk.Duration `json:"resultsCacheTtl" yaml:"resultsCacheTtl"` }
Base properties for all lambda authorizers.
TODO: EXAMPLE
type LambdaIntegration ¶
type LambdaIntegration interface { AwsIntegration Bind(method Method) *IntegrationConfig }
Integrates an AWS Lambda function to an API Gateway method.
TODO: EXAMPLE
func NewLambdaIntegration ¶
func NewLambdaIntegration(handler awslambda.IFunction, options *LambdaIntegrationOptions) LambdaIntegration
type LambdaIntegrationOptions ¶
type LambdaIntegrationOptions struct { // A list of request parameters whose values are to be cached. // // It determines // request parameters that will make it into the cache key. CacheKeyParameters *[]*string `json:"cacheKeyParameters" yaml:"cacheKeyParameters"` // An API-specific tag group of related cached parameters. CacheNamespace *string `json:"cacheNamespace" yaml:"cacheNamespace"` // The type of network connection to the integration endpoint. ConnectionType ConnectionType `json:"connectionType" yaml:"connectionType"` // Specifies how to handle request payload content type conversions. ContentHandling ContentHandling `json:"contentHandling" yaml:"contentHandling"` // Requires that the caller's identity be passed through from the request. CredentialsPassthrough *bool `json:"credentialsPassthrough" yaml:"credentialsPassthrough"` // An IAM role that API Gateway assumes. // // Mutually exclusive with `credentialsPassThrough`. CredentialsRole awsiam.IRole `json:"credentialsRole" yaml:"credentialsRole"` // The response that API Gateway provides after a method's backend completes processing a request. // // API Gateway intercepts the response from the // backend so that you can control how API Gateway surfaces backend // responses. For example, you can map the backend status codes to codes // that you define. IntegrationResponses *[]*IntegrationResponse `json:"integrationResponses" yaml:"integrationResponses"` // Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. // // There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and // NEVER. PassthroughBehavior PassthroughBehavior `json:"passthroughBehavior" yaml:"passthroughBehavior"` // The request parameters that API Gateway sends with the backend request. // // Specify request parameters as key-value pairs (string-to-string // mappings), with a destination as the key and a source as the value. // // Specify the destination by using the following pattern // integration.request.location.name, where location is querystring, path, // or header, and name is a valid, unique parameter name. // // The source must be an existing method request parameter or a static // value. You must enclose static values in single quotation marks and // pre-encode these values based on their destination in the request. RequestParameters *map[string]*string `json:"requestParameters" yaml:"requestParameters"` // A map of Apache Velocity templates that are applied on the request payload. // // The template that API Gateway uses is based on the value of the // Content-Type header that's sent by the client. The content type value is // the key, and the template is the value (specified as a string), such as // the following snippet: // // “` // { "application/json": "{ \"statusCode\": 200 }" } // “` // See: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html // RequestTemplates *map[string]*string `json:"requestTemplates" yaml:"requestTemplates"` // The maximum amount of time an integration will run before it returns without a response. // // Must be between 50 milliseconds and 29 seconds. Timeout awscdk.Duration `json:"timeout" yaml:"timeout"` // The VpcLink used for the integration. // // Required if connectionType is VPC_LINK VpcLink IVpcLink `json:"vpcLink" yaml:"vpcLink"` // Allow invoking method from AWS Console UI (for testing purposes). // // This will add another permission to the AWS Lambda resource policy which // will allow the `test-invoke-stage` stage to invoke this handler. If this // is set to `false`, the function will only be usable from the deployment // endpoint. AllowTestInvoke *bool `json:"allowTestInvoke" yaml:"allowTestInvoke"` // Use proxy integration or normal (request/response mapping) integration. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-format // Proxy *bool `json:"proxy" yaml:"proxy"` }
TODO: EXAMPLE
type LambdaRestApi ¶
type LambdaRestApi interface { RestApi CloudWatchAccount() CfnAccount SetCloudWatchAccount(val CfnAccount) DeploymentStage() Stage SetDeploymentStage(val Stage) DomainName() DomainName Env() *awscdk.ResourceEnvironment LatestDeployment() Deployment Methods() *[]Method Node() constructs.Node PhysicalName() *string RestApiId() *string RestApiName() *string RestApiRootResourceId() *string Root() IResource Stack() awscdk.Stack Url() *string AddApiKey(id *string, options *ApiKeyOptions) IApiKey AddDomainName(id *string, options *DomainNameOptions) DomainName AddGatewayResponse(id *string, options *GatewayResponseOptions) GatewayResponse AddModel(id *string, props *ModelOptions) Model AddRequestValidator(id *string, props *RequestValidatorOptions) RequestValidator AddUsagePlan(id *string, props *UsagePlanProps) UsagePlan ApplyRemovalPolicy(policy awscdk.RemovalPolicy) ArnForExecuteApi(method *string, path *string, stage *string) *string GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheHitCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheMissCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricClientError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricIntegrationLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricServerError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric ToString() *string UrlForPath(path *string) *string }
Defines an API Gateway REST API with AWS Lambda proxy integration.
Use the `proxy` property to define a greedy proxy ("{proxy+}") and "ANY" method from the specified path. If not defined, you will need to explicity add resources and methods to the API.
TODO: EXAMPLE
func NewLambdaRestApi ¶
func NewLambdaRestApi(scope constructs.Construct, id *string, props *LambdaRestApiProps) LambdaRestApi
type LambdaRestApiProps ¶
type LambdaRestApiProps struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // Automatically configure an AWS CloudWatch role for API Gateway. CloudWatchRole *bool `json:"cloudWatchRole" yaml:"cloudWatchRole"` // Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. // // Since API Gateway deployments are immutable, When this option is enabled // (by default), an AWS::ApiGateway::Deployment resource will automatically // created with a logical ID that hashes the API model (methods, resources // and options). This means that when the model changes, the logical ID of // this CloudFormation resource will change, and a new deployment will be // created. // // If this is set, `latestDeployment` will refer to the `Deployment` object // and `deploymentStage` will refer to a `Stage` that points to this // deployment. To customize the stage options, use the `deployOptions` // property. // // A CloudFormation Output will also be defined with the root URL endpoint // of this REST API. Deploy *bool `json:"deploy" yaml:"deploy"` // Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. // // If `deploy` is disabled, // this value cannot be set. DeployOptions *StageOptions `json:"deployOptions" yaml:"deployOptions"` // Specifies whether clients can invoke the API using the default execute-api endpoint. // // To require that clients use a custom domain name to invoke the // API, disable the default endpoint. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html // DisableExecuteApiEndpoint *bool `json:"disableExecuteApiEndpoint" yaml:"disableExecuteApiEndpoint"` // Configure a custom domain name and map it to this API. DomainName *DomainNameOptions `json:"domainName" yaml:"domainName"` // Export name for the CfnOutput containing the API endpoint. EndpointExportName *string `json:"endpointExportName" yaml:"endpointExportName"` // A list of the endpoint types of the API. // // Use this property when creating // an API. EndpointTypes *[]EndpointType `json:"endpointTypes" yaml:"endpointTypes"` // Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. FailOnWarnings *bool `json:"failOnWarnings" yaml:"failOnWarnings"` // Custom header parameters for the request. // See: https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-rest-api.html // Parameters *map[string]*string `json:"parameters" yaml:"parameters"` // A policy document that contains the permissions for this RestApi. Policy awsiam.PolicyDocument `json:"policy" yaml:"policy"` // A name for the API Gateway RestApi resource. RestApiName *string `json:"restApiName" yaml:"restApiName"` // Retains old deployment resources when the API changes. // // This allows // manually reverting stages to point to old deployments via the AWS // Console. RetainDeployments *bool `json:"retainDeployments" yaml:"retainDeployments"` // The source of the API key for metering requests according to a usage plan. ApiKeySourceType ApiKeySourceType `json:"apiKeySourceType" yaml:"apiKeySourceType"` // The list of binary media mime-types that are supported by the RestApi resource, such as "image/png" or "application/octet-stream". BinaryMediaTypes *[]*string `json:"binaryMediaTypes" yaml:"binaryMediaTypes"` // The ID of the API Gateway RestApi resource that you want to clone. CloneFrom IRestApi `json:"cloneFrom" yaml:"cloneFrom"` // A description of the purpose of this API Gateway RestApi resource. Description *string `json:"description" yaml:"description"` // The EndpointConfiguration property type specifies the endpoint types of a REST API. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html // EndpointConfiguration *EndpointConfiguration `json:"endpointConfiguration" yaml:"endpointConfiguration"` // A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) on an API. // // When compression is enabled, compression or // decompression is not applied on the payload if the payload size is // smaller than this value. Setting it to zero allows compression for any // payload size. MinimumCompressionSize *float64 `json:"minimumCompressionSize" yaml:"minimumCompressionSize"` // The default Lambda function that handles all requests from this API. // // This handler will be used as a the default integration for all methods in // this API, unless specified otherwise in `addMethod`. Handler awslambda.IFunction `json:"handler" yaml:"handler"` // If true, route all requests to the Lambda Function. // // If set to false, you will need to explicitly define the API model using // `addResource` and `addMethod` (or `addProxy`). Proxy *bool `json:"proxy" yaml:"proxy"` }
TODO: EXAMPLE
type LogGroupLogDestination ¶
type LogGroupLogDestination interface { IAccessLogDestination Bind(_stage IStage) *AccessLogDestinationConfig }
Use CloudWatch Logs as a custom access log destination for API Gateway.
TODO: EXAMPLE
func NewLogGroupLogDestination ¶
func NewLogGroupLogDestination(logGroup awslogs.ILogGroup) LogGroupLogDestination
type MTLSConfig ¶
type MTLSConfig struct { // The bucket that the trust store is hosted in. Bucket awss3.IBucket `json:"bucket" yaml:"bucket"` // The key in S3 to look at for the trust store. Key *string `json:"key" yaml:"key"` // The version of the S3 object that contains your truststore. // // To specify a version, you must have versioning enabled for the S3 bucket. Version *string `json:"version" yaml:"version"` }
The mTLS authentication configuration for a custom domain name.
TODO: EXAMPLE
type Method ¶
type Method interface { awscdk.Resource Api() IRestApi Env() *awscdk.ResourceEnvironment HttpMethod() *string MethodArn() *string MethodId() *string Node() constructs.Node PhysicalName() *string Resource() IResource Stack() awscdk.Stack TestMethodArn() *string ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
TODO: EXAMPLE
func NewMethod ¶
func NewMethod(scope constructs.Construct, id *string, props *MethodProps) Method
type MethodDeploymentOptions ¶
type MethodDeploymentOptions struct { // Indicates whether the cached responses are encrypted. CacheDataEncrypted *bool `json:"cacheDataEncrypted" yaml:"cacheDataEncrypted"` // Specifies the time to live (TTL), in seconds, for cached responses. // // The // higher the TTL, the longer the response will be cached. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html // CacheTtl awscdk.Duration `json:"cacheTtl" yaml:"cacheTtl"` // 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 `json:"cachingEnabled" yaml:"cachingEnabled"` // Specifies whether data trace logging is enabled for this method. // // When enabled, API gateway will log the full API requests and responses. // This can be useful to troubleshoot APIs, but can result in logging sensitive data. // We recommend that you don't enable this feature for production APIs. DataTraceEnabled *bool `json:"dataTraceEnabled" yaml:"dataTraceEnabled"` // Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. LoggingLevel MethodLoggingLevel `json:"loggingLevel" yaml:"loggingLevel"` // Specifies whether Amazon CloudWatch metrics are enabled for this method. MetricsEnabled *bool `json:"metricsEnabled" yaml:"metricsEnabled"` // Specifies the throttling burst limit. // // The total rate of all requests in your AWS account is limited to 5,000 requests. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html // ThrottlingBurstLimit *float64 `json:"throttlingBurstLimit" yaml:"throttlingBurstLimit"` // Specifies the throttling rate limit. // // The total rate of all requests in your AWS account is limited to 10,000 requests per second (rps). // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html // ThrottlingRateLimit *float64 `json:"throttlingRateLimit" yaml:"throttlingRateLimit"` }
TODO: EXAMPLE
type MethodLoggingLevel ¶
type MethodLoggingLevel string
TODO: EXAMPLE
const ( MethodLoggingLevel_OFF MethodLoggingLevel = "OFF" MethodLoggingLevel_ERROR MethodLoggingLevel = "ERROR" MethodLoggingLevel_INFO MethodLoggingLevel = "INFO" )
type MethodOptions ¶
type MethodOptions struct { // Indicates whether the method requires clients to submit a valid API key. ApiKeyRequired *bool `json:"apiKeyRequired" yaml:"apiKeyRequired"` // A list of authorization scopes configured on the method. // // The scopes are used with // a COGNITO_USER_POOLS authorizer to authorize the method invocation. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-method.html#cfn-apigateway-method-authorizationscopes // AuthorizationScopes *[]*string `json:"authorizationScopes" yaml:"authorizationScopes"` // Method authorization. If the value is set of `Custom`, an `authorizer` must also be specified. // // If you're using one of the authorizers that are available via the {@link Authorizer} class, such as {@link Authorizer#token()}, // it is recommended that this option not be specified. The authorizer will take care of setting the correct authorization type. // However, specifying an authorization type using this property that conflicts with what is expected by the {@link Authorizer} // will result in an error. AuthorizationType AuthorizationType `json:"authorizationType" yaml:"authorizationType"` // If `authorizationType` is `Custom`, this specifies the ID of the method authorizer resource. // // If specified, the value of `authorizationType` must be set to `Custom` Authorizer IAuthorizer `json:"authorizer" yaml:"authorizer"` // The responses that can be sent to the client who calls the method. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-response.html // MethodResponses *[]*MethodResponse `json:"methodResponses" yaml:"methodResponses"` // A friendly operation name for the method. // // For example, you can assign the // OperationName of ListPets for the GET /pets method. OperationName *string `json:"operationName" yaml:"operationName"` // The models which describe data structure of request payload. // // When // combined with `requestValidator` or `requestValidatorOptions`, the service // will validate the API request payload before it reaches the API's Integration (including proxies). // Specify `requestModels` as key-value pairs, with a content type // (e.g. `'application/json'`) as the key and an API Gateway Model as the value. // // TODO: EXAMPLE // // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-request-model // RequestModels *map[string]IModel `json:"requestModels" yaml:"requestModels"` // The request parameters that API Gateway accepts. // // Specify request parameters // as key-value pairs (string-to-Boolean mapping), with a source as the key and // a Boolean as the value. The Boolean specifies whether a parameter is required. // A source must match the format method.request.location.name, where the location // is querystring, path, or header, and name is a valid, unique parameter name. RequestParameters *map[string]*bool `json:"requestParameters" yaml:"requestParameters"` // The ID of the associated request validator. // // Only one of `requestValidator` or `requestValidatorOptions` must be specified. // Works together with `requestModels` or `requestParameters` to validate // the request before it reaches integration like Lambda Proxy Integration. RequestValidator IRequestValidator `json:"requestValidator" yaml:"requestValidator"` // Request validator options to create new validator Only one of `requestValidator` or `requestValidatorOptions` must be specified. // // Works together with `requestModels` or `requestParameters` to validate // the request before it reaches integration like Lambda Proxy Integration. RequestValidatorOptions *RequestValidatorOptions `json:"requestValidatorOptions" yaml:"requestValidatorOptions"` }
TODO: EXAMPLE
type MethodProps ¶
type MethodProps struct { // The HTTP method ("GET", "POST", "PUT", ...) that clients use to call this method. HttpMethod *string `json:"httpMethod" yaml:"httpMethod"` // The resource this method is associated with. // // For root resource methods, // specify the `RestApi` object. Resource IResource `json:"resource" yaml:"resource"` // The backend system that the method calls when it receives a request. Integration Integration `json:"integration" yaml:"integration"` // Method options. Options *MethodOptions `json:"options" yaml:"options"` }
TODO: EXAMPLE
type MethodResponse ¶
type MethodResponse struct { // The method response's status code, which you map to an IntegrationResponse. // // Required. StatusCode *string `json:"statusCode" yaml:"statusCode"` // The resources used for the response's content type. // // Specify response models as // key-value pairs (string-to-string maps), with a content type as the key and a Model // resource name as the value. ResponseModels *map[string]IModel `json:"responseModels" yaml:"responseModels"` // Response parameters that API Gateway sends to the client that called a method. // // Specify response parameters as key-value pairs (string-to-Boolean maps), with // a destination as the key and a Boolean as the value. Specify the destination // using the following pattern: method.response.header.name, where the name is a // valid, unique header name. The Boolean specifies whether a parameter is required. ResponseParameters *map[string]*bool `json:"responseParameters" yaml:"responseParameters"` }
TODO: EXAMPLE
type MockIntegration ¶
type MockIntegration interface { Integration Bind(_method Method) *IntegrationConfig }
This type of integration lets API Gateway return a response without sending the request further to the backend.
This is useful for API testing because it can be used to test the integration set up without incurring charges for using the backend and to enable collaborative development of an API. In collaborative development, a team can isolate their development effort by setting up simulations of API components owned by other teams by using the MOCK integrations. It is also used to return CORS-related headers to ensure that the API method permits CORS access. In fact, the API Gateway console integrates the OPTIONS method to support CORS with a mock integration. Gateway responses are other examples of mock integrations.
TODO: EXAMPLE
func NewMockIntegration ¶
func NewMockIntegration(options *IntegrationOptions) MockIntegration
type Model ¶
type Model interface { awscdk.Resource IModel Env() *awscdk.ResourceEnvironment ModelId() *string Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
TODO: EXAMPLE
func NewModel ¶
func NewModel(scope constructs.Construct, id *string, props *ModelProps) Model
type ModelOptions ¶
type ModelOptions struct { // The schema to use to transform data to one or more output formats. // // Specify null ({}) if you don't want to specify a schema. Schema *JsonSchema `json:"schema" yaml:"schema"` // The content type for the model. // // You can also force a // content type in the request or response model mapping. ContentType *string `json:"contentType" yaml:"contentType"` // A description that identifies this model. Description *string `json:"description" yaml:"description"` // A name for the model. // // Important // If you specify a name, you cannot perform updates that // require replacement of this resource. You can perform // updates that require no or some interruption. If you // must replace the resource, specify a new name. ModelName *string `json:"modelName" yaml:"modelName"` }
TODO: EXAMPLE
type ModelProps ¶
type ModelProps struct { // The schema to use to transform data to one or more output formats. // // Specify null ({}) if you don't want to specify a schema. Schema *JsonSchema `json:"schema" yaml:"schema"` // The content type for the model. // // You can also force a // content type in the request or response model mapping. ContentType *string `json:"contentType" yaml:"contentType"` // A description that identifies this model. Description *string `json:"description" yaml:"description"` // A name for the model. // // Important // If you specify a name, you cannot perform updates that // require replacement of this resource. You can perform // updates that require no or some interruption. If you // must replace the resource, specify a new name. ModelName *string `json:"modelName" yaml:"modelName"` // The rest API that this model is part of. // // The reason we need the RestApi object itself and not just the ID is because the model // is being tracked by the top-level RestApi object for the purpose of calculating it's // hash to determine the ID of the deployment. This allows us to automatically update // the deployment when the model of the REST API changes. RestApi IRestApi `json:"restApi" yaml:"restApi"` }
TODO: EXAMPLE
type PassthroughBehavior ¶
type PassthroughBehavior string
TODO: EXAMPLE
const ( PassthroughBehavior_WHEN_NO_MATCH PassthroughBehavior = "WHEN_NO_MATCH" PassthroughBehavior_NEVER PassthroughBehavior = "NEVER" PassthroughBehavior_WHEN_NO_TEMPLATES PassthroughBehavior = "WHEN_NO_TEMPLATES" )
type ProxyResource ¶
type ProxyResource interface { Resource AnyMethod() Method Api() IRestApi DefaultCorsPreflightOptions() *CorsOptions DefaultIntegration() Integration DefaultMethodOptions() *MethodOptions Env() *awscdk.ResourceEnvironment Node() constructs.Node ParentResource() IResource Path() *string PhysicalName() *string ResourceId() *string Stack() awscdk.Stack AddCorsPreflight(options *CorsOptions) Method AddMethod(httpMethod *string, integration Integration, options *MethodOptions) Method AddProxy(options *ProxyResourceOptions) ProxyResource AddResource(pathPart *string, options *ResourceOptions) Resource ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResource(pathPart *string) IResource GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ResourceForPath(path *string) Resource ToString() *string }
Defines a {proxy+} greedy resource and an ANY method on a route.
TODO: EXAMPLE
See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-set-up-simple-proxy.html
func NewProxyResource ¶
func NewProxyResource(scope constructs.Construct, id *string, props *ProxyResourceProps) ProxyResource
type ProxyResourceOptions ¶
type ProxyResourceOptions struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // Adds an "ANY" method to this resource. // // If set to `false`, you will have to explicitly // add methods to this resource after it's created. AnyMethod *bool `json:"anyMethod" yaml:"anyMethod"` }
TODO: EXAMPLE
type ProxyResourceProps ¶
type ProxyResourceProps struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // Adds an "ANY" method to this resource. // // If set to `false`, you will have to explicitly // add methods to this resource after it's created. AnyMethod *bool `json:"anyMethod" yaml:"anyMethod"` // The parent resource of this resource. // // You can either pass another // `Resource` object or a `RestApi` object here. Parent IResource `json:"parent" yaml:"parent"` }
TODO: EXAMPLE
type QuotaSettings ¶
type QuotaSettings struct { // The maximum number of requests that users can make within the specified time period. Limit *float64 `json:"limit" yaml:"limit"` // For the initial time period, the number of requests to subtract from the specified limit. Offset *float64 `json:"offset" yaml:"offset"` // The time period for which the maximum limit of requests applies. Period Period `json:"period" yaml:"period"` }
Specifies the maximum number of requests that clients can make to API Gateway APIs.
TODO: EXAMPLE
type RateLimitedApiKey ¶
type RateLimitedApiKey interface { awscdk.Resource IApiKey Env() *awscdk.ResourceEnvironment KeyArn() *string KeyId() *string Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string GrantRead(grantee awsiam.IGrantable) awsiam.Grant GrantReadWrite(grantee awsiam.IGrantable) awsiam.Grant GrantWrite(grantee awsiam.IGrantable) awsiam.Grant ToString() *string }
An API Gateway ApiKey, for which a rate limiting configuration can be specified.
TODO: EXAMPLE
func NewRateLimitedApiKey ¶
func NewRateLimitedApiKey(scope constructs.Construct, id *string, props *RateLimitedApiKeyProps) RateLimitedApiKey
type RateLimitedApiKeyProps ¶
type RateLimitedApiKeyProps struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // A name for the API key. // // If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name. ApiKeyName *string `json:"apiKeyName" yaml:"apiKeyName"` // A description of the purpose of the API key. Description *string `json:"description" yaml:"description"` // The value of the API key. // // Must be at least 20 characters long. Value *string `json:"value" yaml:"value"` // An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace. CustomerId *string `json:"customerId" yaml:"customerId"` // Indicates whether the API key can be used by clients. Enabled *bool `json:"enabled" yaml:"enabled"` // Specifies whether the key identifier is distinct from the created API key value. GenerateDistinctId *bool `json:"generateDistinctId" yaml:"generateDistinctId"` // A list of resources this api key is associated with. Resources *[]IRestApi `json:"resources" yaml:"resources"` // API Stages to be associated with the RateLimitedApiKey. ApiStages *[]*UsagePlanPerApiStage `json:"apiStages" yaml:"apiStages"` // Number of requests clients can make in a given time period. Quota *QuotaSettings `json:"quota" yaml:"quota"` // Overall throttle settings for the API. Throttle *ThrottleSettings `json:"throttle" yaml:"throttle"` }
RateLimitedApiKey properties.
TODO: EXAMPLE
type RequestAuthorizer ¶
type RequestAuthorizer interface { Authorizer IAuthorizer AuthorizationType() AuthorizationType AuthorizerArn() *string AuthorizerId() *string Env() *awscdk.ResourceEnvironment Handler() awslambda.IFunction Node() constructs.Node PhysicalName() *string RestApiId() *string SetRestApiId(val *string) Role() awsiam.IRole Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string LazyRestApiId() *string SetupPermissions() ToString() *string }
Request-based lambda authorizer that recognizes the caller's identity via request parameters, such as headers, paths, query strings, stage variables, or context variables.
Based on the request, authorization is performed by a lambda function.
TODO: EXAMPLE
func NewRequestAuthorizer ¶
func NewRequestAuthorizer(scope constructs.Construct, id *string, props *RequestAuthorizerProps) RequestAuthorizer
type RequestAuthorizerProps ¶
type RequestAuthorizerProps struct { // The handler for the authorizer lambda function. // // The handler must follow a very specific protocol on the input it receives and the output it needs to produce. // API Gateway has documented the handler's input specification // {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-input.html | here} and output specification // {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-output.html | here}. Handler awslambda.IFunction `json:"handler" yaml:"handler"` // An optional IAM role for APIGateway to assume before calling the Lambda-based authorizer. // // The IAM role must be // assumable by 'apigateway.amazonaws.com'. AssumeRole awsiam.IRole `json:"assumeRole" yaml:"assumeRole"` // An optional human friendly name for the authorizer. // // Note that, this is not the primary identifier of the authorizer. AuthorizerName *string `json:"authorizerName" yaml:"authorizerName"` // How long APIGateway should cache the results. // // Max 1 hour. // Disable caching by setting this to 0. ResultsCacheTtl awscdk.Duration `json:"resultsCacheTtl" yaml:"resultsCacheTtl"` // An array of request header mapping expressions for identities. // // Supported parameter types are // Header, Query String, Stage Variable, and Context. For instance, extracting an authorization // token from a header would use the identity source `IdentitySource.header('Authorizer')`. // // Note: API Gateway uses the specified identity sources as the request authorizer caching key. When caching is // enabled, API Gateway calls the authorizer's Lambda function only after successfully verifying that all the // specified identity sources are present at runtime. If a specified identify source is missing, null, or empty, // API Gateway returns a 401 Unauthorized response without calling the authorizer Lambda function. // See: https://docs.aws.amazon.com/apigateway/api-reference/link-relation/authorizer-create/#identitySource // IdentitySources *[]*string `json:"identitySources" yaml:"identitySources"` }
Properties for RequestAuthorizer.
TODO: EXAMPLE
type RequestContext ¶ added in v2.1.0
type RequestContext struct { // Represents the information of $context.identity.accountId. // // Whether the AWS account of the API owner should be included in the request context AccountId *bool `json:"accountId" yaml:"accountId"` // Represents the information of $context.apiId. // // Whether the identifier API Gateway assigns to your API should be included in the request context. ApiId *bool `json:"apiId" yaml:"apiId"` // Represents the information of $context.identity.apiKey. // // Whether the API key associated with the request should be included in request context. ApiKey *bool `json:"apiKey" yaml:"apiKey"` // Represents the information of $context.authorizer.principalId. // // Whether the principal user identifier associated with the token sent by the client and returned // from an API Gateway Lambda authorizer should be included in the request context. AuthorizerPrincipalId *bool `json:"authorizerPrincipalId" yaml:"authorizerPrincipalId"` // Represents the information of $context.identity.caller. // // Whether the principal identifier of the caller that signed the request should be included in the request context. // Supported for resources that use IAM authorization. Caller *bool `json:"caller" yaml:"caller"` // Represents the information of $context.identity.cognitoAuthenticationProvider. // // Whether the list of the Amazon Cognito authentication providers used by the caller making the request should be included in the request context. // Available only if the request was signed with Amazon Cognito credentials. CognitoAuthenticationProvider *bool `json:"cognitoAuthenticationProvider" yaml:"cognitoAuthenticationProvider"` // Represents the information of $context.identity.cognitoAuthenticationType. // // Whether the Amazon Cognito authentication type of the caller making the request should be included in the request context. // Available only if the request was signed with Amazon Cognito credentials. // Possible values include authenticated for authenticated identities and unauthenticated for unauthenticated identities. CognitoAuthenticationType *bool `json:"cognitoAuthenticationType" yaml:"cognitoAuthenticationType"` // Represents the information of $context.identity.cognitoIdentityId. // // Whether the Amazon Cognito identity ID of the caller making the request should be included in the request context. // Available only if the request was signed with Amazon Cognito credentials. CognitoIdentityId *bool `json:"cognitoIdentityId" yaml:"cognitoIdentityId"` // Represents the information of $context.identity.cognitoIdentityPoolId. // // Whether the Amazon Cognito identity pool ID of the caller making the request should be included in the request context. // Available only if the request was signed with Amazon Cognito credentials. CognitoIdentityPoolId *bool `json:"cognitoIdentityPoolId" yaml:"cognitoIdentityPoolId"` // Represents the information of $context.httpMethod. // // Whether the HTTP method used should be included in the request context. // Valid values include: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT. HttpMethod *bool `json:"httpMethod" yaml:"httpMethod"` // Represents the information of $context.requestId. // // Whether the ID for the request should be included in the request context. RequestId *bool `json:"requestId" yaml:"requestId"` // Represents the information of $context.resourceId. // // Whether the identifier that API Gateway assigns to your resource should be included in the request context. ResourceId *bool `json:"resourceId" yaml:"resourceId"` // Represents the information of $context.resourcePath. // // Whether the path to the resource should be included in the request context. ResourcePath *bool `json:"resourcePath" yaml:"resourcePath"` // Represents the information of $context.identity.sourceIp. // // Whether the source IP address of the immediate TCP connection making the request // to API Gateway endpoint should be included in the request context. SourceIp *bool `json:"sourceIp" yaml:"sourceIp"` // Represents the information of $context.stage. // // Whether the deployment stage of the API request should be included in the request context. Stage *bool `json:"stage" yaml:"stage"` // Represents the information of $context.identity.user. // // Whether the principal identifier of the user that will be authorized should be included in the request context. // Supported for resources that use IAM authorization. User *bool `json:"user" yaml:"user"` // Represents the information of $context.identity.userAgent. // // Whether the User-Agent header of the API caller should be included in the request context. UserAgent *bool `json:"userAgent" yaml:"userAgent"` // Represents the information of $context.identity.userArn. // // Whether the Amazon Resource Name (ARN) of the effective user identified after authentication should be included in the request context. UserArn *bool `json:"userArn" yaml:"userArn"` }
Configure what must be included in the `requestContext`.
More details can be found at mapping templates documentation.
TODO: EXAMPLE
type RequestValidator ¶
type RequestValidator interface { awscdk.Resource IRequestValidator Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string RequestValidatorId() *string Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
TODO: EXAMPLE
func NewRequestValidator ¶
func NewRequestValidator(scope constructs.Construct, id *string, props *RequestValidatorProps) RequestValidator
type RequestValidatorOptions ¶
type RequestValidatorOptions struct { // The name of this request validator. RequestValidatorName *string `json:"requestValidatorName" yaml:"requestValidatorName"` // Indicates whether to validate the request body according to the configured schema for the targeted API and method. ValidateRequestBody *bool `json:"validateRequestBody" yaml:"validateRequestBody"` // Indicates whether to validate request parameters. ValidateRequestParameters *bool `json:"validateRequestParameters" yaml:"validateRequestParameters"` }
TODO: EXAMPLE
type RequestValidatorProps ¶
type RequestValidatorProps struct { // The name of this request validator. RequestValidatorName *string `json:"requestValidatorName" yaml:"requestValidatorName"` // Indicates whether to validate the request body according to the configured schema for the targeted API and method. ValidateRequestBody *bool `json:"validateRequestBody" yaml:"validateRequestBody"` // Indicates whether to validate request parameters. ValidateRequestParameters *bool `json:"validateRequestParameters" yaml:"validateRequestParameters"` // The rest API that this model is part of. // // The reason we need the RestApi object itself and not just the ID is because the model // is being tracked by the top-level RestApi object for the purpose of calculating it's // hash to determine the ID of the deployment. This allows us to automatically update // the deployment when the model of the REST API changes. RestApi IRestApi `json:"restApi" yaml:"restApi"` }
TODO: EXAMPLE
type Resource ¶
type Resource interface { ResourceBase Api() IRestApi DefaultCorsPreflightOptions() *CorsOptions DefaultIntegration() Integration DefaultMethodOptions() *MethodOptions Env() *awscdk.ResourceEnvironment Node() constructs.Node ParentResource() IResource Path() *string PhysicalName() *string ResourceId() *string Stack() awscdk.Stack AddCorsPreflight(options *CorsOptions) Method AddMethod(httpMethod *string, integration Integration, options *MethodOptions) Method AddProxy(options *ProxyResourceOptions) ProxyResource AddResource(pathPart *string, options *ResourceOptions) Resource ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResource(pathPart *string) IResource GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ResourceForPath(path *string) Resource ToString() *string }
TODO: EXAMPLE
func NewResource ¶
func NewResource(scope constructs.Construct, id *string, props *ResourceProps) Resource
type ResourceAttributes ¶
type ResourceAttributes struct { // The full path of this resource. Path *string `json:"path" yaml:"path"` // The ID of the resource. ResourceId *string `json:"resourceId" yaml:"resourceId"` // The rest API that this resource is part of. RestApi IRestApi `json:"restApi" yaml:"restApi"` }
Attributes that can be specified when importing a Resource.
TODO: EXAMPLE
type ResourceBase ¶
type ResourceBase interface { awscdk.Resource IResource Api() IRestApi DefaultCorsPreflightOptions() *CorsOptions DefaultIntegration() Integration DefaultMethodOptions() *MethodOptions Env() *awscdk.ResourceEnvironment Node() constructs.Node ParentResource() IResource Path() *string PhysicalName() *string ResourceId() *string Stack() awscdk.Stack AddCorsPreflight(options *CorsOptions) Method AddMethod(httpMethod *string, integration Integration, options *MethodOptions) Method AddProxy(options *ProxyResourceOptions) ProxyResource AddResource(pathPart *string, options *ResourceOptions) Resource ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResource(pathPart *string) IResource GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ResourceForPath(path *string) Resource ToString() *string }
type ResourceOptions ¶
type ResourceOptions struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` }
TODO: EXAMPLE
type ResourceProps ¶
type ResourceProps struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // The parent resource of this resource. // // You can either pass another // `Resource` object or a `RestApi` object here. Parent IResource `json:"parent" yaml:"parent"` // A path name for the resource. PathPart *string `json:"pathPart" yaml:"pathPart"` }
TODO: EXAMPLE
type ResponseType ¶
type ResponseType interface {
ResponseType() *string
}
Supported types of gateway responses.
TODO: EXAMPLE
See: https://docs.aws.amazon.com/apigateway/latest/developerguide/supported-gateway-response-types.html
func ResponseType_ACCESS_DENIED ¶
func ResponseType_ACCESS_DENIED() ResponseType
func ResponseType_API_CONFIGURATION_ERROR ¶
func ResponseType_API_CONFIGURATION_ERROR() ResponseType
func ResponseType_AUTHORIZER_CONFIGURATION_ERROR ¶
func ResponseType_AUTHORIZER_CONFIGURATION_ERROR() ResponseType
func ResponseType_AUTHORIZER_FAILURE ¶
func ResponseType_AUTHORIZER_FAILURE() ResponseType
func ResponseType_BAD_REQUEST_BODY ¶
func ResponseType_BAD_REQUEST_BODY() ResponseType
func ResponseType_BAD_REQUEST_PARAMETERS ¶
func ResponseType_BAD_REQUEST_PARAMETERS() ResponseType
func ResponseType_DEFAULT_4XX ¶
func ResponseType_DEFAULT_4XX() ResponseType
func ResponseType_DEFAULT_5XX ¶
func ResponseType_DEFAULT_5XX() ResponseType
func ResponseType_EXPIRED_TOKEN ¶
func ResponseType_EXPIRED_TOKEN() ResponseType
func ResponseType_INTEGRATION_FAILURE ¶
func ResponseType_INTEGRATION_FAILURE() ResponseType
func ResponseType_INTEGRATION_TIMEOUT ¶
func ResponseType_INTEGRATION_TIMEOUT() ResponseType
func ResponseType_INVALID_API_KEY ¶
func ResponseType_INVALID_API_KEY() ResponseType
func ResponseType_INVALID_SIGNATURE ¶
func ResponseType_INVALID_SIGNATURE() ResponseType
func ResponseType_MISSING_AUTHENTICATION_TOKEN ¶
func ResponseType_MISSING_AUTHENTICATION_TOKEN() ResponseType
func ResponseType_Of ¶
func ResponseType_Of(type_ *string) ResponseType
A custom response type to support future cases.
func ResponseType_QUOTA_EXCEEDED ¶
func ResponseType_QUOTA_EXCEEDED() ResponseType
func ResponseType_REQUEST_TOO_LARGE ¶
func ResponseType_REQUEST_TOO_LARGE() ResponseType
func ResponseType_RESOURCE_NOT_FOUND ¶
func ResponseType_RESOURCE_NOT_FOUND() ResponseType
func ResponseType_THROTTLED ¶
func ResponseType_THROTTLED() ResponseType
func ResponseType_UNAUTHORIZED ¶
func ResponseType_UNAUTHORIZED() ResponseType
func ResponseType_UNSUPPORTED_MEDIA_TYPE ¶
func ResponseType_UNSUPPORTED_MEDIA_TYPE() ResponseType
func ResponseType_WAF_FILTERED ¶
func ResponseType_WAF_FILTERED() ResponseType
type RestApi ¶
type RestApi interface { RestApiBase CloudWatchAccount() CfnAccount SetCloudWatchAccount(val CfnAccount) DeploymentStage() Stage SetDeploymentStage(val Stage) DomainName() DomainName Env() *awscdk.ResourceEnvironment LatestDeployment() Deployment Methods() *[]Method Node() constructs.Node PhysicalName() *string RestApiId() *string RestApiName() *string RestApiRootResourceId() *string Root() IResource Stack() awscdk.Stack Url() *string AddApiKey(id *string, options *ApiKeyOptions) IApiKey AddDomainName(id *string, options *DomainNameOptions) DomainName AddGatewayResponse(id *string, options *GatewayResponseOptions) GatewayResponse AddModel(id *string, props *ModelOptions) Model AddRequestValidator(id *string, props *RequestValidatorOptions) RequestValidator AddUsagePlan(id *string, props *UsagePlanProps) UsagePlan ApplyRemovalPolicy(policy awscdk.RemovalPolicy) ArnForExecuteApi(method *string, path *string, stage *string) *string GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheHitCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheMissCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricClientError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricIntegrationLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricServerError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric ToString() *string UrlForPath(path *string) *string }
Represents a REST API in Amazon API Gateway.
Use `addResource` and `addMethod` to configure the API model.
By default, the API will automatically be deployed and accessible from a public endpoint.
TODO: EXAMPLE
func NewRestApi ¶
func NewRestApi(scope constructs.Construct, id *string, props *RestApiProps) RestApi
type RestApiAttributes ¶
type RestApiAttributes struct { // The ID of the API Gateway RestApi. RestApiId *string `json:"restApiId" yaml:"restApiId"` // The resource ID of the root resource. RootResourceId *string `json:"rootResourceId" yaml:"rootResourceId"` }
Attributes that can be specified when importing a RestApi.
TODO: EXAMPLE
type RestApiBase ¶
type RestApiBase interface { awscdk.Resource IRestApi CloudWatchAccount() CfnAccount SetCloudWatchAccount(val CfnAccount) DeploymentStage() Stage SetDeploymentStage(val Stage) DomainName() DomainName Env() *awscdk.ResourceEnvironment LatestDeployment() Deployment Node() constructs.Node PhysicalName() *string RestApiId() *string RestApiName() *string RestApiRootResourceId() *string Root() IResource Stack() awscdk.Stack AddApiKey(id *string, options *ApiKeyOptions) IApiKey AddDomainName(id *string, options *DomainNameOptions) DomainName AddGatewayResponse(id *string, options *GatewayResponseOptions) GatewayResponse AddUsagePlan(id *string, props *UsagePlanProps) UsagePlan ApplyRemovalPolicy(policy awscdk.RemovalPolicy) ArnForExecuteApi(method *string, path *string, stage *string) *string GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheHitCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheMissCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricClientError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricIntegrationLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricServerError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric ToString() *string UrlForPath(path *string) *string }
Base implementation that are common to various implementations of IRestApi.
TODO: EXAMPLE
type RestApiBaseProps ¶
type RestApiBaseProps struct { // Automatically configure an AWS CloudWatch role for API Gateway. CloudWatchRole *bool `json:"cloudWatchRole" yaml:"cloudWatchRole"` // Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. // // Since API Gateway deployments are immutable, When this option is enabled // (by default), an AWS::ApiGateway::Deployment resource will automatically // created with a logical ID that hashes the API model (methods, resources // and options). This means that when the model changes, the logical ID of // this CloudFormation resource will change, and a new deployment will be // created. // // If this is set, `latestDeployment` will refer to the `Deployment` object // and `deploymentStage` will refer to a `Stage` that points to this // deployment. To customize the stage options, use the `deployOptions` // property. // // A CloudFormation Output will also be defined with the root URL endpoint // of this REST API. Deploy *bool `json:"deploy" yaml:"deploy"` // Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. // // If `deploy` is disabled, // this value cannot be set. DeployOptions *StageOptions `json:"deployOptions" yaml:"deployOptions"` // Specifies whether clients can invoke the API using the default execute-api endpoint. // // To require that clients use a custom domain name to invoke the // API, disable the default endpoint. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html // DisableExecuteApiEndpoint *bool `json:"disableExecuteApiEndpoint" yaml:"disableExecuteApiEndpoint"` // Configure a custom domain name and map it to this API. DomainName *DomainNameOptions `json:"domainName" yaml:"domainName"` // Export name for the CfnOutput containing the API endpoint. EndpointExportName *string `json:"endpointExportName" yaml:"endpointExportName"` // A list of the endpoint types of the API. // // Use this property when creating // an API. EndpointTypes *[]EndpointType `json:"endpointTypes" yaml:"endpointTypes"` // Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. FailOnWarnings *bool `json:"failOnWarnings" yaml:"failOnWarnings"` // Custom header parameters for the request. // See: https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-rest-api.html // Parameters *map[string]*string `json:"parameters" yaml:"parameters"` // A policy document that contains the permissions for this RestApi. Policy awsiam.PolicyDocument `json:"policy" yaml:"policy"` // A name for the API Gateway RestApi resource. RestApiName *string `json:"restApiName" yaml:"restApiName"` // Retains old deployment resources when the API changes. // // This allows // manually reverting stages to point to old deployments via the AWS // Console. RetainDeployments *bool `json:"retainDeployments" yaml:"retainDeployments"` }
Represents the props that all Rest APIs share.
TODO: EXAMPLE
type RestApiProps ¶
type RestApiProps struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // Automatically configure an AWS CloudWatch role for API Gateway. CloudWatchRole *bool `json:"cloudWatchRole" yaml:"cloudWatchRole"` // Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. // // Since API Gateway deployments are immutable, When this option is enabled // (by default), an AWS::ApiGateway::Deployment resource will automatically // created with a logical ID that hashes the API model (methods, resources // and options). This means that when the model changes, the logical ID of // this CloudFormation resource will change, and a new deployment will be // created. // // If this is set, `latestDeployment` will refer to the `Deployment` object // and `deploymentStage` will refer to a `Stage` that points to this // deployment. To customize the stage options, use the `deployOptions` // property. // // A CloudFormation Output will also be defined with the root URL endpoint // of this REST API. Deploy *bool `json:"deploy" yaml:"deploy"` // Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. // // If `deploy` is disabled, // this value cannot be set. DeployOptions *StageOptions `json:"deployOptions" yaml:"deployOptions"` // Specifies whether clients can invoke the API using the default execute-api endpoint. // // To require that clients use a custom domain name to invoke the // API, disable the default endpoint. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html // DisableExecuteApiEndpoint *bool `json:"disableExecuteApiEndpoint" yaml:"disableExecuteApiEndpoint"` // Configure a custom domain name and map it to this API. DomainName *DomainNameOptions `json:"domainName" yaml:"domainName"` // Export name for the CfnOutput containing the API endpoint. EndpointExportName *string `json:"endpointExportName" yaml:"endpointExportName"` // A list of the endpoint types of the API. // // Use this property when creating // an API. EndpointTypes *[]EndpointType `json:"endpointTypes" yaml:"endpointTypes"` // Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. FailOnWarnings *bool `json:"failOnWarnings" yaml:"failOnWarnings"` // Custom header parameters for the request. // See: https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-rest-api.html // Parameters *map[string]*string `json:"parameters" yaml:"parameters"` // A policy document that contains the permissions for this RestApi. Policy awsiam.PolicyDocument `json:"policy" yaml:"policy"` // A name for the API Gateway RestApi resource. RestApiName *string `json:"restApiName" yaml:"restApiName"` // Retains old deployment resources when the API changes. // // This allows // manually reverting stages to point to old deployments via the AWS // Console. RetainDeployments *bool `json:"retainDeployments" yaml:"retainDeployments"` // The source of the API key for metering requests according to a usage plan. ApiKeySourceType ApiKeySourceType `json:"apiKeySourceType" yaml:"apiKeySourceType"` // The list of binary media mime-types that are supported by the RestApi resource, such as "image/png" or "application/octet-stream". BinaryMediaTypes *[]*string `json:"binaryMediaTypes" yaml:"binaryMediaTypes"` // The ID of the API Gateway RestApi resource that you want to clone. CloneFrom IRestApi `json:"cloneFrom" yaml:"cloneFrom"` // A description of the purpose of this API Gateway RestApi resource. Description *string `json:"description" yaml:"description"` // The EndpointConfiguration property type specifies the endpoint types of a REST API. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html // EndpointConfiguration *EndpointConfiguration `json:"endpointConfiguration" yaml:"endpointConfiguration"` // A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) on an API. // // When compression is enabled, compression or // decompression is not applied on the payload if the payload size is // smaller than this value. Setting it to zero allows compression for any // payload size. MinimumCompressionSize *float64 `json:"minimumCompressionSize" yaml:"minimumCompressionSize"` }
Props to create a new instance of RestApi.
TODO: EXAMPLE
type S3ApiDefinition ¶
type S3ApiDefinition interface { ApiDefinition Bind(_scope constructs.Construct) *ApiDefinitionConfig BindAfterCreate(_scope constructs.Construct, _restApi IRestApi) }
OpenAPI specification from an S3 archive.
TODO: EXAMPLE
func ApiDefinition_FromBucket ¶
func ApiDefinition_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
Creates an API definition from a specification file in an S3 bucket.
func AssetApiDefinition_FromBucket ¶
func AssetApiDefinition_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
Creates an API definition from a specification file in an S3 bucket.
func InlineApiDefinition_FromBucket ¶
func InlineApiDefinition_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
Creates an API definition from a specification file in an S3 bucket.
func NewS3ApiDefinition ¶
func NewS3ApiDefinition(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
func S3ApiDefinition_FromBucket ¶
func S3ApiDefinition_FromBucket(bucket awss3.IBucket, key *string, objectVersion *string) S3ApiDefinition
Creates an API definition from a specification file in an S3 bucket.
type SecurityPolicy ¶
type SecurityPolicy string
The minimum version of the SSL protocol that you want API Gateway to use for HTTPS connections.
TODO: EXAMPLE
const ( SecurityPolicy_TLS_1_0 SecurityPolicy = "TLS_1_0" SecurityPolicy_TLS_1_2 SecurityPolicy = "TLS_1_2" )
type SpecRestApi ¶
type SpecRestApi interface { RestApiBase CloudWatchAccount() CfnAccount SetCloudWatchAccount(val CfnAccount) DeploymentStage() Stage SetDeploymentStage(val Stage) DomainName() DomainName Env() *awscdk.ResourceEnvironment LatestDeployment() Deployment Node() constructs.Node PhysicalName() *string RestApiId() *string RestApiName() *string RestApiRootResourceId() *string Root() IResource Stack() awscdk.Stack AddApiKey(id *string, options *ApiKeyOptions) IApiKey AddDomainName(id *string, options *DomainNameOptions) DomainName AddGatewayResponse(id *string, options *GatewayResponseOptions) GatewayResponse AddUsagePlan(id *string, props *UsagePlanProps) UsagePlan ApplyRemovalPolicy(policy awscdk.RemovalPolicy) ArnForExecuteApi(method *string, path *string, stage *string) *string GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheHitCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheMissCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricClientError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricIntegrationLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricServerError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric ToString() *string UrlForPath(path *string) *string }
Represents a REST API in Amazon API Gateway, created with an OpenAPI specification.
Some properties normally accessible on @see {@link RestApi} - such as the description - must be declared in the specification. All Resources and Methods need to be defined as part of the OpenAPI specification file, and cannot be added via the CDK.
By default, the API will automatically be deployed and accessible from a public endpoint.
TODO: EXAMPLE
func NewSpecRestApi ¶
func NewSpecRestApi(scope constructs.Construct, id *string, props *SpecRestApiProps) SpecRestApi
type SpecRestApiProps ¶
type SpecRestApiProps struct { // Automatically configure an AWS CloudWatch role for API Gateway. CloudWatchRole *bool `json:"cloudWatchRole" yaml:"cloudWatchRole"` // Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. // // Since API Gateway deployments are immutable, When this option is enabled // (by default), an AWS::ApiGateway::Deployment resource will automatically // created with a logical ID that hashes the API model (methods, resources // and options). This means that when the model changes, the logical ID of // this CloudFormation resource will change, and a new deployment will be // created. // // If this is set, `latestDeployment` will refer to the `Deployment` object // and `deploymentStage` will refer to a `Stage` that points to this // deployment. To customize the stage options, use the `deployOptions` // property. // // A CloudFormation Output will also be defined with the root URL endpoint // of this REST API. Deploy *bool `json:"deploy" yaml:"deploy"` // Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. // // If `deploy` is disabled, // this value cannot be set. DeployOptions *StageOptions `json:"deployOptions" yaml:"deployOptions"` // Specifies whether clients can invoke the API using the default execute-api endpoint. // // To require that clients use a custom domain name to invoke the // API, disable the default endpoint. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html // DisableExecuteApiEndpoint *bool `json:"disableExecuteApiEndpoint" yaml:"disableExecuteApiEndpoint"` // Configure a custom domain name and map it to this API. DomainName *DomainNameOptions `json:"domainName" yaml:"domainName"` // Export name for the CfnOutput containing the API endpoint. EndpointExportName *string `json:"endpointExportName" yaml:"endpointExportName"` // A list of the endpoint types of the API. // // Use this property when creating // an API. EndpointTypes *[]EndpointType `json:"endpointTypes" yaml:"endpointTypes"` // Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. FailOnWarnings *bool `json:"failOnWarnings" yaml:"failOnWarnings"` // Custom header parameters for the request. // See: https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-rest-api.html // Parameters *map[string]*string `json:"parameters" yaml:"parameters"` // A policy document that contains the permissions for this RestApi. Policy awsiam.PolicyDocument `json:"policy" yaml:"policy"` // A name for the API Gateway RestApi resource. RestApiName *string `json:"restApiName" yaml:"restApiName"` // Retains old deployment resources when the API changes. // // This allows // manually reverting stages to point to old deployments via the AWS // Console. RetainDeployments *bool `json:"retainDeployments" yaml:"retainDeployments"` // An OpenAPI definition compatible with API Gateway. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-import-api.html // ApiDefinition ApiDefinition `json:"apiDefinition" yaml:"apiDefinition"` }
Props to instantiate a new SpecRestApi.
TODO: EXAMPLE
type Stage ¶
type Stage interface { awscdk.Resource IStage Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string RestApi() IRestApi Stack() awscdk.Stack StageArn() *string StageName() *string ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string UrlForPath(path *string) *string }
TODO: EXAMPLE
func NewStage ¶
func NewStage(scope constructs.Construct, id *string, props *StageProps) Stage
type StageOptions ¶
type StageOptions struct { // Indicates whether the cached responses are encrypted. CacheDataEncrypted *bool `json:"cacheDataEncrypted" yaml:"cacheDataEncrypted"` // Specifies the time to live (TTL), in seconds, for cached responses. // // The // higher the TTL, the longer the response will be cached. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html // CacheTtl awscdk.Duration `json:"cacheTtl" yaml:"cacheTtl"` // 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 `json:"cachingEnabled" yaml:"cachingEnabled"` // Specifies whether data trace logging is enabled for this method. // // When enabled, API gateway will log the full API requests and responses. // This can be useful to troubleshoot APIs, but can result in logging sensitive data. // We recommend that you don't enable this feature for production APIs. DataTraceEnabled *bool `json:"dataTraceEnabled" yaml:"dataTraceEnabled"` // Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. LoggingLevel MethodLoggingLevel `json:"loggingLevel" yaml:"loggingLevel"` // Specifies whether Amazon CloudWatch metrics are enabled for this method. MetricsEnabled *bool `json:"metricsEnabled" yaml:"metricsEnabled"` // Specifies the throttling burst limit. // // The total rate of all requests in your AWS account is limited to 5,000 requests. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html // ThrottlingBurstLimit *float64 `json:"throttlingBurstLimit" yaml:"throttlingBurstLimit"` // Specifies the throttling rate limit. // // The total rate of all requests in your AWS account is limited to 10,000 requests per second (rps). // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html // ThrottlingRateLimit *float64 `json:"throttlingRateLimit" yaml:"throttlingRateLimit"` // The CloudWatch Logs log group. AccessLogDestination IAccessLogDestination `json:"accessLogDestination" yaml:"accessLogDestination"` // A single line format of access logs of data, as specified by selected $content variables. // // The format must include at least `AccessLogFormat.contextRequestId()`. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference // AccessLogFormat AccessLogFormat `json:"accessLogFormat" yaml:"accessLogFormat"` // Indicates whether cache clustering is enabled for the stage. CacheClusterEnabled *bool `json:"cacheClusterEnabled" yaml:"cacheClusterEnabled"` // The stage's cache cluster size. CacheClusterSize *string `json:"cacheClusterSize" yaml:"cacheClusterSize"` // The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. ClientCertificateId *string `json:"clientCertificateId" yaml:"clientCertificateId"` // A description of the purpose of the stage. Description *string `json:"description" yaml:"description"` // The version identifier of the API documentation snapshot. DocumentationVersion *string `json:"documentationVersion" yaml:"documentationVersion"` // Method deployment options for specific resources/methods. // // These will // override common options defined in `StageOptions#methodOptions`. MethodOptions *map[string]*MethodDeploymentOptions `json:"methodOptions" yaml:"methodOptions"` // The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI). StageName *string `json:"stageName" yaml:"stageName"` // Specifies whether Amazon X-Ray tracing is enabled for this method. TracingEnabled *bool `json:"tracingEnabled" yaml:"tracingEnabled"` // A map that defines the stage variables. // // Variable names must consist of // alphanumeric characters, and the values must match the following regular // expression: [A-Za-z0-9-._~:/?#&=,]+. Variables *map[string]*string `json:"variables" yaml:"variables"` }
TODO: EXAMPLE
type StageProps ¶
type StageProps struct { // Indicates whether the cached responses are encrypted. CacheDataEncrypted *bool `json:"cacheDataEncrypted" yaml:"cacheDataEncrypted"` // Specifies the time to live (TTL), in seconds, for cached responses. // // The // higher the TTL, the longer the response will be cached. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html // CacheTtl awscdk.Duration `json:"cacheTtl" yaml:"cacheTtl"` // 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 `json:"cachingEnabled" yaml:"cachingEnabled"` // Specifies whether data trace logging is enabled for this method. // // When enabled, API gateway will log the full API requests and responses. // This can be useful to troubleshoot APIs, but can result in logging sensitive data. // We recommend that you don't enable this feature for production APIs. DataTraceEnabled *bool `json:"dataTraceEnabled" yaml:"dataTraceEnabled"` // Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. LoggingLevel MethodLoggingLevel `json:"loggingLevel" yaml:"loggingLevel"` // Specifies whether Amazon CloudWatch metrics are enabled for this method. MetricsEnabled *bool `json:"metricsEnabled" yaml:"metricsEnabled"` // Specifies the throttling burst limit. // // The total rate of all requests in your AWS account is limited to 5,000 requests. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html // ThrottlingBurstLimit *float64 `json:"throttlingBurstLimit" yaml:"throttlingBurstLimit"` // Specifies the throttling rate limit. // // The total rate of all requests in your AWS account is limited to 10,000 requests per second (rps). // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html // ThrottlingRateLimit *float64 `json:"throttlingRateLimit" yaml:"throttlingRateLimit"` // The CloudWatch Logs log group. AccessLogDestination IAccessLogDestination `json:"accessLogDestination" yaml:"accessLogDestination"` // A single line format of access logs of data, as specified by selected $content variables. // // The format must include at least `AccessLogFormat.contextRequestId()`. // See: https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#context-variable-reference // AccessLogFormat AccessLogFormat `json:"accessLogFormat" yaml:"accessLogFormat"` // Indicates whether cache clustering is enabled for the stage. CacheClusterEnabled *bool `json:"cacheClusterEnabled" yaml:"cacheClusterEnabled"` // The stage's cache cluster size. CacheClusterSize *string `json:"cacheClusterSize" yaml:"cacheClusterSize"` // The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. ClientCertificateId *string `json:"clientCertificateId" yaml:"clientCertificateId"` // A description of the purpose of the stage. Description *string `json:"description" yaml:"description"` // The version identifier of the API documentation snapshot. DocumentationVersion *string `json:"documentationVersion" yaml:"documentationVersion"` // Method deployment options for specific resources/methods. // // These will // override common options defined in `StageOptions#methodOptions`. MethodOptions *map[string]*MethodDeploymentOptions `json:"methodOptions" yaml:"methodOptions"` // The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI). StageName *string `json:"stageName" yaml:"stageName"` // Specifies whether Amazon X-Ray tracing is enabled for this method. TracingEnabled *bool `json:"tracingEnabled" yaml:"tracingEnabled"` // A map that defines the stage variables. // // Variable names must consist of // alphanumeric characters, and the values must match the following regular // expression: [A-Za-z0-9-._~:/?#&=,]+. Variables *map[string]*string `json:"variables" yaml:"variables"` // The deployment that this stage points to [disable-awslint:ref-via-interface]. Deployment Deployment `json:"deployment" yaml:"deployment"` }
TODO: EXAMPLE
type StepFunctionsExecutionIntegrationOptions ¶ added in v2.1.0
type StepFunctionsExecutionIntegrationOptions struct { // A list of request parameters whose values are to be cached. // // It determines // request parameters that will make it into the cache key. CacheKeyParameters *[]*string `json:"cacheKeyParameters" yaml:"cacheKeyParameters"` // An API-specific tag group of related cached parameters. CacheNamespace *string `json:"cacheNamespace" yaml:"cacheNamespace"` // The type of network connection to the integration endpoint. ConnectionType ConnectionType `json:"connectionType" yaml:"connectionType"` // Specifies how to handle request payload content type conversions. ContentHandling ContentHandling `json:"contentHandling" yaml:"contentHandling"` // Requires that the caller's identity be passed through from the request. CredentialsPassthrough *bool `json:"credentialsPassthrough" yaml:"credentialsPassthrough"` // An IAM role that API Gateway assumes. // // Mutually exclusive with `credentialsPassThrough`. CredentialsRole awsiam.IRole `json:"credentialsRole" yaml:"credentialsRole"` // The response that API Gateway provides after a method's backend completes processing a request. // // API Gateway intercepts the response from the // backend so that you can control how API Gateway surfaces backend // responses. For example, you can map the backend status codes to codes // that you define. IntegrationResponses *[]*IntegrationResponse `json:"integrationResponses" yaml:"integrationResponses"` // Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource. // // There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and // NEVER. PassthroughBehavior PassthroughBehavior `json:"passthroughBehavior" yaml:"passthroughBehavior"` // The request parameters that API Gateway sends with the backend request. // // Specify request parameters as key-value pairs (string-to-string // mappings), with a destination as the key and a source as the value. // // Specify the destination by using the following pattern // integration.request.location.name, where location is querystring, path, // or header, and name is a valid, unique parameter name. // // The source must be an existing method request parameter or a static // value. You must enclose static values in single quotation marks and // pre-encode these values based on their destination in the request. RequestParameters *map[string]*string `json:"requestParameters" yaml:"requestParameters"` // A map of Apache Velocity templates that are applied on the request payload. // // The template that API Gateway uses is based on the value of the // Content-Type header that's sent by the client. The content type value is // the key, and the template is the value (specified as a string), such as // the following snippet: // // “` // { "application/json": "{ \"statusCode\": 200 }" } // “` // See: http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html // RequestTemplates *map[string]*string `json:"requestTemplates" yaml:"requestTemplates"` // The maximum amount of time an integration will run before it returns without a response. // // Must be between 50 milliseconds and 29 seconds. Timeout awscdk.Duration `json:"timeout" yaml:"timeout"` // The VpcLink used for the integration. // // Required if connectionType is VPC_LINK VpcLink IVpcLink `json:"vpcLink" yaml:"vpcLink"` // Check if header is to be included inside the execution input. // // The execution input will include a new key `headers`: // // { // "body": {}, // "headers": { // "header1": "value", // "header2": "value" // } // } Headers *bool `json:"headers" yaml:"headers"` // Check if path is to be included inside the execution input. // // The execution input will include a new key `path`: // // { // "body": {}, // "path": { // "resourceName": "resourceValue" // } // } Path *bool `json:"path" yaml:"path"` // Check if querystring is to be included inside the execution input. // // The execution input will include a new key `queryString`: // // { // "body": {}, // "querystring": { // "key": "value" // } // } Querystring *bool `json:"querystring" yaml:"querystring"` // Which details of the incoming request must be passed onto the underlying state machine, such as, account id, user identity, request id, etc. // // The execution input will include a new key `requestContext`: // // { // "body": {}, // "requestContext": { // "key": "value" // } // } RequestContext *RequestContext `json:"requestContext" yaml:"requestContext"` }
Options when configuring Step Functions synchronous integration with Rest API.
TODO: EXAMPLE
type StepFunctionsIntegration ¶ added in v2.1.0
type StepFunctionsIntegration interface { }
Options to integrate with various StepFunction API.
TODO: EXAMPLE
func NewStepFunctionsIntegration ¶ added in v2.1.0
func NewStepFunctionsIntegration() StepFunctionsIntegration
type StepFunctionsRestApi ¶ added in v2.1.0
type StepFunctionsRestApi interface { RestApi CloudWatchAccount() CfnAccount SetCloudWatchAccount(val CfnAccount) DeploymentStage() Stage SetDeploymentStage(val Stage) DomainName() DomainName Env() *awscdk.ResourceEnvironment LatestDeployment() Deployment Methods() *[]Method Node() constructs.Node PhysicalName() *string RestApiId() *string RestApiName() *string RestApiRootResourceId() *string Root() IResource Stack() awscdk.Stack Url() *string AddApiKey(id *string, options *ApiKeyOptions) IApiKey AddDomainName(id *string, options *DomainNameOptions) DomainName AddGatewayResponse(id *string, options *GatewayResponseOptions) GatewayResponse AddModel(id *string, props *ModelOptions) Model AddRequestValidator(id *string, props *RequestValidatorOptions) RequestValidator AddUsagePlan(id *string, props *UsagePlanProps) UsagePlan ApplyRemovalPolicy(policy awscdk.RemovalPolicy) ArnForExecuteApi(method *string, path *string, stage *string) *string GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheHitCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCacheMissCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricClientError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricCount(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricIntegrationLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricLatency(props *awscloudwatch.MetricOptions) awscloudwatch.Metric MetricServerError(props *awscloudwatch.MetricOptions) awscloudwatch.Metric ToString() *string UrlForPath(path *string) *string }
Defines an API Gateway REST API with a Synchrounous Express State Machine as a proxy integration.
TODO: EXAMPLE
func NewStepFunctionsRestApi ¶ added in v2.1.0
func NewStepFunctionsRestApi(scope constructs.Construct, id *string, props *StepFunctionsRestApiProps) StepFunctionsRestApi
type StepFunctionsRestApiProps ¶ added in v2.1.0
type StepFunctionsRestApiProps struct { // Adds a CORS preflight OPTIONS method to this resource and all child resources. // // You can add CORS at the resource-level using `addCorsPreflight`. DefaultCorsPreflightOptions *CorsOptions `json:"defaultCorsPreflightOptions" yaml:"defaultCorsPreflightOptions"` // An integration to use as a default for all methods created within this API unless an integration is specified. DefaultIntegration Integration `json:"defaultIntegration" yaml:"defaultIntegration"` // Method options to use as a default for all methods created within this API unless custom options are specified. DefaultMethodOptions *MethodOptions `json:"defaultMethodOptions" yaml:"defaultMethodOptions"` // Automatically configure an AWS CloudWatch role for API Gateway. CloudWatchRole *bool `json:"cloudWatchRole" yaml:"cloudWatchRole"` // Indicates if a Deployment should be automatically created for this API, and recreated when the API model (resources, methods) changes. // // Since API Gateway deployments are immutable, When this option is enabled // (by default), an AWS::ApiGateway::Deployment resource will automatically // created with a logical ID that hashes the API model (methods, resources // and options). This means that when the model changes, the logical ID of // this CloudFormation resource will change, and a new deployment will be // created. // // If this is set, `latestDeployment` will refer to the `Deployment` object // and `deploymentStage` will refer to a `Stage` that points to this // deployment. To customize the stage options, use the `deployOptions` // property. // // A CloudFormation Output will also be defined with the root URL endpoint // of this REST API. Deploy *bool `json:"deploy" yaml:"deploy"` // Options for the API Gateway stage that will always point to the latest deployment when `deploy` is enabled. // // If `deploy` is disabled, // this value cannot be set. DeployOptions *StageOptions `json:"deployOptions" yaml:"deployOptions"` // Specifies whether clients can invoke the API using the default execute-api endpoint. // // To require that clients use a custom domain name to invoke the // API, disable the default endpoint. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html // DisableExecuteApiEndpoint *bool `json:"disableExecuteApiEndpoint" yaml:"disableExecuteApiEndpoint"` // Configure a custom domain name and map it to this API. DomainName *DomainNameOptions `json:"domainName" yaml:"domainName"` // Export name for the CfnOutput containing the API endpoint. EndpointExportName *string `json:"endpointExportName" yaml:"endpointExportName"` // A list of the endpoint types of the API. // // Use this property when creating // an API. EndpointTypes *[]EndpointType `json:"endpointTypes" yaml:"endpointTypes"` // Indicates whether to roll back the resource if a warning occurs while API Gateway is creating the RestApi resource. FailOnWarnings *bool `json:"failOnWarnings" yaml:"failOnWarnings"` // Custom header parameters for the request. // See: https://docs.aws.amazon.com/cli/latest/reference/apigateway/import-rest-api.html // Parameters *map[string]*string `json:"parameters" yaml:"parameters"` // A policy document that contains the permissions for this RestApi. Policy awsiam.PolicyDocument `json:"policy" yaml:"policy"` // A name for the API Gateway RestApi resource. RestApiName *string `json:"restApiName" yaml:"restApiName"` // Retains old deployment resources when the API changes. // // This allows // manually reverting stages to point to old deployments via the AWS // Console. RetainDeployments *bool `json:"retainDeployments" yaml:"retainDeployments"` // The source of the API key for metering requests according to a usage plan. ApiKeySourceType ApiKeySourceType `json:"apiKeySourceType" yaml:"apiKeySourceType"` // The list of binary media mime-types that are supported by the RestApi resource, such as "image/png" or "application/octet-stream". BinaryMediaTypes *[]*string `json:"binaryMediaTypes" yaml:"binaryMediaTypes"` // The ID of the API Gateway RestApi resource that you want to clone. CloneFrom IRestApi `json:"cloneFrom" yaml:"cloneFrom"` // A description of the purpose of this API Gateway RestApi resource. Description *string `json:"description" yaml:"description"` // The EndpointConfiguration property type specifies the endpoint types of a REST API. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html // EndpointConfiguration *EndpointConfiguration `json:"endpointConfiguration" yaml:"endpointConfiguration"` // A nullable integer that is used to enable compression (with non-negative between 0 and 10485760 (10M) bytes, inclusive) or disable compression (when undefined) on an API. // // When compression is enabled, compression or // decompression is not applied on the payload if the payload size is // smaller than this value. Setting it to zero allows compression for any // payload size. MinimumCompressionSize *float64 `json:"minimumCompressionSize" yaml:"minimumCompressionSize"` // The default State Machine that handles all requests from this API. // // This stateMachine will be used as a the default integration for all methods in // this API, unless specified otherwise in `addMethod`. StateMachine awsstepfunctions.IStateMachine `json:"stateMachine" yaml:"stateMachine"` // Check if header is to be included inside the execution input. // // The execution input will include a new key `headers`: // // { // "body": {}, // "headers": { // "header1": "value", // "header2": "value" // } // } Headers *bool `json:"headers" yaml:"headers"` // Check if path is to be included inside the execution input. // // The execution input will include a new key `path`: // // { // "body": {}, // "path": { // "resourceName": "resourceValue" // } // } Path *bool `json:"path" yaml:"path"` // Check if querystring is to be included inside the execution input. // // The execution input will include a new key `queryString`: // // { // "body": {}, // "querystring": { // "key": "value" // } // } Querystring *bool `json:"querystring" yaml:"querystring"` // Which details of the incoming request must be passed onto the underlying state machine, such as, account id, user identity, request id, etc. // // The execution input will include a new key `requestContext`: // // { // "body": {}, // "requestContext": { // "key": "value" // } // } RequestContext *RequestContext `json:"requestContext" yaml:"requestContext"` }
Properties for StepFunctionsRestApi.
TODO: EXAMPLE
type ThrottleSettings ¶
type ThrottleSettings struct { // The maximum API request rate limit over a time ranging from one to a few seconds. BurstLimit *float64 `json:"burstLimit" yaml:"burstLimit"` // The API request steady-state rate limit (average requests per second over an extended period of time). RateLimit *float64 `json:"rateLimit" yaml:"rateLimit"` }
Container for defining throttling parameters to API stages or methods.
TODO: EXAMPLE
type ThrottlingPerMethod ¶
type ThrottlingPerMethod struct { // [disable-awslint:ref-via-interface] The method for which you specify the throttling settings. Method Method `json:"method" yaml:"method"` // Specifies the overall request rate (average requests per second) and burst capacity. Throttle *ThrottleSettings `json:"throttle" yaml:"throttle"` }
Represents per-method throttling for a resource.
TODO: EXAMPLE
type TokenAuthorizer ¶
type TokenAuthorizer interface { Authorizer IAuthorizer AuthorizationType() AuthorizationType AuthorizerArn() *string AuthorizerId() *string Env() *awscdk.ResourceEnvironment Handler() awslambda.IFunction Node() constructs.Node PhysicalName() *string RestApiId() *string SetRestApiId(val *string) Role() awsiam.IRole Stack() awscdk.Stack ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string LazyRestApiId() *string SetupPermissions() ToString() *string }
Token based lambda authorizer that recognizes the caller's identity as a bearer token, such as a JSON Web Token (JWT) or an OAuth token.
Based on the token, authorization is performed by a lambda function.
TODO: EXAMPLE
func NewTokenAuthorizer ¶
func NewTokenAuthorizer(scope constructs.Construct, id *string, props *TokenAuthorizerProps) TokenAuthorizer
type TokenAuthorizerProps ¶
type TokenAuthorizerProps struct { // The handler for the authorizer lambda function. // // The handler must follow a very specific protocol on the input it receives and the output it needs to produce. // API Gateway has documented the handler's input specification // {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-input.html | here} and output specification // {@link https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-output.html | here}. Handler awslambda.IFunction `json:"handler" yaml:"handler"` // An optional IAM role for APIGateway to assume before calling the Lambda-based authorizer. // // The IAM role must be // assumable by 'apigateway.amazonaws.com'. AssumeRole awsiam.IRole `json:"assumeRole" yaml:"assumeRole"` // An optional human friendly name for the authorizer. // // Note that, this is not the primary identifier of the authorizer. AuthorizerName *string `json:"authorizerName" yaml:"authorizerName"` // How long APIGateway should cache the results. // // Max 1 hour. // Disable caching by setting this to 0. ResultsCacheTtl awscdk.Duration `json:"resultsCacheTtl" yaml:"resultsCacheTtl"` // The request header mapping expression for the bearer token. // // This is typically passed as part of the header, in which case // this should be `method.request.header.Authorizer` where Authorizer is the header containing the bearer token. // See: https://docs.aws.amazon.com/apigateway/api-reference/link-relation/authorizer-create/#identitySource // IdentitySource *string `json:"identitySource" yaml:"identitySource"` // An optional regex to be matched against the authorization token. // // When matched the authorizer lambda is invoked, // otherwise a 401 Unauthorized is returned to the client. ValidationRegex *string `json:"validationRegex" yaml:"validationRegex"` }
Properties for TokenAuthorizer.
TODO: EXAMPLE
type UsagePlan ¶
type UsagePlan interface { awscdk.Resource IUsagePlan Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack UsagePlanId() *string AddApiKey(apiKey IApiKey, options *AddApiKeyOptions) AddApiStage(apiStage *UsagePlanPerApiStage) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
TODO: EXAMPLE
func NewUsagePlan ¶
func NewUsagePlan(scope constructs.Construct, id *string, props *UsagePlanProps) UsagePlan
type UsagePlanPerApiStage ¶
type UsagePlanPerApiStage struct { Api IRestApi `json:"api" yaml:"api"` // [disable-awslint:ref-via-interface]. Stage Stage `json:"stage" yaml:"stage"` Throttle *[]*ThrottlingPerMethod `json:"throttle" yaml:"throttle"` }
Represents the API stages that a usage plan applies to.
TODO: EXAMPLE
type UsagePlanProps ¶
type UsagePlanProps struct { // API Stages to be associated with the usage plan. ApiStages *[]*UsagePlanPerApiStage `json:"apiStages" yaml:"apiStages"` // Represents usage plan purpose. Description *string `json:"description" yaml:"description"` // Name for this usage plan. Name *string `json:"name" yaml:"name"` // Number of requests clients can make in a given time period. Quota *QuotaSettings `json:"quota" yaml:"quota"` // Overall throttle settings for the API. Throttle *ThrottleSettings `json:"throttle" yaml:"throttle"` }
TODO: EXAMPLE
type VpcLink ¶
type VpcLink interface { awscdk.Resource IVpcLink Env() *awscdk.ResourceEnvironment Node() constructs.Node PhysicalName() *string Stack() awscdk.Stack VpcLinkId() *string AddTargets(targets ...awselasticloadbalancingv2.INetworkLoadBalancer) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string GetResourceNameAttribute(nameAttr *string) *string ToString() *string }
Define a new VPC Link Specifies an API Gateway VPC link for a RestApi to access resources in an Amazon Virtual Private Cloud (VPC).
TODO: EXAMPLE
func NewVpcLink ¶
func NewVpcLink(scope constructs.Construct, id *string, props *VpcLinkProps) VpcLink
type VpcLinkProps ¶
type VpcLinkProps struct { // The description of the VPC link. Description *string `json:"description" yaml:"description"` // The network load balancers of the VPC targeted by the VPC link. // // The network load balancers must be owned by the same AWS account of the API owner. Targets *[]awselasticloadbalancingv2.INetworkLoadBalancer `json:"targets" yaml:"targets"` // The name used to label and identify the VPC link. VpcLinkName *string `json:"vpcLinkName" yaml:"vpcLinkName"` }
Properties for a VpcLink.
TODO: EXAMPLE