package awsapigateway import ( "github.com/aws/aws-cdk-go/awscdk/v2" ) // `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. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // // stageDescriptionProperty := &StageDescriptionProperty{ // AccessLogSetting: &AccessLogSettingProperty{ // DestinationArn: jsii.String("destinationArn"), // Format: jsii.String("format"), // }, // CacheClusterEnabled: jsii.Boolean(false), // CacheClusterSize: jsii.String("cacheClusterSize"), // CacheDataEncrypted: jsii.Boolean(false), // CacheTtlInSeconds: jsii.Number(123), // CachingEnabled: jsii.Boolean(false), // CanarySetting: &CanarySettingProperty{ // PercentTraffic: jsii.Number(123), // StageVariableOverrides: map[string]*string{ // "stageVariableOverridesKey": jsii.String("stageVariableOverrides"), // }, // UseStageCache: jsii.Boolean(false), // }, // ClientCertificateId: jsii.String("clientCertificateId"), // DataTraceEnabled: jsii.Boolean(false), // Description: jsii.String("description"), // DocumentationVersion: jsii.String("documentationVersion"), // LoggingLevel: jsii.String("loggingLevel"), // MethodSettings: []interface{}{ // &MethodSettingProperty{ // CacheDataEncrypted: jsii.Boolean(false), // CacheTtlInSeconds: jsii.Number(123), // CachingEnabled: jsii.Boolean(false), // DataTraceEnabled: jsii.Boolean(false), // HttpMethod: jsii.String("httpMethod"), // LoggingLevel: jsii.String("loggingLevel"), // MetricsEnabled: jsii.Boolean(false), // ResourcePath: jsii.String("resourcePath"), // ThrottlingBurstLimit: jsii.Number(123), // ThrottlingRateLimit: jsii.Number(123), // }, // }, // MetricsEnabled: jsii.Boolean(false), // Tags: []cfnTag{ // &cfnTag{ // Key: jsii.String("key"), // Value: jsii.String("value"), // }, // }, // ThrottlingBurstLimit: jsii.Number(123), // ThrottlingRateLimit: jsii.Number(123), // TracingEnabled: jsii.Boolean(false), // Variables: map[string]*string{ // "variablesKey": jsii.String("variables"), // }, // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html // type CfnDeployment_StageDescriptionProperty struct { // Specifies settings for logging access in this stage. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-accesslogsetting // AccessLogSetting interface{} `field:"optional" json:"accessLogSetting" yaml:"accessLogSetting"` // Specifies whether a cache cluster is enabled for the stage. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclusterenabled // CacheClusterEnabled interface{} `field:"optional" json:"cacheClusterEnabled" yaml:"cacheClusterEnabled"` // The size of the stage's cache cluster. // // For more information, see [cacheClusterSize](https://docs.aws.amazon.com/apigateway/latest/api/API_CreateStage.html#apigw-CreateStage-request-cacheClusterSize) in the *API Gateway API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclustersize // CacheClusterSize *string `field:"optional" json:"cacheClusterSize" yaml:"cacheClusterSize"` // Indicates whether the cached responses are encrypted. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachedataencrypted // CacheDataEncrypted interface{} `field:"optional" json:"cacheDataEncrypted" yaml:"cacheDataEncrypted"` // The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachettlinseconds // CacheTtlInSeconds *float64 `field:"optional" 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cachingenabled // CachingEnabled interface{} `field:"optional" json:"cachingEnabled" yaml:"cachingEnabled"` // Specifies settings for the canary deployment in this stage. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-canarysetting // CanarySetting interface{} `field:"optional" json:"canarySetting" yaml:"canarySetting"` // The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-clientcertificateid // ClientCertificateId *string `field:"optional" 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. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-datatraceenabled // DataTraceEnabled interface{} `field:"optional" json:"dataTraceEnabled" yaml:"dataTraceEnabled"` // A description of the purpose of the stage. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-description // Description *string `field:"optional" json:"description" yaml:"description"` // The version identifier of the API documentation snapshot. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-documentationversion // DocumentationVersion *string `field:"optional" json:"documentationVersion" yaml:"documentationVersion"` // The logging level for this method. // // For valid values, see the `loggingLevel` property of the [MethodSetting](https://docs.aws.amazon.com/apigateway/latest/api/API_MethodSetting.html) resource in the *Amazon API Gateway API Reference* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-logginglevel // LoggingLevel *string `field:"optional" json:"loggingLevel" yaml:"loggingLevel"` // Configures settings for all of the stage's methods. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-methodsettings // MethodSettings interface{} `field:"optional" json:"methodSettings" yaml:"methodSettings"` // Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-metricsenabled // MetricsEnabled interface{} `field:"optional" json:"metricsEnabled" yaml:"metricsEnabled"` // An array of arbitrary tags (key-value pairs) to associate with the stage. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tags // Tags *[]*awscdk.CfnTag `field:"optional" 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingburstlimit // ThrottlingBurstLimit *float64 `field:"optional" 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-throttlingratelimit // ThrottlingRateLimit *float64 `field:"optional" 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* . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-tracingenabled // TracingEnabled interface{} `field:"optional" 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-._~:/?#&=,]+` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-variables // Variables interface{} `field:"optional" json:"variables" yaml:"variables"` }