aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
1,042 lines (1,041 loc) • 170 kB
TypeScript
import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { AlarmReference, BucketReference, CertificateReference, ContainerReference, DatabaseReference, DiskReference, DiskSnapshotReference, DistributionReference, DomainReference, IAlarmRef, IBucketRef, ICertificateRef, IContainerRef, IDatabaseRef, IDiskRef, IDiskSnapshotRef, IDistributionRef, IDomainRef, IInstanceRef, IInstanceSnapshotRef, ILoadBalancerRef, ILoadBalancerTlsCertificateRef, InstanceReference, InstanceSnapshotReference, IStaticIpRef, LoadBalancerReference, LoadBalancerTlsCertificateReference, StaticIpReference } from "../../interfaces/generated/aws-lightsail-interfaces.generated";
/**
* The `AWS::Lightsail::Alarm` resource specifies an alarm that can be used to monitor a single metric for one of your Lightsail resources.
*
* @cloudformationResource AWS::Lightsail::Alarm
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html
*/
export declare class CfnAlarm extends cdk.CfnResource implements cdk.IInspectable, IAlarmRef {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnAlarm 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): CfnAlarm;
/**
* Checks whether the given object is a CfnAlarm
*/
static isCfnAlarm(x: any): x is CfnAlarm;
static arnForAlarm(resource: IAlarmRef): string;
/**
* The Amazon Resource Name (ARN) of the alarm.
*
* @cloudformationAttribute AlarmArn
*/
readonly attrAlarmArn: string;
/**
* The current state of the alarm.
*
* An alarm has the following possible states:
*
* - `ALARM` - The metric is outside of the defined threshold.
* - `INSUFFICIENT_DATA` - The alarm has recently started, the metric is not available, or not enough data is available for the metric to determine the alarm state.
* - `OK` - The metric is within the defined threshold.
*
* @cloudformationAttribute State
*/
readonly attrState: string;
/**
* The name of the alarm.
*/
alarmName: string;
/**
* The arithmetic operation to use when comparing the specified statistic and threshold.
*/
comparisonOperator: string;
/**
* The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both.
*/
contactProtocols?: Array<string>;
/**
* The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state.
*/
datapointsToAlarm?: number;
/**
* The number of periods over which data is compared to the specified threshold.
*/
evaluationPeriods: number;
/**
* The name of the metric associated with the alarm.
*/
metricName: string;
/**
* The name of the Lightsail resource that the alarm monitors.
*/
monitoredResourceName: string;
/**
* A Boolean value indicating whether the alarm is enabled.
*/
notificationEnabled?: boolean | cdk.IResolvable;
/**
* The alarm states that trigger a notification.
*/
notificationTriggers?: Array<string>;
/**
* The value against which the specified statistic is compared.
*/
threshold: number;
/**
* Specifies how the alarm handles missing data points.
*/
treatMissingData?: string;
/**
* Create a new `AWS::Lightsail::Alarm`.
*
* @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: CfnAlarmProps);
get alarmRef(): AlarmReference;
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 `CfnAlarm`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html
*/
export interface CfnAlarmProps {
/**
* The name of the alarm.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-alarmname
*/
readonly alarmName: string;
/**
* The arithmetic operation to use when comparing the specified statistic and threshold.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-comparisonoperator
*/
readonly comparisonOperator: string;
/**
* The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both.
*
* *Allowed Values* : `Email` | `SMS`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-contactprotocols
*/
readonly contactProtocols?: Array<string>;
/**
* The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-datapointstoalarm
*/
readonly datapointsToAlarm?: number;
/**
* The number of periods over which data is compared to the specified threshold.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-evaluationperiods
*/
readonly evaluationPeriods: number;
/**
* The name of the metric associated with the alarm.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-metricname
*/
readonly metricName: string;
/**
* The name of the Lightsail resource that the alarm monitors.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-monitoredresourcename
*/
readonly monitoredResourceName: string;
/**
* A Boolean value indicating whether the alarm is enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-notificationenabled
*/
readonly notificationEnabled?: boolean | cdk.IResolvable;
/**
* The alarm states that trigger a notification.
*
* > To specify the `OK` and `INSUFFICIENT_DATA` values, you must also specify `ContactProtocols` values. Otherwise, the `OK` and `INSUFFICIENT_DATA` values will not take effect and the stack will drift.
*
* *Allowed Values* : `OK` | `ALARM` | `INSUFFICIENT_DATA`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-notificationtriggers
*/
readonly notificationTriggers?: Array<string>;
/**
* The value against which the specified statistic is compared.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-threshold
*/
readonly threshold: number;
/**
* Specifies how the alarm handles missing data points.
*
* An alarm can treat missing data in the following ways:
*
* - `breaching` - Assumes the missing data is not within the threshold. Missing data counts towards the number of times that the metric is not within the threshold.
* - `notBreaching` - Assumes the missing data is within the threshold. Missing data does not count towards the number of times that the metric is not within the threshold.
* - `ignore` - Ignores the missing data. Maintains the current alarm state.
* - `missing` - Missing data is treated as missing.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-treatmissingdata
*/
readonly treatMissingData?: string;
}
/**
* The `AWS::Lightsail::Bucket` resource specifies a bucket.
*
* @cloudformationResource AWS::Lightsail::Bucket
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html
*/
export declare class CfnBucket extends cdk.CfnResource implements cdk.IInspectable, IBucketRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnBucket 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): CfnBucket;
/**
* Checks whether the given object is a CfnBucket
*/
static isCfnBucket(x: any): x is CfnBucket;
static arnForBucket(resource: IBucketRef): string;
/**
* A Boolean value indicating whether the bundle that is currently applied to your distribution can be changed to another bundle.
*
* @cloudformationAttribute AbleToUpdateBundle
*/
readonly attrAbleToUpdateBundle: cdk.IResolvable;
/**
* The Amazon Resource Name (ARN) of the bucket.
*
* @cloudformationAttribute BucketArn
*/
readonly attrBucketArn: string;
/**
* The URL of the bucket.
*
* @cloudformationAttribute Url
*/
readonly attrUrl: string;
/**
* An object that describes the access rules for the bucket.
*/
accessRules?: CfnBucket.AccessRulesProperty | cdk.IResolvable;
/**
* The name of the bucket.
*/
bucketName: string;
/**
* The bundle ID for the bucket (for example, `small_1_0` ).
*/
bundleId: string;
/**
* Indicates whether object versioning is enabled for the bucket.
*/
objectVersioning?: boolean | cdk.IResolvable;
/**
* An array of AWS account IDs that have read-only access to the bucket.
*/
readOnlyAccessAccounts?: Array<string>;
/**
* An array of Lightsail instances that have access to the bucket.
*/
resourcesReceivingAccess?: Array<string>;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* Create a new `AWS::Lightsail::Bucket`.
*
* @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: CfnBucketProps);
get bucketRef(): BucketReference;
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 CfnBucket {
/**
* `AccessRules` is a property of the [AWS::Lightsail::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html) resource. It describes access rules for a bucket.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-bucket-accessrules.html
*/
interface AccessRulesProperty {
/**
* A Boolean value indicating whether the access control list (ACL) permissions that are applied to individual objects override the `GetObject` option that is currently specified.
*
* When this is true, you can use the [PutObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectAcl.html) Amazon S3 API operation to set individual objects to public (read-only) or private, using either the `public-read` ACL or the `private` ACL.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-bucket-accessrules.html#cfn-lightsail-bucket-accessrules-allowpublicoverrides
*/
readonly allowPublicOverrides?: boolean | cdk.IResolvable;
/**
* Specifies the anonymous access to all objects in a bucket.
*
* The following options can be specified:
*
* - `public` - Sets all objects in the bucket to public (read-only), making them readable by everyone on the internet.
*
* If the `GetObject` value is set to `public` , then all objects in the bucket default to public regardless of the `allowPublicOverrides` value.
* - `private` - Sets all objects in the bucket to private, making them readable only by you and anyone that you grant access to.
*
* If the `GetObject` value is set to `private` , and the `allowPublicOverrides` value is set to `true` , then all objects in the bucket default to private unless they are configured with a `public-read` ACL. Individual objects with a `public-read` ACL are readable by everyone on the internet.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-bucket-accessrules.html#cfn-lightsail-bucket-accessrules-getobject
*/
readonly objectAccess?: string;
}
}
/**
* Properties for defining a `CfnBucket`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html
*/
export interface CfnBucketProps {
/**
* An object that describes the access rules for the bucket.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-accessrules
*/
readonly accessRules?: CfnBucket.AccessRulesProperty | cdk.IResolvable;
/**
* The name of the bucket.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-bucketname
*/
readonly bucketName: string;
/**
* The bundle ID for the bucket (for example, `small_1_0` ).
*
* A bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-bundleid
*/
readonly bundleId: string;
/**
* Indicates whether object versioning is enabled for the bucket.
*
* The following options can be configured:
*
* - `Enabled` - Object versioning is enabled.
* - `Suspended` - Object versioning was previously enabled but is currently suspended. Existing object versions are retained.
* - `NeverEnabled` - Object versioning has never been enabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-objectversioning
*/
readonly objectVersioning?: boolean | cdk.IResolvable;
/**
* An array of AWS account IDs that have read-only access to the bucket.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-readonlyaccessaccounts
*/
readonly readOnlyAccessAccounts?: Array<string>;
/**
* An array of Lightsail instances that have access to the bucket.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-resourcesreceivingaccess
*/
readonly resourcesReceivingAccess?: Array<string>;
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *AWS CloudFormation User Guide* .
*
* > The `Value` of `Tags` is optional for Lightsail resources.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* The `AWS::Lightsail::Certificate` resource specifies an SSL/TLS certificate that you can use with a content delivery network (CDN) distribution and a container service.
*
* > For information about certificates that you can use with a load balancer, see [AWS::Lightsail::LoadBalancerTlsCertificate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-loadbalancertlscertificate.html) .
*
* @cloudformationResource AWS::Lightsail::Certificate
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html
*/
export declare class CfnCertificate extends cdk.CfnResource implements cdk.IInspectable, ICertificateRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnCertificate 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): CfnCertificate;
/**
* Checks whether the given object is a CfnCertificate
*/
static isCfnCertificate(x: any): x is CfnCertificate;
static arnForCertificate(resource: ICertificateRef): string;
/**
* The Amazon Resource Name (ARN) of the certificate.
*
* @cloudformationAttribute CertificateArn
*/
readonly attrCertificateArn: string;
/**
* The validation status of the certificate.
*
* @cloudformationAttribute Status
*/
readonly attrStatus: string;
/**
* The name of the certificate.
*/
certificateName: string;
/**
* The domain name of the certificate.
*/
domainName: string;
/**
* An array of strings that specify the alternate domains (such as `example.org` ) and subdomains (such as `blog.example.com` ) of the certificate.
*/
subjectAlternativeNames?: Array<string>;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* Create a new `AWS::Lightsail::Certificate`.
*
* @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: CfnCertificateProps);
get certificateRef(): CertificateReference;
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 `CfnCertificate`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html
*/
export interface CfnCertificateProps {
/**
* The name of the certificate.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-certificatename
*/
readonly certificateName: string;
/**
* The domain name of the certificate.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-domainname
*/
readonly domainName: string;
/**
* An array of strings that specify the alternate domains (such as `example.org` ) and subdomains (such as `blog.example.com` ) of the certificate.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-subjectalternativenames
*/
readonly subjectAlternativeNames?: Array<string>;
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *AWS CloudFormation User Guide* .
*
* > The `Value` of `Tags` is optional for Lightsail resources.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* The `AWS::Lightsail::Container` resource specifies a container service.
*
* A Lightsail container service is a compute resource to which you can deploy containers.
*
* @cloudformationResource AWS::Lightsail::Container
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html
*/
export declare class CfnContainer extends cdk.CfnResource implements cdk.IInspectable, IContainerRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnContainer 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): CfnContainer;
/**
* Checks whether the given object is a CfnContainer
*/
static isCfnContainer(x: any): x is CfnContainer;
static arnForContainer(resource: IContainerRef): string;
/**
* The Amazon Resource Name (ARN) of the container.
*
* @cloudformationAttribute ContainerArn
*/
readonly attrContainerArn: string;
/**
* The principle Amazon Resource Name (ARN) of the role.
*
* @cloudformationAttribute PrincipalArn
*/
readonly attrPrincipalArn: string;
/**
* The principle Amazon Resource Name (ARN) of the role.
*
* @cloudformationAttribute PrivateRegistryAccess.EcrImagePullerRole.PrincipalArn
*/
readonly attrPrivateRegistryAccessEcrImagePullerRolePrincipalArn: string;
/**
* The publicly accessible URL of the container service.
*
* If no public endpoint is specified in the current deployment, this URL returns a 404 response.
*
* @cloudformationAttribute Url
*/
readonly attrUrl: string;
/**
* An object that describes the current container deployment of the container service.
*/
containerServiceDeployment?: CfnContainer.ContainerServiceDeploymentProperty | cdk.IResolvable;
/**
* A Boolean value indicating whether the container service is disabled.
*/
isDisabled?: boolean | cdk.IResolvable;
/**
* The power specification of the container service.
*/
power: string;
/**
* An object that describes the configuration for the container service to access private container image repositories, such as ( Amazon ECR ) private repositories.
*/
privateRegistryAccess?: cdk.IResolvable | CfnContainer.PrivateRegistryAccessProperty;
/**
* The public domain name of the container service, such as `example.com` and `www.example.com` .
*/
publicDomainNames?: Array<cdk.IResolvable | CfnContainer.PublicDomainNameProperty> | cdk.IResolvable;
/**
* The scale specification of the container service.
*/
scale: number;
/**
* The name of the container service.
*/
serviceName: string;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;
/**
* An array of key-value pairs to apply to this resource.
*/
tagsRaw?: Array<cdk.CfnTag>;
/**
* Create a new `AWS::Lightsail::Container`.
*
* @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: CfnContainerProps);
get containerRef(): ContainerReference;
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 CfnContainer {
/**
* `PublicDomainName` is a property of the [AWS::Lightsail::Container](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html) resource. It describes the public domain names to use with a container service, such as `example.com` and `www.example.com` . It also describes the certificates to use with a container service.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicdomainname.html
*/
interface PublicDomainNameProperty {
/**
* The name of the certificate for the public domains.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicdomainname.html#cfn-lightsail-container-publicdomainname-certificatename
*/
readonly certificateName?: string;
/**
* The public domain names to use with the container service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicdomainname.html#cfn-lightsail-container-publicdomainname-domainnames
*/
readonly domainNames?: Array<string>;
}
/**
* Describes the configuration for an Amazon Lightsail container service to access private container image repositories, such as ( Amazon ECR ) private repositories.
*
* For more information, see [Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service](https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-container-service-ecr-private-repo-access) in the *Amazon Lightsail Developer Guide* .
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-privateregistryaccess.html
*/
interface PrivateRegistryAccessProperty {
/**
* An object that describes the activation status of the role that you can use to grant a Lightsail container service access to Amazon ECR private repositories.
*
* If the role is activated, the Amazon Resource Name (ARN) of the role is also listed.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-privateregistryaccess.html#cfn-lightsail-container-privateregistryaccess-ecrimagepullerrole
*/
readonly ecrImagePullerRole?: CfnContainer.EcrImagePullerRoleProperty | cdk.IResolvable;
}
/**
* Describes the IAM role that you can use to grant a Lightsail container service access to Amazon ECR private repositories.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-ecrimagepullerrole.html
*/
interface EcrImagePullerRoleProperty {
/**
* A boolean value that indicates whether the `ECRImagePullerRole` is active.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-ecrimagepullerrole.html#cfn-lightsail-container-ecrimagepullerrole-isactive
*/
readonly isActive?: boolean | cdk.IResolvable;
/**
* The principle Amazon Resource Name (ARN) of the role.
*
* This property is read-only.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-ecrimagepullerrole.html#cfn-lightsail-container-ecrimagepullerrole-principalarn
*/
readonly principalArn?: string;
}
/**
* `ContainerServiceDeployment` is a property of the [AWS::Lightsail::Container](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html) resource. It describes a container deployment configuration of a container service.
*
* A deployment specifies the settings, such as the ports and launch command, of containers that are deployed to your container service.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html
*/
interface ContainerServiceDeploymentProperty {
/**
* An object that describes the configuration for the containers of the deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html#cfn-lightsail-container-containerservicedeployment-containers
*/
readonly containers?: Array<CfnContainer.ContainerProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* An object that describes the endpoint of the deployment.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html#cfn-lightsail-container-containerservicedeployment-publicendpoint
*/
readonly publicEndpoint?: cdk.IResolvable | CfnContainer.PublicEndpointProperty;
}
/**
* `Container` is a property of the [ContainerServiceDeployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html) property. It describes the settings of a container that will be launched, or that is launched, to an Amazon Lightsail container service.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html
*/
interface ContainerProperty {
/**
* The launch command for the container.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-command
*/
readonly command?: Array<string>;
/**
* The name of the container.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-containername
*/
readonly containerName?: string;
/**
* The environment variables of the container.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-environment
*/
readonly environment?: Array<CfnContainer.EnvironmentVariableProperty | cdk.IResolvable> | cdk.IResolvable;
/**
* The name of the image used for the container.
*
* Container images that are sourced from (registered and stored on) your container service start with a colon ( `:` ). For example, if your container service name is `container-service-1` , the container image label is `mystaticsite` , and you want to use the third version ( `3` ) of the registered container image, then you should specify `:container-service-1.mystaticsite.3` . To use the latest version of a container image, specify `latest` instead of a version number (for example, `:container-service-1.mystaticsite.latest` ). Your container service will automatically use the highest numbered version of the registered container image.
*
* Container images that are sourced from a public registry like Docker Hub don’t start with a colon. For example, `nginx:latest` or `nginx` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-image
*/
readonly image?: string;
/**
* An object that describes the open firewall ports and protocols of the container.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-ports
*/
readonly ports?: Array<cdk.IResolvable | CfnContainer.PortInfoProperty> | cdk.IResolvable;
}
/**
* `EnvironmentVariable` is a property of the [Container](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html) property. It describes the environment variables of a container on a container service which are key-value parameters that provide dynamic configuration of the application or script run by the container.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-environmentvariable.html
*/
interface EnvironmentVariableProperty {
/**
* The environment variable value.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-environmentvariable.html#cfn-lightsail-container-environmentvariable-value
*/
readonly value?: string;
/**
* The environment variable key.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-environmentvariable.html#cfn-lightsail-container-environmentvariable-variable
*/
readonly variable?: string;
}
/**
* `PortInfo` is a property of the [Container](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html) property. It describes the ports to open and the protocols to use for a container on a Amazon Lightsail container service.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-portinfo.html
*/
interface PortInfoProperty {
/**
* The open firewall ports of the container.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-portinfo.html#cfn-lightsail-container-portinfo-port
*/
readonly port?: string;
/**
* The protocol name for the open ports.
*
* *Allowed values* : `HTTP` | `HTTPS` | `TCP` | `UDP`
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-portinfo.html#cfn-lightsail-container-portinfo-protocol
*/
readonly protocol?: string;
}
/**
* `PublicEndpoint` is a property of the [ContainerServiceDeployment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html) property. It describes describes the settings of the public endpoint of a container on a container service.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html
*/
interface PublicEndpointProperty {
/**
* The name of the container entry of the deployment that the endpoint configuration applies to.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html#cfn-lightsail-container-publicendpoint-containername
*/
readonly containerName?: string;
/**
* The port of the specified container to which traffic is forwarded to.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html#cfn-lightsail-container-publicendpoint-containerport
*/
readonly containerPort?: number;
/**
* An object that describes the health check configuration of the container.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html#cfn-lightsail-container-publicendpoint-healthcheckconfig
*/
readonly healthCheckConfig?: CfnContainer.HealthCheckConfigProperty | cdk.IResolvable;
}
/**
* `HealthCheckConfig` is a property of the [PublicEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicendpoint.html) property. It describes the healthcheck configuration of a container deployment on a container service.
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html
*/
interface HealthCheckConfigProperty {
/**
* The number of consecutive health check successes required before moving the container to the `Healthy` state.
*
* The default value is `2` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-healthythreshold
*/
readonly healthyThreshold?: number;
/**
* The approximate interval, in seconds, between health checks of an individual container.
*
* You can specify between `5` and `300` seconds. The default value is `5` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-intervalseconds
*/
readonly intervalSeconds?: number;
/**
* The path on the container on which to perform the health check.
*
* The default value is `/` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-path
*/
readonly path?: string;
/**
* The HTTP codes to use when checking for a successful response from a container.
*
* You can specify values between `200` and `499` . You can specify multiple values (for example, `200,202` ) or a range of values (for example, `200-299` ).
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-successcodes
*/
readonly successCodes?: string;
/**
* The amount of time, in seconds, during which no response means a failed health check.
*
* You can specify between `2` and `60` seconds. The default value is `2` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-timeoutseconds
*/
readonly timeoutSeconds?: number;
/**
* The number of consecutive health check failures required before moving the container to the `Unhealthy` state.
*
* The default value is `2` .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-unhealthythreshold
*/
readonly unhealthyThreshold?: number;
}
}
/**
* Properties for defining a `CfnContainer`
*
* @struct
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html
*/
export interface CfnContainerProps {
/**
* An object that describes the current container deployment of the container service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-containerservicedeployment
*/
readonly containerServiceDeployment?: CfnContainer.ContainerServiceDeploymentProperty | cdk.IResolvable;
/**
* A Boolean value indicating whether the container service is disabled.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-isdisabled
*/
readonly isDisabled?: boolean | cdk.IResolvable;
/**
* The power specification of the container service.
*
* The power specifies the amount of RAM, the number of vCPUs, and the base price of the container service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-power
*/
readonly power: string;
/**
* An object that describes the configuration for the container service to access private container image repositories, such as ( Amazon ECR ) private repositories.
*
* For more information, see [Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service](https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-container-service-ecr-private-repo-access) in the *Amazon Lightsail Developer Guide* .
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-privateregistryaccess
*/
readonly privateRegistryAccess?: cdk.IResolvable | CfnContainer.PrivateRegistryAccessProperty;
/**
* The public domain name of the container service, such as `example.com` and `www.example.com` .
*
* You can specify up to four public domain names for a container service. The domain names that you specify are used when you create a deployment with a container that is configured as the public endpoint of your container service.
*
* If you don't specify public domain names, then you can use the default domain of the container service.
*
* > You must create and validate an SSL/TLS certificate before you can use public domain names with your container service. Use the [AWS::Lightsail::Certificate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html) resource to create a certificate for the public domain names that you want to use with your container service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-publicdomainnames
*/
readonly publicDomainNames?: Array<cdk.IResolvable | CfnContainer.PublicDomainNameProperty> | cdk.IResolvable;
/**
* The scale specification of the container service.
*
* The scale specifies the allocated compute nodes of the container service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-scale
*/
readonly scale: number;
/**
* The name of the container service.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-servicename
*/
readonly serviceName: string;
/**
* An array of key-value pairs to apply to this resource.
*
* For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) in the *AWS CloudFormation User Guide* .
*
* > The `Value` of `Tags` is optional for Lightsail resources.
*
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-tags
*/
readonly tags?: Array<cdk.CfnTag>;
}
/**
* The `AWS::Lightsail::Database` resource specifies an Amazon Lightsail database.
*
* @cloudformationResource AWS::Lightsail::Database
* @stability external
* @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html
*/
export declare class CfnDatabase extends cdk.CfnResource implements cdk.IInspectable, IDatabaseRef, cdk.ITaggable {
/**
* The CloudFormation resource type name for this resource class.
*/
static readonly CFN_RESOURCE_TYPE_NAME: string;
/**
* Build a CfnDatabase 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): CfnDatabase;
/**
* Checks whether the given object is a CfnDatabase
*/
static isCfnDatabase(x: any): x is CfnDatabase;
static arnForDatabase(resource: IDatabaseRef): string;
/**
* The Amazon Resource Name (ARN) of the database (for example, `arn:aws:lightsail:us-east-2:123456789101:RelationalDatabase/244ad76f-8aad-4741-809f-12345EXAMPLE` ).
*
* @cloudformationAttribute DatabaseArn
*/
readonly attrDatabaseArn: string;
/**
* The Availability Zone for the database.
*/
availabilityZone?: string;
/**
* A Boolean value indicating whether automated backup retention is enabled for the database.
*/
backupRetention?: boolean | cdk.IResolvable;
/**
* The certificate associated with the database.
*/
caCertificateIdentifier?: string;
/**
* The meaning of this parameter differs according to the database engine you use.
*/
masterDatabaseName: string;
/**
* The name for the primary user.
*/
masterUsername: string;
/**
* The password for the primary user of the database.
*/
masterUserPassword?: string;
/**
* The daily time range during which automated backups are created for the database (for example, `16:00-16:30` ).
*/
preferredBackupWindow?: string;
/**
* The weekly time range during which system maintenance can occur for the database, formatted as follows: `ddd:hh24:mi-ddd:hh24:mi` .
*/
preferredMaintenanceWindow?: string;
/**
* A Boolean value indicating whether the database is accessible to anyone on the internet.
*/
publiclyAccessible?: boolean | cdk.IResolvable;
/**
* The blueprint ID for the database (for example, `mysql_8_0` ).
*/
relationalDatabaseBlueprintId: string;
/**
* The bundle ID for the database (for example, `medium_1_0` ).
*/
relationalDatabaseBundleId: string;
/**
* The name of the instance.
*/
relationalDatabaseName: string;
/**
* An array of parameters for the database.
*/
relationalDatabaseParameters?: Array<cdk.IResolvable | CfnDatabase.RelationalDatabaseParameterProperty> | cdk.IResolvable;
/**
* A Boolean value indicating whether to change the primary user password to a new, strong password generated by Lightsail .
*/
rotateMasterUserPassword?: boolean | cdk.IResolvable;
/**
* Tag Manager which manages the tags for this resource
*/
readonly tags: cdk.TagManager;