aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
990 lines • 181 kB
TypeScript
import * as cdk from "../../core";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
/**
* The `AWS::ApiGateway::Account` resource specifies the IAM role that Amazon API Gateway uses to write API logs to Amazon CloudWatch Logs.
*
* To avoid overwriting other roles, you should only have one `AWS::ApiGateway::Account` resource per region per account.
*
* @cloudformationResource AWS::ApiGateway::Account
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html
*/
export declare class CfnAccount extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnAccount from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAccount;
/**
* The ID for the account. For example: `abc123` .
*
* @cloudformationAttribute Id
*/
readonly attrId: string;
/**
* The ARN of an Amazon CloudWatch role for the current Account.
*/
cloudWatchRoleArn?: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnAccountProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnAccount`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html
*/
export interface CfnAccountProps {
/**
* The ARN of an Amazon CloudWatch role for the current Account.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-account.html#cfn-apigateway-account-cloudwatchrolearn
*/
readonly cloudWatchRoleArn?: string;
}
/**
* 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.
*
* @cloudformationResource AWS::ApiGateway::ApiKey
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html
*/
export declare class CfnApiKey extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnApiKey from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApiKey;
/**
* The ID for the API key. For example: `abc123` .
*
* @cloudformationAttribute APIKeyId
*/
readonly attrApiKeyId: string;
/**
* An AWS Marketplace customer identifier, when integrating with the AWS SaaS Marketplace.
*/
customerId?: string;
/**
* The description of the ApiKey.
*/
description?: string;
/**
* Specifies whether the ApiKey can be used by callers.
*/
enabled?: boolean | cdk.IResolvable;
/**
* Specifies whether ( `true` ) or not ( `false` ) the key identifier is distinct from the created API key value.
*/
generateDistinctId?: boolean | cdk.IResolvable;
/**
* A name for the API key.
*/
name?: string;
/**
* DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.
*/
stageKeys?: Array<cdk.IResolvable | CfnApiKey.StageKeyProperty> | cdk.IResolvable;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The key-value map of strings.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* Specifies a value of the API key.
*/
value?: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnApiKeyProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnApiKey {
/**
* `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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html
*/
interface StageKeyProperty {
/**
* The string identifier of the associated RestApi.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-restapiid
*/
readonly restApiId?: string;
/**
* The stage name associated with the stage key.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-apikey-stagekey.html#cfn-apigateway-apikey-stagekey-stagename
*/
readonly stageName?: string;
}
}
/**
* Properties for defining a `CfnApiKey`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html
*/
export interface CfnApiKeyProps {
/**
* An AWS Marketplace customer identifier, when integrating with the AWS SaaS Marketplace.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-customerid
*/
readonly customerId?: string;
/**
* The description of the ApiKey.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-description
*/
readonly description?: string;
/**
* Specifies whether the ApiKey can be used by callers.
*
* @default - false
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-enabled
*/
readonly enabled?: boolean | cdk.IResolvable;
/**
* Specifies whether ( `true` ) or not ( `false` ) the key identifier is distinct from the created API key value.
*
* This parameter is deprecated and should not be used.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-generatedistinctid
*/
readonly generateDistinctId?: boolean | cdk.IResolvable;
/**
* 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-name
*/
readonly name?: string;
/**
* DEPRECATED FOR USAGE PLANS - Specifies stages associated with the API key.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-stagekeys
*/
readonly stageKeys?: Array<cdk.IResolvable | CfnApiKey.StageKeyProperty> | cdk.IResolvable;
/**
* The key-value map of strings.
*
* The valid character set is [a-zA-Z+-=._:/]. The tag key can be up to 128 characters and must not start with `aws:` . The tag value can be up to 256 characters.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-tags
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* Specifies a value of the API key.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html#cfn-apigateway-apikey-value
*/
readonly value?: string;
}
/**
* 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.
*
* @cloudformationResource AWS::ApiGateway::Authorizer
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html
*/
export declare class CfnAuthorizer extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnAuthorizer from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAuthorizer;
/**
* The ID for the authorizer. For example: `abc123` .
*
* @cloudformationAttribute AuthorizerId
*/
readonly attrAuthorizerId: string;
/**
* Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer.
*/
authorizerCredentials?: string;
/**
* The TTL in seconds of cached authorizer results.
*/
authorizerResultTtlInSeconds?: number;
/**
* Specifies the authorizer's Uniform Resource Identifier (URI).
*/
authorizerUri?: string;
/**
* Optional customer-defined field, used in OpenAPI imports and exports without functional impact.
*/
authType?: string;
/**
* The identity source for which authorization is requested.
*/
identitySource?: string;
/**
* A validation expression for the incoming identity token.
*/
identityValidationExpression?: string;
/**
* The name of the authorizer.
*/
name: string;
/**
* A list of the Amazon Cognito user pool ARNs for the `COGNITO_USER_POOLS` authorizer.
*/
providerArns?: Array<string>;
/**
* The string identifier of the associated RestApi.
*/
restApiId: string;
/**
* The authorizer type.
*/
type: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnAuthorizerProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnAuthorizer`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html
*/
export interface CfnAuthorizerProps {
/**
* Specifies the required credentials as an IAM role for API Gateway to invoke the authorizer.
*
* To specify an IAM role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To use resource-based permissions on the Lambda function, specify null.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizercredentials
*/
readonly authorizerCredentials?: string;
/**
* The TTL in seconds of cached authorizer results.
*
* If it equals 0, authorization caching is disabled. If it is greater than 0, API Gateway will cache authorizer responses. If this field is not set, the default value is 300. The maximum value is 3600, or 1 hour.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizerresultttlinseconds
*/
readonly authorizerResultTtlInSeconds?: number;
/**
* Specifies the authorizer's Uniform Resource Identifier (URI).
*
* For `TOKEN` or `REQUEST` authorizers, this must be a well-formed Lambda function URI, for example, `arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:{account_id}:function:{lambda_function_name}/invocations` . In general, the URI has this form `arn:aws:apigateway:{region}:lambda:path/{service_api}` , where `{region}` is the same as the region hosting the Lambda function, `path` indicates that the remaining substring in the URI should be treated as the path to the resource, including the initial `/` . For Lambda functions, this is usually of the form `/2015-03-31/functions/[FunctionARN]/invocations` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authorizeruri
*/
readonly authorizerUri?: string;
/**
* Optional customer-defined field, used in OpenAPI imports and exports without functional impact.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-authtype
*/
readonly authType?: string;
/**
* The identity source for which authorization is requested.
*
* For a `TOKEN` or `COGNITO_USER_POOLS` authorizer, this is required and specifies the request header mapping expression for the custom header holding the authorization token submitted by the client. For example, if the token header name is `Auth` , the header mapping expression is `method.request.header.Auth` . For the `REQUEST` authorizer, this is required when authorization caching is enabled. The value is a comma-separated string of one or more mapping expressions of the specified request parameters. For example, if an `Auth` header, a `Name` query string parameter are defined as identity sources, this value is `method.request.header.Auth, method.request.querystring.Name` . These parameters will be used to derive the authorization caching key and to perform runtime validation of the `REQUEST` authorizer by verifying all of the identity-related request parameters are present, not null and non-empty. Only when this is true does the authorizer invoke the authorizer Lambda function, otherwise, it returns a 401 Unauthorized response without calling the Lambda function. The valid value is a string of comma-separated mapping expressions of the specified request parameters. When the authorization caching is not enabled, this property is optional.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identitysource
*/
readonly identitySource?: string;
/**
* A validation expression for the incoming identity token.
*
* For `TOKEN` authorizers, this value is a regular expression. For `COGNITO_USER_POOLS` authorizers, API Gateway will match the `aud` field of the incoming token from the client against the specified regular expression. It will invoke the authorizer's Lambda function when there is a match. Otherwise, it will return a 401 Unauthorized response without calling the Lambda function. The validation expression does not apply to the `REQUEST` authorizer.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-identityvalidationexpression
*/
readonly identityValidationExpression?: string;
/**
* The name of the authorizer.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-name
*/
readonly name: string;
/**
* A list of the Amazon Cognito user pool ARNs for the `COGNITO_USER_POOLS` authorizer.
*
* Each element is of this format: `arn:aws:cognito-idp:{region}:{account_id}:userpool/{user_pool_id}` . For a `TOKEN` or `REQUEST` authorizer, this is not defined.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-providerarns
*/
readonly providerArns?: Array<string>;
/**
* The string identifier of the associated RestApi.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-restapiid
*/
readonly restApiId: string;
/**
* The authorizer type.
*
* Valid values are `TOKEN` for a Lambda function using a single authorization token submitted in a custom header, `REQUEST` for a Lambda function using incoming request parameters, and `COGNITO_USER_POOLS` for using an Amazon Cognito user pool.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-authorizer.html#cfn-apigateway-authorizer-type
*/
readonly type: string;
}
/**
* The `AWS::ApiGateway::BasePathMapping` resource creates a base path that clients who call your API must use in the invocation URL.
*
* Supported only for public custom domain names.
*
* @cloudformationResource AWS::ApiGateway::BasePathMapping
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html
*/
export declare class CfnBasePathMapping extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnBasePathMapping from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBasePathMapping;
/**
* The base path name that callers of the API must provide as part of the URL after the domain name.
*/
basePath?: string;
/**
* The domain name of the BasePathMapping resource to be described.
*/
domainName: string;
id?: string;
/**
* The string identifier of the associated RestApi.
*/
restApiId?: string;
/**
* The name of the associated stage.
*/
stage?: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnBasePathMappingProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnBasePathMapping`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html
*/
export interface CfnBasePathMappingProps {
/**
* The base path name that callers of the API must provide as part of the URL after the domain name.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath
*/
readonly basePath?: string;
/**
* The domain name of the BasePathMapping resource to be described.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-domainname
*/
readonly domainName: string;
/**
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-id
*/
readonly id?: string;
/**
* The string identifier of the associated RestApi.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-restapiid
*/
readonly restApiId?: string;
/**
* The name of the associated stage.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-stage
*/
readonly stage?: string;
}
/**
* 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.
*
* @cloudformationResource AWS::ApiGateway::ClientCertificate
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html
*/
export declare class CfnClientCertificate extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnClientCertificate from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnClientCertificate;
/**
* The ID for the client certificate. For example: `abc123` .
*
* @cloudformationAttribute ClientCertificateId
*/
readonly attrClientCertificateId: string;
/**
* The description of the client certificate.
*/
description?: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* The collection of tags.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props?: CfnClientCertificateProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
* Properties for defining a `CfnClientCertificate`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html
*/
export interface CfnClientCertificateProps {
/**
* The description of the client certificate.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-description
*/
readonly description?: string;
/**
* The collection of tags.
*
* Each tag element is associated with a given resource.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-clientcertificate.html#cfn-apigateway-clientcertificate-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* 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.
*
* @cloudformationResource AWS::ApiGateway::Deployment
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html
*/
export declare class CfnDeployment extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDeployment from CloudFormation properties
*
* A factory method that creates a new instance of this class from an object
* containing the CloudFormation properties of this resource.
* Used in the @aws-cdk/cloudformation-include module.
*
* @internal
*/
static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDeployment;
/**
* The ID for the deployment. For example: `abc123` .
*
* @cloudformationAttribute DeploymentId
*/
readonly attrDeploymentId: string;
/**
* The input configuration for a canary deployment.
*/
deploymentCanarySettings?: CfnDeployment.DeploymentCanarySettingsProperty | cdk.IResolvable;
/**
* The description for the Deployment resource to create.
*/
description?: string;
/**
* The string identifier of the associated RestApi.
*/
restApiId: string;
/**
* The description of the Stage resource for the Deployment resource to create.
*/
stageDescription?: cdk.IResolvable | CfnDeployment.StageDescriptionProperty;
/**
* The name of the Stage resource for the Deployment resource to create.
*/
stageName?: string;
/**
* @param scope Scope in which this resource is defined
* @param id Construct identifier for this resource (unique in its scope)
* @param props Resource properties
*/
constructor(scope: constructs.Construct, id: string, props: CfnDeploymentProps);
protected get cfnProperties(): Record<string, any>;
/**
* Examines the CloudFormation resource and discloses attributes
*
* @param inspector tree inspector to collect and process attributes
*/
inspect(inspector: cdk.TreeInspector): void;
protected renderProperties(props: Record<string, any>): Record<string, any>;
}
export declare namespace CfnDeployment {
/**
* `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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html
*/
interface StageDescriptionProperty {
/**
* 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
*/
readonly accessLogSetting?: CfnDeployment.AccessLogSettingProperty | cdk.IResolvable;
/**
* Specifies whether a cache cluster is enabled for the stage.
*
* To activate a method-level cache, set `CachingEnabled` to `true` for a method.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-stagedescription.html#cfn-apigateway-deployment-stagedescription-cacheclusterenabled
*/
readonly cacheClusterEnabled?: boolean | cdk.IResolvable;
/**
* 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
*/
readonly cacheClusterSize?: string;
/**
* 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
*/
readonly cacheDataEncrypted?: boolean | cdk.IResolvable;
/**
* 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
*/
readonly cacheTtlInSeconds?: number;
/**
* 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
*/
readonly cachingEnabled?: boolean | cdk.IResolvable;
/**
* 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
*/
readonly canarySetting?: CfnDeployment.CanarySettingProperty | cdk.IResolvable;
/**
* 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
*/
readonly clientCertificateId?: string;
/**
* 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
*/
readonly dataTraceEnabled?: boolean | cdk.IResolvable;
/**
* 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
*/
readonly description?: string;
/**
* 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
*/
readonly documentationVersion?: string;
/**
* 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
*/
readonly loggingLevel?: string;
/**
* 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
*/
readonly methodSettings?: Array<cdk.IResolvable | CfnDeployment.MethodSettingProperty> | cdk.IResolvable;
/**
* 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
*/
readonly metricsEnabled?: boolean | cdk.IResolvable;
/**
* 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
*/
readonly tags?: Array<cdk.CfnTag>;
/**
* 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
*/
readonly throttlingBurstLimit?: number;
/**
* 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
*/
readonly throttlingRateLimit?: number;
/**
* 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
*/
readonly tracingEnabled?: boolean | cdk.IResolvable;
/**
* 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
*/
readonly variables?: cdk.IResolvable | Record<string, string>;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html
*/
interface CanarySettingProperty {
/**
* The percent (0-100) of traffic diverted to a canary deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-percenttraffic
*/
readonly 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.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-stagevariableoverrides
*/
readonly stageVariableOverrides?: cdk.IResolvable | Record<string, string>;
/**
* A Boolean flag to indicate whether the canary deployment uses the stage cache or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-canarysetting.html#cfn-apigateway-deployment-canarysetting-usestagecache
*/
readonly useStageCache?: boolean | cdk.IResolvable;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html
*/
interface MethodSettingProperty {
/**
* Specifies whether the cached responses are encrypted.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachedataencrypted
*/
readonly cacheDataEncrypted?: boolean | cdk.IResolvable;
/**
* Specifies the time to live (TTL), in seconds, for cached responses.
*
* The higher the TTL, the longer the response will be cached.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachettlinseconds
*/
readonly cacheTtlInSeconds?: number;
/**
* Specifies whether responses should be cached and returned for requests.
*
* A cache cluster must be enabled on the stage for responses to be cached.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-cachingenabled
*/
readonly cachingEnabled?: boolean | cdk.IResolvable;
/**
* Specifies whether data trace logging is enabled for this method, which affects the log entries pushed to Amazon CloudWatch Logs.
*
* This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this option for production APIs.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-datatraceenabled
*/
readonly dataTraceEnabled?: boolean | cdk.IResolvable;
/**
* The HTTP method.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-httpmethod
*/
readonly httpMethod?: string;
/**
* Specifies the logging level for this method, which affects the log entries pushed to Amazon CloudWatch Logs.
*
* Valid values are `OFF` , `ERROR` , and `INFO` . Choose `ERROR` to write only error-level entries to CloudWatch Logs, or choose `INFO` to include all `ERROR` events as well as extra informational events.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-logginglevel
*/
readonly loggingLevel?: string;
/**
* Specifies whether Amazon CloudWatch metrics are enabled for this method.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-metricsenabled
*/
readonly metricsEnabled?: boolean | cdk.IResolvable;
/**
* 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 ( `/` ).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-resourcepath
*/
readonly resourcePath?: string;
/**
* Specifies the throttling burst limit.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingburstlimit
*/
readonly throttlingBurstLimit?: number;
/**
* Specifies the throttling rate limit.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-methodsetting.html#cfn-apigateway-deployment-methodsetting-throttlingratelimit
*/
readonly throttlingRateLimit?: number;
}
/**
* 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.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html
*/
interface AccessLogSettingProperty {
/**
* 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-` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-destinationarn
*/
readonly 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` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-accesslogsetting.html#cfn-apigateway-deployment-accesslogsetting-format
*/
readonly format?: string;
}
/**
* The `DeploymentCanarySettings` property type specifies settings for the canary deployment.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html
*/
interface DeploymentCanarySettingsProperty {
/**
* The percentage (0.0-100.0) of traffic routed to the canary deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-percenttraffic
*/
readonly percentTraffic?: number;
/**
* A stage variable overrides used for the canary release deployment.
*
* They can override existing stage variables or add new stage variables for the canary release deployment. These stage variables are represented as a string-to-string map between stage variable names and their values.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-stagevariableoverrides
*/
readonly stageVariableOverrides?: cdk.IResolvable | Record<string, string>;
/**
* A Boolean flag to indicate whether the canary release deployment uses the stage cache or not.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-deployment-deploymentcanarysettings.html#cfn-apigateway-deployment-deploymentcanarysettings-usestagecache
*/
readonly useStageCache?: boolean | cdk.IResolvable;
}
}
/**
* Properties for defining a `CfnDeployment`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html
*/
export interface CfnDeploymentProps {
/**
* The input configuration for a canary deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-deploymentcanarysettings
*/
readonly deploymentCanarySettings?: CfnDeployment.DeploymentCanarySettingsProperty | cdk.IResolvable;
/**
* The description for the Deployment resource to create.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-description
*/
readonly description?: string;
/**
* The string identifier of the associated RestApi.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-restapiid
*/
readonly restApiId: string;
/**
* The description of the Stage resource for the Deployment resource to create.
*
* To specify a stage description, you must also provide a stage name.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deployment.html#cfn-apigateway-deployment-stagedescription
*/
readonly stageDescription?: cdk.IResolvable | CfnDeployment.StageDescriptionProperty;
/**
* The name of the Stage resource for the Deployment resource to create.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-deploym