/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * Resource Type definition for AWS::ApiGateway::Deployment */ export interface AwsApigatewayDeployment { /** * Primary Id for this resource */ DeploymentId?: string; DeploymentCanarySettings?: DeploymentCanarySettings; /** * A description of the purpose of the API Gateway deployment. */ Description?: string; /** * The ID of the RestApi resource to deploy. */ RestApiId: string; StageDescription?: StageDescription; /** * A name for the stage that API Gateway creates with this deployment. Use only alphanumeric characters. */ StageName?: string; } /** * Specifies settings for the canary deployment. */ export interface DeploymentCanarySettings { /** * The percentage (0-100) of traffic diverted to a canary deployment. */ PercentTraffic?: number; /** * 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?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[a-zA-Z0-9]+". */ [k: string]: string; }; /** * Whether the canary deployment uses the stage cache. */ UseStageCache?: boolean; } /** * Configures the stage that API Gateway creates with this deployment. */ export interface StageDescription { AccessLogSetting?: AccessLogSetting; /** * Indicates whether cache clustering is enabled for the stage. */ CacheClusterEnabled?: boolean; /** * The size of the stage's cache cluster. */ CacheClusterSize?: string; /** * The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. */ CacheDataEncrypted?: boolean; /** * The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. */ CacheTtlInSeconds?: number; /** * Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. */ CachingEnabled?: boolean; CanarySetting?: CanarySetting; /** * The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. */ ClientCertificateId?: string; /** * Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. */ DataTraceEnabled?: boolean; /** * A description of the purpose of the stage. */ Description?: string; /** * The version identifier of the API documentation snapshot. */ DocumentationVersion?: string; /** * The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. */ LoggingLevel?: string; /** * Configures settings for all of the stage's methods. */ MethodSettings?: MethodSetting[]; /** * Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage. */ MetricsEnabled?: boolean; /** * An array of arbitrary tags (key-value pairs) to associate with the stage. */ Tags?: Tag[]; /** * The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account. */ ThrottlingBurstLimit?: number; /** * The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account. */ ThrottlingRateLimit?: number; /** * Specifies whether active tracing with X-ray is enabled for this stage. */ TracingEnabled?: boolean; /** * 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?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[a-zA-Z0-9]+". */ [k: string]: string; }; } /** * Specifies settings for logging access in this stage. */ export interface AccessLogSetting { /** * 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; /** * A single line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. */ Format?: string; } /** * Specifies settings for the canary deployment in this stage. */ export interface CanarySetting { /** * The percent (0-100) of traffic diverted to a canary deployment. */ PercentTraffic?: number; /** * 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?: { /** * This interface was referenced by `undefined`'s JSON-Schema definition * via the `patternProperty` "[a-zA-Z0-9]+". */ [k: string]: string; }; /** * Whether the canary deployment uses the stage cache or not. */ UseStageCache?: boolean; } export interface MethodSetting { /** * Indicates whether the cached responses are encrypted */ CacheDataEncrypted?: boolean; /** * The time-to-live (TTL) period, in seconds, that specifies how long API Gateway caches responses. */ CacheTtlInSeconds?: number; /** * Indicates whether responses are cached and returned for requests. You must enable a cache cluster on the stage to cache responses. */ CachingEnabled?: boolean; /** * Indicates whether data trace logging is enabled for methods in the stage. API Gateway pushes these logs to Amazon CloudWatch Logs. */ DataTraceEnabled?: boolean; /** * The HTTP method. */ HttpMethod?: string; /** * The logging level for this method. For valid values, see the loggingLevel property of the Stage resource in the Amazon API Gateway API Reference. */ LoggingLevel?: string; /** * Indicates whether Amazon CloudWatch metrics are enabled for methods in the stage. */ MetricsEnabled?: boolean; /** * The resource path for this method. Forward slashes (/) are encoded as ~1 and the initial slash must include a forward slash. */ ResourcePath?: string; /** * The number of burst requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account. */ ThrottlingBurstLimit?: number; /** * The number of steady-state requests per second that API Gateway permits across all APIs, stages, and methods in your AWS account. */ ThrottlingRateLimit?: number; } export interface Tag { /** * The key name of the tag */ Key: string; /** * The value for the tag */ Value: string; }