UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,008 lines 164 kB
import * as constructs from 'constructs'; import * as cdk from '../../core'; import * as cfn_parse from '../../core/lib/helpers-internal'; /** * Properties for defining a `CfnAlarm` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html */ export interface CfnAlarmProps { /** * The name of the alarm. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-comparisonoperator */ readonly comparisonOperator: string; /** * The number of periods over which data is compared to the specified threshold. * * @link 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. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-monitoredresourcename */ readonly monitoredResourceName: string; /** * The value against which the specified statistic is compared. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-threshold */ readonly threshold: number; /** * The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both. * * *Allowed Values* : `Email` | `SMS` * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-contactprotocols */ readonly contactProtocols?: string[]; /** * The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-datapointstoalarm */ readonly datapointsToAlarm?: number; /** * A Boolean value indicating whether the alarm is enabled. * * @link 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` * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-notificationtriggers */ readonly notificationTriggers?: string[]; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-treatmissingdata */ readonly treatMissingData?: string; } /** * A CloudFormation `AWS::Lightsail::Alarm` * * 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 * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html */ export declare class CfnAlarm extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Lightsail::Alarm"; /** * 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; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-alarmname */ alarmName: string; /** * The arithmetic operation to use when comparing the specified statistic and threshold. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-comparisonoperator */ comparisonOperator: string; /** * The number of periods over which data is compared to the specified threshold. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-evaluationperiods */ evaluationPeriods: number; /** * The name of the metric associated with the alarm. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-metricname */ metricName: string; /** * The name of the Lightsail resource that the alarm monitors. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-monitoredresourcename */ monitoredResourceName: string; /** * The value against which the specified statistic is compared. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-threshold */ threshold: number; /** * The contact protocols for the alarm, such as `Email` , `SMS` (text messaging), or both. * * *Allowed Values* : `Email` | `SMS` * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-contactprotocols */ contactProtocols: string[] | undefined; /** * The number of data points within the evaluation periods that must be breaching to cause the alarm to go to the `ALARM` state. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-datapointstoalarm */ datapointsToAlarm: number | undefined; /** * A Boolean value indicating whether the alarm is enabled. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-notificationenabled */ notificationEnabled: boolean | cdk.IResolvable | undefined; /** * 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` * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-notificationtriggers */ notificationTriggers: string[] | undefined; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-alarm.html#cfn-lightsail-alarm-treatmissingdata */ treatMissingData: string | undefined; /** * Create a new `AWS::Lightsail::Alarm`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnAlarmProps); /** * 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 `CfnBucket` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html */ export interface CfnBucketProps { /** * The name of the bucket. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-bundleid */ readonly bundleId: string; /** * An object that describes the access rules for the bucket. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-accessrules */ readonly accessRules?: CfnBucket.AccessRulesProperty | cdk.IResolvable; /** * 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. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-readonlyaccessaccounts */ readonly readOnlyAccessAccounts?: string[]; /** * An array of Lightsail instances that have access to the bucket. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-resourcesreceivingaccess */ readonly resourcesReceivingAccess?: 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-tags */ readonly tags?: cdk.CfnTag[]; } /** * A CloudFormation `AWS::Lightsail::Bucket` * * The `AWS::Lightsail::Bucket` resource specifies a bucket. * * @cloudformationResource AWS::Lightsail::Bucket * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html */ export declare class CfnBucket extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Lightsail::Bucket"; /** * 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; /** * 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; /** * The name of the bucket. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-bucketname */ 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-bundleid */ bundleId: string; /** * An object that describes the access rules for the bucket. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-accessrules */ accessRules: CfnBucket.AccessRulesProperty | cdk.IResolvable | undefined; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-objectversioning */ objectVersioning: boolean | cdk.IResolvable | undefined; /** * An array of AWS account IDs that have read-only access to the bucket. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-readonlyaccessaccounts */ readOnlyAccessAccounts: string[] | undefined; /** * An array of Lightsail instances that have access to the bucket. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-resourcesreceivingaccess */ resourcesReceivingAccess: string[] | undefined; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-bucket.html#cfn-lightsail-bucket-tags */ readonly tags: cdk.TagManager; /** * Create a new `AWS::Lightsail::Bucket`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnBucketProps); /** * 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 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 * * @link 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. * * @link 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. * * @link 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 `CfnCertificate` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html */ export interface CfnCertificateProps { /** * The name of the certificate. * * @link 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. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-subjectalternativenames */ readonly subjectAlternativeNames?: 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-tags */ readonly tags?: cdk.CfnTag[]; } /** * A CloudFormation `AWS::Lightsail::Certificate` * * 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 * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html */ export declare class CfnCertificate extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Lightsail::Certificate"; /** * 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; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-certificatename */ certificateName: string; /** * The domain name of the certificate. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-domainname */ 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-subjectalternativenames */ subjectAlternativeNames: string[] | undefined; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-certificate.html#cfn-lightsail-certificate-tags */ readonly tags: cdk.TagManager; /** * Create a new `AWS::Lightsail::Certificate`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnCertificateProps); /** * 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 `CfnContainer` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html */ export interface CfnContainerProps { /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-power */ readonly power: string; /** * The scale specification of the container service. * * The scale specifies the allocated compute nodes of the container service. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-servicename */ readonly serviceName: string; /** * An object that describes the current container deployment of the container service. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-isdisabled */ readonly isDisabled?: boolean | cdk.IResolvable; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-publicdomainnames */ readonly publicDomainNames?: Array<CfnContainer.PublicDomainNameProperty | cdk.IResolvable> | cdk.IResolvable; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-tags */ readonly tags?: cdk.CfnTag[]; } /** * A CloudFormation `AWS::Lightsail::Container` * * 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 * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html */ export declare class CfnContainer extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Lightsail::Container"; /** * 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; /** * The Amazon Resource Name (ARN) of the container. * @cloudformationAttribute ContainerArn */ readonly attrContainerArn: 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; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-power */ power: string; /** * The scale specification of the container service. * * The scale specifies the allocated compute nodes of the container service. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-scale */ scale: number; /** * The name of the container service. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-servicename */ serviceName: string; /** * An object that describes the current container deployment of the container service. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-containerservicedeployment */ containerServiceDeployment: CfnContainer.ContainerServiceDeploymentProperty | cdk.IResolvable | undefined; /** * A Boolean value indicating whether the container service is disabled. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-isdisabled */ isDisabled: boolean | cdk.IResolvable | undefined; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-publicdomainnames */ publicDomainNames: Array<CfnContainer.PublicDomainNameProperty | cdk.IResolvable> | cdk.IResolvable | undefined; /** * 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-container.html#cfn-lightsail-container-tags */ readonly tags: cdk.TagManager; /** * Create a new `AWS::Lightsail::Container`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnContainerProps); /** * 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 CfnContainer { /** * `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 * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html */ interface ContainerProperty { /** * The launch command for the container. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-command */ readonly command?: string[]; /** * The name of the container. * * @link 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. * * @link 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` . * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-container.html#cfn-lightsail-container-container-ports */ readonly ports?: Array<CfnContainer.PortInfoProperty | cdk.IResolvable> | cdk.IResolvable; } } export declare namespace CfnContainer { /** * `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 * * @link 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. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-containerservicedeployment.html#cfn-lightsail-container-containerservicedeployment-publicendpoint */ readonly publicEndpoint?: CfnContainer.PublicEndpointProperty | cdk.IResolvable; } } export declare namespace CfnContainer { /** * `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 * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-environmentvariable.html */ interface EnvironmentVariableProperty { /** * The environment variable value. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-environmentvariable.html#cfn-lightsail-container-environmentvariable-variable */ readonly variable?: string; } } export declare namespace CfnContainer { /** * `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 * * @link 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` . * * @link 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` . * * @link 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 `/` . * * @link 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` ). * * @link 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` . * * @link 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` . * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-healthcheckconfig.html#cfn-lightsail-container-healthcheckconfig-unhealthythreshold */ readonly unhealthyThreshold?: number; } } export declare namespace CfnContainer { /** * `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 * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-portinfo.html */ interface PortInfoProperty { /** * The open firewall ports of the container. * * @link 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` * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-portinfo.html#cfn-lightsail-container-portinfo-protocol */ readonly protocol?: string; } } 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 * * @link 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. * * @link 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. * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-container-publicdomainname.html#cfn-lightsail-container-publicdomainname-domainnames */ readonly domainNames?: string[]; } } export declare namespace CfnContainer { /** * `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 * * @link 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. * * @link 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. * * @link 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. * * @link 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; } } /** * Properties for defining a `CfnDatabase` * * @struct * @stability external * * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-database.html */ export interface CfnDatabaseProps { /** * The meaning of this parameter differs according to the database engine you use. * * *MySQL* * * The name of the database to create when the Lightsail database resource is created. If this parameter isn't specified, no database is created in the database resource. * * Constraints: * * - Must contain 1-64 letters or numbers. * - Must begin with a letter. Subsequent characters can be letters, underscores, or numbers (0-9). * - Can't be a word reserved by the specified database engine. * * For more information about reserved words in MySQL, see the Keywords and Reserved Words articles for [MySQL 5.6](https://docs.aws.amazon.com/https://dev.mysql.com/doc/refman/5.6/en/keywords.html) , [MySQL 5.7](https://docs.aws.amazon.com/https://dev.mysql.com/doc/refman/5.7/en/keywords.html) , and [MySQL 8.0](https://docs.aws.amazon.com/https://dev.mysql.com/doc/refman/8.0/en/keywords.html) . * * *PostgreSQL* * * The name of the database to create when the Lightsail database resource is created. If this parameter isn't specified, a database named `p