UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

1,042 lines (1,041 loc) 170 kB
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;