@aws-cdk/aws-cloudformation
Version:
The CDK Construct Library for AWS::CloudFormation
1,045 lines (1,044 loc) • 141 kB
TypeScript
import * as cdk from '@aws-cdk/core';
import * as cfn_parse from '@aws-cdk/core/lib/helpers-internal';
/**
* Properties for defining a `CfnCustomResource`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html
*/
export interface CfnCustomResourceProps {
/**
* > Only one property is defined by AWS for a custom resource: `ServiceToken` . All other properties are defined by the service provider.
*
* The service token that was given to the template developer by the service provider to access the service, such as an Amazon SNS topic ARN or Lambda function ARN. The service token must be from the same Region in which you are creating the stack.
*
* Updates aren't supported.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html#cfn-customresource-servicetoken
*/
readonly serviceToken: string;
}
/**
* A CloudFormation `AWS::CloudFormation::CustomResource`
*
* In a CloudFormation template, you use the `AWS::CloudFormation::CustomResource` or `Custom:: *String*` resource type to specify custom resources.
*
* Custom resources provide a way for you to write custom provisioning logic in CloudFormation template and have CloudFormation run it during a stack operation, such as when you create, update or delete a stack. For more information, see [Custom resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) .
*
* > If you use the [VPC endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) feature, custom resources in the VPC must have access to CloudFormation -specific Amazon Simple Storage Service ( Amazon S3 ) buckets. Custom resources must send responses to a presigned Amazon S3 URL. If they can't send responses to Amazon S3 , CloudFormation won't receive a response and the stack operation fails. For more information, see [Setting up VPC endpoints for AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-vpce-bucketnames.html) .
*
* @cloudformationResource AWS::CloudFormation::CustomResource
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html
*/
export declare class CfnCustomResource extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudFormation::CustomResource";
/**
* 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: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnCustomResource;
/**
* > Only one property is defined by AWS for a custom resource: `ServiceToken` . All other properties are defined by the service provider.
*
* The service token that was given to the template developer by the service provider to access the service, such as an Amazon SNS topic ARN or Lambda function ARN. The service token must be from the same Region in which you are creating the stack.
*
* Updates aren't supported.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cfn-customresource.html#cfn-customresource-servicetoken
*/
serviceToken: string;
/**
* Create a new `AWS::CloudFormation::CustomResource`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: cdk.Construct, id: string, props: CfnCustomResourceProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
/**
* Properties for defining a `CfnHookDefaultVersion`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html
*/
export interface CfnHookDefaultVersionProps {
/**
* The name of the hook.
*
* You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html#cfn-cloudformation-hookdefaultversion-typename
*/
readonly typeName?: string;
/**
* The version ID of the type configuration.
*
* You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html#cfn-cloudformation-hookdefaultversion-typeversionarn
*/
readonly typeVersionArn?: string;
/**
* The version ID of the type specified.
*
* You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html#cfn-cloudformation-hookdefaultversion-versionid
*/
readonly versionId?: string;
}
/**
* A CloudFormation `AWS::CloudFormation::HookDefaultVersion`
*
* The `HookDefaultVersion` resource specifies the default version of the hook. The default version of the hook is used in CloudFormation operations for this AWS account and AWS Region .
*
* @cloudformationResource AWS::CloudFormation::HookDefaultVersion
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html
*/
export declare class CfnHookDefaultVersion extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudFormation::HookDefaultVersion";
/**
* 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: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnHookDefaultVersion;
/**
* The Amazon Resource Number (ARN) of the activated extension, in this account and Region.
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The name of the hook.
*
* You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html#cfn-cloudformation-hookdefaultversion-typename
*/
typeName: string | undefined;
/**
* The version ID of the type configuration.
*
* You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html#cfn-cloudformation-hookdefaultversion-typeversionarn
*/
typeVersionArn: string | undefined;
/**
* The version ID of the type specified.
*
* You must specify either `TypeVersionArn` , or `TypeName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookdefaultversion.html#cfn-cloudformation-hookdefaultversion-versionid
*/
versionId: string | undefined;
/**
* Create a new `AWS::CloudFormation::HookDefaultVersion`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: cdk.Construct, id: string, props?: CfnHookDefaultVersionProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
/**
* Properties for defining a `CfnHookTypeConfig`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html
*/
export interface CfnHookTypeConfigProps {
/**
* Specifies the activated hook type configuration, in this AWS account and AWS Region .
*
* You must specify either `TypeName` and `Configuration` or `TypeARN` and `Configuration` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-configuration
*/
readonly configuration: string;
/**
* Specifies the activated hook type configuration, in this AWS account and AWS Region .
*
* Defaults to `default` alias. Hook types currently support default configuration alias.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-configurationalias
*/
readonly configurationAlias?: string;
/**
* The Amazon Resource Number (ARN) for the hook to set `Configuration` for.
*
* You must specify either `TypeName` and `Configuration` or `TypeARN` and `Configuration` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-typearn
*/
readonly typeArn?: string;
/**
* The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of `Organization::Service::Hook` .
*
* You must specify either `TypeName` and `Configuration` or `TypeARN` and `Configuration` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-typename
*/
readonly typeName?: string;
}
/**
* A CloudFormation `AWS::CloudFormation::HookTypeConfig`
*
* The `HookTypeConfig` resource specifies the configuration of a hook.
*
* @cloudformationResource AWS::CloudFormation::HookTypeConfig
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html
*/
export declare class CfnHookTypeConfig extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudFormation::HookTypeConfig";
/**
* 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: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnHookTypeConfig;
/**
* The Amazon Resource Number (ARN) of the activated hook type configuration, in this account and Region.
* @cloudformationAttribute ConfigurationArn
*/
readonly attrConfigurationArn: string;
/**
* Specifies the activated hook type configuration, in this AWS account and AWS Region .
*
* You must specify either `TypeName` and `Configuration` or `TypeARN` and `Configuration` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-configuration
*/
configuration: string;
/**
* Specifies the activated hook type configuration, in this AWS account and AWS Region .
*
* Defaults to `default` alias. Hook types currently support default configuration alias.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-configurationalias
*/
configurationAlias: string | undefined;
/**
* The Amazon Resource Number (ARN) for the hook to set `Configuration` for.
*
* You must specify either `TypeName` and `Configuration` or `TypeARN` and `Configuration` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-typearn
*/
typeArn: string | undefined;
/**
* The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of `Organization::Service::Hook` .
*
* You must specify either `TypeName` and `Configuration` or `TypeARN` and `Configuration` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hooktypeconfig.html#cfn-cloudformation-hooktypeconfig-typename
*/
typeName: string | undefined;
/**
* Create a new `AWS::CloudFormation::HookTypeConfig`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: cdk.Construct, id: string, props: CfnHookTypeConfigProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
/**
* Properties for defining a `CfnHookVersion`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html
*/
export interface CfnHookVersionProps {
/**
* A URL to the Amazon S3 bucket containing the hook project package that contains the necessary files for the hook you want to register.
*
* For information on generating a schema handler package for the resource you want to register, see [submit](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html) in the *CloudFormation CLI User Guide for Extension Development* .
*
* > The user registering the resource must be able to access the package in the S3 bucket. That's, the user must have [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) permissions for the schema handler package. For more information, see [Actions, Resources, and Condition Keys for Amazon S3](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html) in the *AWS Identity and Access Management User Guide* .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-schemahandlerpackage
*/
readonly schemaHandlerPackage: string;
/**
* The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of `Organization::Service::Hook` .
*
* > The following organization namespaces are reserved and can't be used in your hook type names:
* >
* > - `Alexa`
* > - `AMZN`
* > - `Amazon`
* > - `ASK`
* > - `AWS`
* > - `Custom`
* > - `Dev`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-typename
*/
readonly typeName: string;
/**
* The Amazon Resource Name (ARN) of the task execution role that grants the hook permission.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-executionrolearn
*/
readonly executionRoleArn?: string;
/**
* Contains logging configuration information for an extension.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-loggingconfig
*/
readonly loggingConfig?: CfnHookVersion.LoggingConfigProperty | cdk.IResolvable;
}
/**
* A CloudFormation `AWS::CloudFormation::HookVersion`
*
* The `HookVersion` resource publishes new or first hook version to the AWS CloudFormation registry.
*
* @cloudformationResource AWS::CloudFormation::HookVersion
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html
*/
export declare class CfnHookVersion extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudFormation::HookVersion";
/**
* 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: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnHookVersion;
/**
* The Amazon Resource Name (ARN) of the hook.
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* Whether the specified hook version is set as the default version.
* @cloudformationAttribute IsDefaultVersion
*/
readonly attrIsDefaultVersion: cdk.IResolvable;
/**
* The Amazon Resource Number (ARN) assigned to this version of the hook.
* @cloudformationAttribute TypeArn
*/
readonly attrTypeArn: string;
/**
* The ID of this version of the hook.
* @cloudformationAttribute VersionId
*/
readonly attrVersionId: string;
/**
* The scope at which the resource is visible and usable in CloudFormation operations.
*
* Valid values include:
*
* - `PRIVATE` : The resource is only visible and usable within the account in which it's registered. CloudFormation marks any resources you register as `PRIVATE` .
* - `PUBLIC` : The resource is publicly visible and usable within any Amazon account.
* @cloudformationAttribute Visibility
*/
readonly attrVisibility: string;
/**
* A URL to the Amazon S3 bucket containing the hook project package that contains the necessary files for the hook you want to register.
*
* For information on generating a schema handler package for the resource you want to register, see [submit](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html) in the *CloudFormation CLI User Guide for Extension Development* .
*
* > The user registering the resource must be able to access the package in the S3 bucket. That's, the user must have [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) permissions for the schema handler package. For more information, see [Actions, Resources, and Condition Keys for Amazon S3](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html) in the *AWS Identity and Access Management User Guide* .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-schemahandlerpackage
*/
schemaHandlerPackage: string;
/**
* The unique name for your hook. Specifies a three-part namespace for your hook, with a recommended pattern of `Organization::Service::Hook` .
*
* > The following organization namespaces are reserved and can't be used in your hook type names:
* >
* > - `Alexa`
* > - `AMZN`
* > - `Amazon`
* > - `ASK`
* > - `AWS`
* > - `Custom`
* > - `Dev`
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-typename
*/
typeName: string;
/**
* The Amazon Resource Name (ARN) of the task execution role that grants the hook permission.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-executionrolearn
*/
executionRoleArn: string | undefined;
/**
* Contains logging configuration information for an extension.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-hookversion.html#cfn-cloudformation-hookversion-loggingconfig
*/
loggingConfig: CfnHookVersion.LoggingConfigProperty | cdk.IResolvable | undefined;
/**
* Create a new `AWS::CloudFormation::HookVersion`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: cdk.Construct, id: string, props: CfnHookVersionProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
export declare namespace CfnHookVersion {
/**
* The `LoggingConfig` property type specifies logging configuration information for an extension.
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-hookversion-loggingconfig.html
*/
interface LoggingConfigProperty {
/**
* The Amazon CloudWatch Logs group to which CloudFormation sends error logging information when invoking the extension's handlers.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-hookversion-loggingconfig.html#cfn-cloudformation-hookversion-loggingconfig-loggroupname
*/
readonly logGroupName?: string;
/**
* The Amazon Resource Name (ARN) of the role that CloudFormation should assume when sending log entries to CloudWatch Logs.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-hookversion-loggingconfig.html#cfn-cloudformation-hookversion-loggingconfig-logrolearn
*/
readonly logRoleArn?: string;
}
}
/**
* Properties for defining a `CfnMacro`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html
*/
export interface CfnMacroProps {
/**
* The Amazon Resource Name (ARN) of the underlying AWS Lambda function that you want AWS CloudFormation to invoke when the macro is run.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-functionname
*/
readonly functionName: string;
/**
* The name of the macro. The name of the macro must be unique across all macros in the account.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-name
*/
readonly name: string;
/**
* A description of the macro.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-description
*/
readonly description?: string;
/**
* The CloudWatch Logs group to which AWS CloudFormation sends error logging information when invoking the macro's underlying AWS Lambda function.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-loggroupname
*/
readonly logGroupName?: string;
/**
* The ARN of the role AWS CloudFormation should assume when sending log entries to CloudWatch Logs .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-logrolearn
*/
readonly logRoleArn?: string;
}
/**
* A CloudFormation `AWS::CloudFormation::Macro`
*
* The `AWS::CloudFormation::Macro` resource is a CloudFormation resource type that creates a CloudFormation macro to perform custom processing on CloudFormation templates. For more information, see [Using AWS CloudFormation macros to perform custom processing on templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html) .
*
* @cloudformationResource AWS::CloudFormation::Macro
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html
*/
export declare class CfnMacro extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudFormation::Macro";
/**
* 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: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnMacro;
/**
* The Amazon Resource Name (ARN) of the underlying AWS Lambda function that you want AWS CloudFormation to invoke when the macro is run.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-functionname
*/
functionName: string;
/**
* The name of the macro. The name of the macro must be unique across all macros in the account.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-name
*/
name: string;
/**
* A description of the macro.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-description
*/
description: string | undefined;
/**
* The CloudWatch Logs group to which AWS CloudFormation sends error logging information when invoking the macro's underlying AWS Lambda function.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-loggroupname
*/
logGroupName: string | undefined;
/**
* The ARN of the role AWS CloudFormation should assume when sending log entries to CloudWatch Logs .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-macro.html#cfn-cloudformation-macro-logrolearn
*/
logRoleArn: string | undefined;
/**
* Create a new `AWS::CloudFormation::Macro`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: cdk.Construct, id: string, props: CfnMacroProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
/**
* Properties for defining a `CfnModuleDefaultVersion`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html
*/
export interface CfnModuleDefaultVersionProps {
/**
* The Amazon Resource Name (ARN) of the module version to set as the default version.
*
* Conditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-arn
*/
readonly arn?: string;
/**
* The name of the module.
*
* Conditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-modulename
*/
readonly moduleName?: string;
/**
* The ID for the specific version of the module.
*
* Conditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-versionid
*/
readonly versionId?: string;
}
/**
* A CloudFormation `AWS::CloudFormation::ModuleDefaultVersion`
*
* Specifies the default version of a module. The default version of the module will be used in CloudFormation operations for this account and Region.
*
* To register a module version, use the `[AWS::CloudFormation::ModuleVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html)` resource.
*
* For more information using modules, see [Using modules to encapsulate and reuse resource configurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html) and [Registering extensions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html#registry-register) in the *AWS CloudFormation User Guide* . For information on developing modules, see [Developing modules](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules.html) in the *AWS CloudFormation CLI User Guide* .
*
* @cloudformationResource AWS::CloudFormation::ModuleDefaultVersion
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html
*/
export declare class CfnModuleDefaultVersion extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudFormation::ModuleDefaultVersion";
/**
* 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: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnModuleDefaultVersion;
/**
* The Amazon Resource Name (ARN) of the module version to set as the default version.
*
* Conditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-arn
*/
arn: string | undefined;
/**
* The name of the module.
*
* Conditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-modulename
*/
moduleName: string | undefined;
/**
* The ID for the specific version of the module.
*
* Conditional: You must specify either `Arn` , or `ModuleName` and `VersionId` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html#cfn-cloudformation-moduledefaultversion-versionid
*/
versionId: string | undefined;
/**
* Create a new `AWS::CloudFormation::ModuleDefaultVersion`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: cdk.Construct, id: string, props?: CfnModuleDefaultVersionProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
/**
* Properties for defining a `CfnModuleVersion`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html
*/
export interface CfnModuleVersionProps {
/**
* The name of the module being registered.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html#cfn-cloudformation-moduleversion-modulename
*/
readonly moduleName: string;
/**
* A URL to the S3 bucket containing the package that contains the template fragment and schema files for the module version to register.
*
* > The user registering the module version must be able to access the module package in the S3 bucket. That's, the user needs to have [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) permissions for the package. For more information, see [Actions, Resources, and Condition Keys for Amazon S3](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html) in the *AWS Identity and Access Management User Guide* .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html#cfn-cloudformation-moduleversion-modulepackage
*/
readonly modulePackage: string;
}
/**
* A CloudFormation `AWS::CloudFormation::ModuleVersion`
*
* Registers the specified version of the module with the CloudFormation service. Registering a module makes it available for use in CloudFormation templates in your AWS account and Region.
*
* To specify a module version as the default version, use the `[AWS::CloudFormation::ModuleDefaultVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduledefaultversion.html)` resource.
*
* For more information using modules, see [Using modules to encapsulate and reuse resource configurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/modules.html) and [Registering extensions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html#registry-register) in the *CloudFormation User Guide* . For information on developing modules, see [Developing modules](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/modules.html) in the *CloudFormation CLI User Guide* .
*
* @cloudformationResource AWS::CloudFormation::ModuleVersion
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html
*/
export declare class CfnModuleVersion extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudFormation::ModuleVersion";
/**
* 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: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnModuleVersion;
/**
* The Amazon Resource Name (ARN) of the module.
* @cloudformationAttribute Arn
*/
readonly attrArn: string;
/**
* The description of the module.
* @cloudformationAttribute Description
*/
readonly attrDescription: string;
/**
* The URL of a page providing detailed documentation for this module.
* @cloudformationAttribute DocumentationUrl
*/
readonly attrDocumentationUrl: string;
/**
* Whether the specified module version is set as the default version.
* @cloudformationAttribute IsDefaultVersion
*/
readonly attrIsDefaultVersion: cdk.IResolvable;
/**
* The schema that defines the module.
* @cloudformationAttribute Schema
*/
readonly attrSchema: string;
/**
* When the specified module version was registered.
* @cloudformationAttribute TimeCreated
*/
readonly attrTimeCreated: string;
/**
* The ID of this version of the module.
* @cloudformationAttribute VersionId
*/
readonly attrVersionId: string;
/**
* The scope at which the module is visible and usable in CloudFormation operations.
*
* Valid values include:
*
* - `PRIVATE` : The module is only visible and usable within the account in which it's registered.
* - `PUBLIC` : The module is publicly visible and usable within any Amazon account.
* @cloudformationAttribute Visibility
*/
readonly attrVisibility: string;
/**
* The name of the module being registered.
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html#cfn-cloudformation-moduleversion-modulename
*/
moduleName: string;
/**
* A URL to the S3 bucket containing the package that contains the template fragment and schema files for the module version to register.
*
* > The user registering the module version must be able to access the module package in the S3 bucket. That's, the user needs to have [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) permissions for the package. For more information, see [Actions, Resources, and Condition Keys for Amazon S3](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html) in the *AWS Identity and Access Management User Guide* .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-moduleversion.html#cfn-cloudformation-moduleversion-modulepackage
*/
modulePackage: string;
/**
* Create a new `AWS::CloudFormation::ModuleVersion`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/
constructor(scope: cdk.Construct, id: string, props: CfnModuleVersionProps);
/**
* Examines the CloudFormation resource and discloses attributes.
*
* @param inspector - tree inspector to collect and process attributes
*
*/
inspect(inspector: cdk.TreeInspector): void;
protected get cfnProperties(): {
[key: string]: any;
};
protected renderProperties(props: {
[key: string]: any;
}): {
[key: string]: any;
};
}
/**
* Properties for defining a `CfnPublicTypeVersion`
*
* @struct
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html
*/
export interface CfnPublicTypeVersionProps {
/**
* The Amazon Resource Number (ARN) of the extension.
*
* Conditional: You must specify `Arn` , or `TypeName` and `Type` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-arn
*/
readonly arn?: string;
/**
* The S3 bucket to which CloudFormation delivers the contract test execution logs.
*
* CloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of `PASSED` or `FAILED` .
*
* The user initiating the stack operation must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:
*
* - GetObject
* - PutObject
*
* For more information, see [Actions, Resources, and Condition Keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in the *AWS Identity and Access Management User Guide* .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-logdeliverybucket
*/
readonly logDeliveryBucket?: string;
/**
* The version number to assign to this version of the extension.
*
* Use the following format, and adhere to semantic versioning when assigning a version number to your extension:
*
* `MAJOR.MINOR.PATCH`
*
* For more information, see [Semantic Versioning 2.0.0](https://docs.aws.amazon.com/https://semver.org/) .
*
* If you don't specify a version number, CloudFormation increments the version number by one minor version release.
*
* You cannot specify a version number the first time you publish a type. AWS CloudFormation automatically sets the first version number to be `1.0.0` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-publicversionnumber
*/
readonly publicVersionNumber?: string;
/**
* The type of the extension to test.
*
* Conditional: You must specify `Arn` , or `TypeName` and `Type` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-type
*/
readonly type?: string;
/**
* The name of the extension to test.
*
* Conditional: You must specify `Arn` , or `TypeName` and `Type` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-typename
*/
readonly typeName?: string;
}
/**
* A CloudFormation `AWS::CloudFormation::PublicTypeVersion`
*
* Tests and publishes a registered extension as a public, third-party extension.
*
* CloudFormation first tests the extension to make sure it meets all necessary requirements for being published in the CloudFormation registry. If it does, CloudFormation then publishes it to the registry as a public third-party extension in this Region. Public extensions are available for use by all CloudFormation users.
*
* - For resource types, testing includes passing all contracts tests defined for the type.
* - For modules, testing includes determining if the module's model meets all necessary requirements.
*
* For more information, see [Testing your public extension prior to publishing](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-testing) in the *CloudFormation CLI User Guide* .
*
* If you don't specify a version, CloudFormation uses the default version of the extension in your account and Region for testing.
*
* To perform testing, CloudFormation assumes the execution role specified when the type was registered.
*
* An extension must have a test status of `PASSED` before it can be published. For more information, see [Publishing extensions to make them available for public use](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-publish.html) in the *CloudFormation CLI User Guide* .
*
* @cloudformationResource AWS::CloudFormation::PublicTypeVersion
* @stability external
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html
*/
export declare class CfnPublicTypeVersion extends cdk.CfnResource implements cdk.IInspectable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME = "AWS::CloudFormation::PublicTypeVersion";
/**
* 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: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnPublicTypeVersion;
/**
* The Amazon Resource Number (ARN) assigned to the public extension upon publication.
* @cloudformationAttribute PublicTypeArn
*/
readonly attrPublicTypeArn: string;
/**
* The publisher ID of the extension publisher.
* @cloudformationAttribute PublisherId
*/
readonly attrPublisherId: string;
/**
* The Amazon Resource Number (ARN) assigned to this version of the extension.
* @cloudformationAttribute TypeVersionArn
*/
readonly attrTypeVersionArn: string;
/**
* The Amazon Resource Number (ARN) of the extension.
*
* Conditional: You must specify `Arn` , or `TypeName` and `Type` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-arn
*/
arn: string | undefined;
/**
* The S3 bucket to which CloudFormation delivers the contract test execution logs.
*
* CloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of `PASSED` or `FAILED` .
*
* The user initiating the stack operation must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:
*
* - GetObject
* - PutObject
*
* For more information, see [Actions, Resources, and Condition Keys for Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html) in the *AWS Identity and Access Management User Guide* .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-logdeliverybucket
*/
logDeliveryBucket: string | undefined;
/**
* The version number to assign to this version of the extension.
*
* Use the following format, and adhere to semantic versioning when assigning a version number to your extension:
*
* `MAJOR.MINOR.PATCH`
*
* For more information, see [Semantic Versioning 2.0.0](https://docs.aws.amazon.com/https://semver.org/) .
*
* If you don't specify a version number, CloudFormation increments the version number by one minor version release.
*
* You cannot specify a version number the first time you publish a type. AWS CloudFormation automatically sets the first version number to be `1.0.0` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-publicversionnumber
*/
publicVersionNumber: string | undefined;
/**
* The type of the extension to test.
*
* Conditional: You must specify `Arn` , or `TypeName` and `Type` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-type
*/
type: string | undefined;
/**
* The name of the extension to test.
*
* Conditional: You must specify `Arn` , or `TypeName` and `Type` .
*
* @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-publictypeversion.html#cfn-cloudformation-publictypeversion-typename
*/
typeName: string | undefined;
/**
* Create a new `AWS::CloudFormation::PublicTypeVersion`.
*
* @param scope - scope in which this resource is defined
* @param id - scoped id of the resource
* @param props - resource properties
*/