import type { AlarmState, CertificateProvider, ComparisonOperator, ContactMethodVerificationProtocol, ContactProtocol, ContainerServicePowerName, HttpEndpoint, HttpProtocolIpv6, HttpTokens, InstanceHealthReason, InstanceHealthState, IpAddressType, LoadBalancerAttributeName, LoadBalancerMetricName, LoadBalancerProtocol, LoadBalancerState, LoadBalancerTlsCertificateDnsRecordCreationStateCode, LoadBalancerTlsCertificateDomainStatus, LoadBalancerTlsCertificateFailureReason, LoadBalancerTlsCertificateRenewalStatus, LoadBalancerTlsCertificateRevocationReason, LoadBalancerTlsCertificateStatus, MetricName, MetricStatistic, MetricUnit, RegionName, RelationalDatabaseEngine, RelationalDatabaseMetricName, RelationalDatabasePasswordVersion, ResourceBucketAccess, ResourceType, SetupStatus, TreatMissingData, ViewerMinimumTlsProtocolVersionEnum } from "./enums"; import type { AccessRules, AvailabilityZone, Bucket, BucketAccessLogConfig, BucketCorsConfig, CacheBehavior, CacheBehaviorPerPath, CacheSettings, ContainerImage, ContainerService, DomainEntry, InputOrigin, MetricDatapoint, Operation, PortInfo, PrivateRegistryAccessRequest, ResourceLocation, Tag } from "./models_0"; /** *

Describes information about the health of the instance.

* @public */ export interface InstanceHealthSummary { /** *

The name of the Lightsail instance for which you are requesting health check * data.

* @public */ instanceName?: string | undefined; /** *

Describes the overall instance health. Valid values are below.

* @public */ instanceHealth?: InstanceHealthState | undefined; /** *

More information about the instance health. If the instanceHealth is * healthy, then an instanceHealthReason value is not * provided.

*

If * instanceHealth * is initial, * the * instanceHealthReason * value can be one of the * following:

* *

If * instanceHealth * is unhealthy, * the * instanceHealthReason * value can be one of the * following:

* *

If * instanceHealth * is unused, * the * instanceHealthReason * value can be one of the * following:

* *

If * instanceHealth * is draining, * the * instanceHealthReason * value can be one of the * following:

* * @public */ instanceHealthReason?: InstanceHealthReason | undefined; } /** *

Provides a summary of SSL/TLS certificate metadata.

* @public */ export interface LoadBalancerTlsCertificateSummary { /** *

The name of the SSL/TLS certificate.

* @public */ name?: string | undefined; /** *

When true, the SSL/TLS certificate is attached to the Lightsail load * balancer.

* @public */ isAttached?: boolean | undefined; } /** *

Describes a load balancer.

* @public */ export interface LoadBalancer { /** *

The name of the load balancer (my-load-balancer).

* @public */ name?: string | undefined; /** *

The Amazon Resource Name (ARN) of the load balancer.

* @public */ arn?: string | undefined; /** *

The support code. Include this code in your email to support when you have questions about * your Lightsail load balancer. This code enables our support team to look up your Lightsail * information more easily.

* @public */ supportCode?: string | undefined; /** *

The date when your load balancer was created.

* @public */ createdAt?: Date | undefined; /** *

The AWS Region where your load balancer was created (us-east-2a). Lightsail * automatically creates your load balancer across Availability Zones.

* @public */ location?: ResourceLocation | undefined; /** *

The resource type (LoadBalancer.

* @public */ resourceType?: ResourceType | undefined; /** *

The tag keys and optional values for the resource. For more information about tags in * Lightsail, see the Amazon Lightsail Developer Guide.

* @public */ tags?: Tag[] | undefined; /** *

The DNS name of your Lightsail load balancer.

* @public */ dnsName?: string | undefined; /** *

The status of your load balancer. Valid values are below.

* @public */ state?: LoadBalancerState | undefined; /** *

The protocol you have enabled for your load balancer. Valid values are below.

*

You can't just have HTTP_HTTPS, but you can have just * HTTP.

* @public */ protocol?: LoadBalancerProtocol | undefined; /** *

An array of public port settings for your load balancer. For HTTP, use port 80. For HTTPS, * use port 443.

* @public */ publicPorts?: number[] | undefined; /** *

The path you specified to perform your health checks. If no path is specified, the load * balancer tries to make a request to the default (root) page.

* @public */ healthCheckPath?: string | undefined; /** *

The port where the load balancer will direct traffic to your Lightsail instances. For * HTTP traffic, it's port 80. For HTTPS traffic, it's port 443.

* @public */ instancePort?: number | undefined; /** *

An array of InstanceHealthSummary objects describing the health of the load * balancer.

* @public */ instanceHealthSummary?: InstanceHealthSummary[] | undefined; /** *

An array of LoadBalancerTlsCertificateSummary objects that provide additional information * about the SSL/TLS certificates. For example, if true, the certificate is attached * to the load balancer.

* @public */ tlsCertificateSummaries?: LoadBalancerTlsCertificateSummary[] | undefined; /** *

A string to string map of the configuration options for your load balancer. Valid values * are listed below.

* @public */ configurationOptions?: Partial> | undefined; /** *

The IP address type of the load balancer.

*

The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, * and dualstack for IPv4 and IPv6.

* @public */ ipAddressType?: IpAddressType | undefined; /** *

A Boolean value that indicates whether HTTPS redirection is enabled for the load * balancer.

* @public */ httpsRedirectionEnabled?: boolean | undefined; /** *

The name of the TLS security policy for the load balancer.

* @public */ tlsPolicyName?: string | undefined; } /** * @public */ export interface GetLoadBalancerResult { /** *

An object containing information about your load balancer.

* @public */ loadBalancer?: LoadBalancer | undefined; } /** * @public */ export interface GetLoadBalancerMetricDataRequest { /** *

The name of the load balancer.

* @public */ loadBalancerName: string | undefined; /** *

The metric for which you want to return information.

*

Valid load balancer metric names are listed below, along with the most useful * statistics to include in your request, and the published unit * value.

* * @public */ metricName: LoadBalancerMetricName | undefined; /** *

The granularity, in seconds, of the returned data points.

* @public */ period: number | undefined; /** *

The start time of the period.

* @public */ startTime: Date | undefined; /** *

The end time of the period.

* @public */ endTime: Date | undefined; /** *

The unit for the metric data request. Valid units depend on the metric data being * requested. For the valid units with each available metric, see the metricName * parameter.

* @public */ unit: MetricUnit | undefined; /** *

The statistic for the metric.

*

The following statistics are available:

* * @public */ statistics: MetricStatistic[] | undefined; } /** * @public */ export interface GetLoadBalancerMetricDataResult { /** *

The name of the metric returned.

* @public */ metricName?: LoadBalancerMetricName | undefined; /** *

An array of objects that describe the metric data returned.

* @public */ metricData?: MetricDatapoint[] | undefined; } /** * @public */ export interface GetLoadBalancersRequest { /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetLoadBalancers request. If your * results are paginated, the response will return a next page token that you can specify as the * page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** * @public */ export interface GetLoadBalancersResult { /** *

An array of LoadBalancer objects describing your load balancers.

* @public */ loadBalancers?: LoadBalancer[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetLoadBalancers request and * specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetLoadBalancerTlsCertificatesRequest { /** *

The name of the load balancer you associated with your SSL/TLS certificate.

* @public */ loadBalancerName: string | undefined; } /** *

An object that describes the state of the canonical name (CNAME) records that are * automatically added by Lightsail to the DNS of the domain to validate domain * ownership.

* @public */ export interface LoadBalancerTlsCertificateDnsRecordCreationState { /** *

The status code for the automated DNS record creation.

*

Following are the possible values:

* * @public */ code?: LoadBalancerTlsCertificateDnsRecordCreationStateCode | undefined; /** *

The message that describes the reason for the status code.

* @public */ message?: string | undefined; } /** *

Describes the validation record of each domain name in the SSL/TLS certificate.

* @public */ export interface LoadBalancerTlsCertificateDomainValidationRecord { /** *

A fully qualified domain name in the certificate. For example, * example.com.

* @public */ name?: string | undefined; /** *

The type of validation record. For example, CNAME for domain * validation.

* @public */ type?: string | undefined; /** *

The value for that type.

* @public */ value?: string | undefined; /** *

The validation status. Valid values are listed below.

* @public */ validationStatus?: LoadBalancerTlsCertificateDomainStatus | undefined; /** *

The domain name against which your SSL/TLS certificate was validated.

* @public */ domainName?: string | undefined; /** *

An object that describes the state of the canonical name (CNAME) records that are * automatically added by Lightsail to the DNS of a domain to validate domain * ownership.

* @public */ dnsRecordCreationState?: LoadBalancerTlsCertificateDnsRecordCreationState | undefined; } /** *

Contains information about the domain names on an SSL/TLS certificate that you will use to * validate domain ownership.

* @public */ export interface LoadBalancerTlsCertificateDomainValidationOption { /** *

The fully qualified domain name in the certificate request.

* @public */ domainName?: string | undefined; /** *

The status of the domain validation. Valid values are listed below.

* @public */ validationStatus?: LoadBalancerTlsCertificateDomainStatus | undefined; } /** *

Contains information about the status of Lightsail's managed renewal for the * certificate.

*

The renewal status of the certificate.

*

The following renewal status are possible:

* * @public */ export interface LoadBalancerTlsCertificateRenewalSummary { /** *

The renewal status of the certificate.

*

The following renewal status are possible:

* * @public */ renewalStatus?: LoadBalancerTlsCertificateRenewalStatus | undefined; /** *

Contains information about the validation of each domain name in the certificate, as it * pertains to Lightsail's managed renewal. This is different from the initial validation that * occurs as a result of the RequestCertificate request.

* @public */ domainValidationOptions?: LoadBalancerTlsCertificateDomainValidationOption[] | undefined; } /** *

Describes a load balancer SSL/TLS certificate.

*

TLS is just an updated, more secure version of Secure Socket Layer (SSL).

* @public */ export interface LoadBalancerTlsCertificate { /** *

The name of the SSL/TLS certificate (my-certificate).

* @public */ name?: string | undefined; /** *

The Amazon Resource Name (ARN) of the SSL/TLS certificate.

* @public */ arn?: string | undefined; /** *

The support code. Include this code in your email to support when you have questions about * your Lightsail load balancer or SSL/TLS certificate. This code enables our support team to * look up your Lightsail information more easily.

* @public */ supportCode?: string | undefined; /** *

The time when you created your SSL/TLS certificate.

* @public */ createdAt?: Date | undefined; /** *

The Amazon Web Services Region and Availability Zone where you created your * certificate.

* @public */ location?: ResourceLocation | undefined; /** *

The resource type (LoadBalancerTlsCertificate).

* * @public */ resourceType?: ResourceType | undefined; /** *

The tag keys and optional values for the resource. For more information about tags in * Lightsail, see the Amazon Lightsail Developer Guide.

* @public */ tags?: Tag[] | undefined; /** *

The load balancer name where your SSL/TLS certificate is attached.

* @public */ loadBalancerName?: string | undefined; /** *

When true, the SSL/TLS certificate is attached to the Lightsail load * balancer.

* @public */ isAttached?: boolean | undefined; /** *

The validation status of the SSL/TLS certificate. Valid values are below.

* @public */ status?: LoadBalancerTlsCertificateStatus | undefined; /** *

The domain name for your SSL/TLS certificate.

* @public */ domainName?: string | undefined; /** *

An array of LoadBalancerTlsCertificateDomainValidationRecord objects describing the * records.

* @public */ domainValidationRecords?: LoadBalancerTlsCertificateDomainValidationRecord[] | undefined; /** *

The validation failure reason, if any, of the certificate.

*

The following failure reasons are possible:

* * @public */ failureReason?: LoadBalancerTlsCertificateFailureReason | undefined; /** *

The time when the SSL/TLS certificate was issued.

* @public */ issuedAt?: Date | undefined; /** *

The issuer of the certificate.

* @public */ issuer?: string | undefined; /** *

The algorithm used to generate the key pair (the public and private key).

* @public */ keyAlgorithm?: string | undefined; /** *

The timestamp when the SSL/TLS certificate expires.

* @public */ notAfter?: Date | undefined; /** *

The timestamp when the SSL/TLS certificate is first valid.

* @public */ notBefore?: Date | undefined; /** *

An object that describes the status of the certificate renewal managed by * Lightsail.

* @public */ renewalSummary?: LoadBalancerTlsCertificateRenewalSummary | undefined; /** *

The reason the certificate was revoked. This value is present only when the certificate * status is REVOKED.

* @public */ revocationReason?: LoadBalancerTlsCertificateRevocationReason | undefined; /** *

The timestamp when the certificate was revoked. This value is present only when the * certificate status is REVOKED.

* @public */ revokedAt?: Date | undefined; /** *

The serial number of the certificate.

* @public */ serial?: string | undefined; /** *

The algorithm that was used to sign the certificate.

* @public */ signatureAlgorithm?: string | undefined; /** *

The name of the entity that is associated with the public key contained in the * certificate.

* @public */ subject?: string | undefined; /** *

An array of strings that specify the alternate domains (example2.com) and * subdomains (blog.example.com) for the certificate.

* @public */ subjectAlternativeNames?: string[] | undefined; } /** * @public */ export interface GetLoadBalancerTlsCertificatesResult { /** *

An array of LoadBalancerTlsCertificate objects describing your SSL/TLS * certificates.

* @public */ tlsCertificates?: LoadBalancerTlsCertificate[] | undefined; } /** * @public */ export interface GetLoadBalancerTlsPoliciesRequest { /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetLoadBalancerTlsPolicies request. * If your results are paginated, the response will return a next page token that you can specify * as the page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** *

Describes the TLS security policies that are available for Lightsail load * balancers.

*

For more information about load balancer TLS security policies, see Configuring TLS security policies on your Amazon Lightsail load * balancers in the Amazon Lightsail Developer * Guide.

* @public */ export interface LoadBalancerTlsPolicy { /** *

The name of the TLS security policy.

* @public */ name?: string | undefined; /** *

A Boolean value that indicates whether the TLS security policy is the default.

* @public */ isDefault?: boolean | undefined; /** *

The description of the TLS security policy.

* @public */ description?: string | undefined; /** *

The protocols used in a given TLS security policy.

* @public */ protocols?: string[] | undefined; /** *

The ciphers used by the TLS security policy.

*

The ciphers are listed in order of preference.

* @public */ ciphers?: string[] | undefined; } /** * @public */ export interface GetLoadBalancerTlsPoliciesResult { /** *

An array of objects that describe the TLS security policies that are available.

* @public */ tlsPolicies?: LoadBalancerTlsPolicy[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetLoadBalancerTlsPolicies * request and specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetOperationRequest { /** *

A GUID used to identify the operation.

* @public */ operationId: string | undefined; } /** * @public */ export interface GetOperationResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface GetOperationsRequest { /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetOperations request. If your * results are paginated, the response will return a next page token that you can specify as the * page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** * @public */ export interface GetOperationsResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetOperations request and * specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetOperationsForResourceRequest { /** *

The name of the resource for which you are requesting information.

* @public */ resourceName: string | undefined; /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetOperationsForResource request. If * your results are paginated, the response will return a next page token that you can specify as * the page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** * @public */ export interface GetOperationsForResourceResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; /** *

(Discontinued) Returns the number of pages of results that remain.

* *

In releases prior to June 12, 2017, this parameter returned null by the * API. It is now discontinued, and the API returns the next page token parameter * instead.

*
* * @deprecated deprecated. * @public */ nextPageCount?: string | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetOperationsForResource * request and specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetRegionsRequest { /** *

A Boolean value indicating whether to also include Availability Zones in your get regions * request. Availability Zones are indicated with a letter: us-east-2a.

* @public */ includeAvailabilityZones?: boolean | undefined; /** *

A Boolean value indicating whether to also include Availability Zones for databases in * your get regions request. Availability Zones are indicated with a letter * (us-east-2a).

* @public */ includeRelationalDatabaseAvailabilityZones?: boolean | undefined; } /** *

Describes the Amazon Web Services Region.

* @public */ export interface Region { /** *

The continent code (NA, meaning North America).

* @public */ continentCode?: string | undefined; /** *

The description of the Amazon Web Services Region (This region is recommended to * serve users in the eastern United States and eastern Canada).

* @public */ description?: string | undefined; /** *

The display name (Ohio).

* @public */ displayName?: string | undefined; /** *

The region name (us-east-2).

* @public */ name?: RegionName | undefined; /** *

The Availability Zones. Follows the format us-east-2a * (case-sensitive).

* @public */ availabilityZones?: AvailabilityZone[] | undefined; /** *

The Availability Zones for databases. Follows the format us-east-2a * (case-sensitive).

* @public */ relationalDatabaseAvailabilityZones?: AvailabilityZone[] | undefined; } /** * @public */ export interface GetRegionsResult { /** *

An array of key-value pairs containing information about your get regions request.

* @public */ regions?: Region[] | undefined; } /** * @public */ export interface GetRelationalDatabaseRequest { /** *

The name of the database that you are looking up.

* @public */ relationalDatabaseName: string | undefined; } /** *

Describes the hardware of a database.

* @public */ export interface RelationalDatabaseHardware { /** *

The number of vCPUs for the database.

* @public */ cpuCount?: number | undefined; /** *

The size of the disk for the database.

* @public */ diskSizeInGb?: number | undefined; /** *

The amount of RAM in GB for the database.

* @public */ ramSizeInGb?: number | undefined; } /** *

Describes an endpoint for a database.

* @public */ export interface RelationalDatabaseEndpoint { /** *

Specifies the port that the database is listening on.

* @public */ port?: number | undefined; /** *

Specifies the DNS address of the database.

* @public */ address?: string | undefined; } /** *

Describes a pending database maintenance action.

* @public */ export interface PendingMaintenanceAction { /** *

The type of pending database maintenance action.

* @public */ action?: string | undefined; /** *

Additional detail about the pending database maintenance action.

* @public */ description?: string | undefined; /** *

The effective date of the pending database maintenance action.

* @public */ currentApplyDate?: Date | undefined; } /** *

Describes a pending database value modification.

* @public */ export interface PendingModifiedRelationalDatabaseValues { /** *

The password for the master user of the database.

* @public */ masterUserPassword?: string | undefined; /** *

The database engine version.

* @public */ engineVersion?: string | undefined; /** *

A Boolean value indicating whether automated backup retention is enabled.

* @public */ backupRetentionEnabled?: boolean | undefined; } /** *

Describes a database.

* @public */ export interface RelationalDatabase { /** *

The unique name of the database resource in Lightsail.

* @public */ name?: string | undefined; /** *

The Amazon Resource Name (ARN) of the database.

* @public */ arn?: string | undefined; /** *

The support code for the database. Include this code in your email to support when you * have questions about a database in Lightsail. This code enables our support team to look up * your Lightsail information more easily.

* @public */ supportCode?: string | undefined; /** *

The timestamp when the database was created. Formatted in Unix time.

* @public */ createdAt?: Date | undefined; /** *

The Region name and Availability Zone where the database is located.

* @public */ location?: ResourceLocation | undefined; /** *

The Lightsail resource type for the database (for example, * RelationalDatabase).

* @public */ resourceType?: ResourceType | undefined; /** *

The tag keys and optional values for the resource. For more information about tags in * Lightsail, see the Amazon Lightsail Developer Guide.

* @public */ tags?: Tag[] | undefined; /** *

The blueprint ID for the database. A blueprint describes the major engine version of a * database.

* @public */ relationalDatabaseBlueprintId?: string | undefined; /** *

The bundle ID for the database. A bundle describes the performance specifications for your * database.

* @public */ relationalDatabaseBundleId?: string | undefined; /** *

The name of the master database created when the Lightsail database resource is * created.

* @public */ masterDatabaseName?: string | undefined; /** *

Describes the hardware of the database.

* @public */ hardware?: RelationalDatabaseHardware | undefined; /** *

Describes the current state of the database.

* @public */ state?: string | undefined; /** *

Describes the secondary Availability Zone of a high availability database.

*

The secondary database is used for failover support of a high availability * database.

* @public */ secondaryAvailabilityZone?: string | undefined; /** *

A Boolean value indicating whether automated backup retention is enabled for the * database.

* @public */ backupRetentionEnabled?: boolean | undefined; /** *

Describes pending database value modifications.

* @public */ pendingModifiedValues?: PendingModifiedRelationalDatabaseValues | undefined; /** *

The database software (for example, MySQL).

* @public */ engine?: string | undefined; /** *

The database engine version (for example, 5.7.23).

* @public */ engineVersion?: string | undefined; /** *

The latest point in time to which the database can be restored. Formatted in Unix * time.

* @public */ latestRestorableTime?: Date | undefined; /** *

The master user name of the database.

* @public */ masterUsername?: string | undefined; /** *

The status of parameter updates for the database.

* @public */ parameterApplyStatus?: string | undefined; /** *

The daily time range during which automated backups are created for the database (for * example, 16:00-16:30).

* @public */ preferredBackupWindow?: string | undefined; /** *

The weekly time range during which system maintenance can occur on the database.

*

In the format ddd:hh24:mi-ddd:hh24:mi. For example, * Tue:17:00-Tue:17:30.

* @public */ preferredMaintenanceWindow?: string | undefined; /** *

A Boolean value indicating whether the database is publicly accessible.

* @public */ publiclyAccessible?: boolean | undefined; /** *

The master endpoint for the database.

* @public */ masterEndpoint?: RelationalDatabaseEndpoint | undefined; /** *

Describes the pending maintenance actions for the database.

* @public */ pendingMaintenanceActions?: PendingMaintenanceAction[] | undefined; /** *

The certificate associated with the database.

* @public */ caCertificateIdentifier?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseResult { /** *

An object describing the specified database.

* @public */ relationalDatabase?: RelationalDatabase | undefined; } /** * @public */ export interface GetRelationalDatabaseBlueprintsRequest { /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetRelationalDatabaseBlueprints * request. If your results are paginated, the response will return a next page token that you * can specify as the page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** *

Describes a database image, or blueprint. A blueprint describes the major engine version * of a database.

* @public */ export interface RelationalDatabaseBlueprint { /** *

The ID for the database blueprint.

* @public */ blueprintId?: string | undefined; /** *

The database software of the database blueprint (for example, MySQL).

* @public */ engine?: RelationalDatabaseEngine | undefined; /** *

The database engine version for the database blueprint (for example, * 5.7.23).

* @public */ engineVersion?: string | undefined; /** *

The description of the database engine for the database blueprint.

* @public */ engineDescription?: string | undefined; /** *

The description of the database engine version for the database blueprint.

* @public */ engineVersionDescription?: string | undefined; /** *

A Boolean value indicating whether the engine version is the default for the database * blueprint.

* @public */ isEngineDefault?: boolean | undefined; } /** * @public */ export interface GetRelationalDatabaseBlueprintsResult { /** *

An object describing the result of your get relational database blueprints request.

* @public */ blueprints?: RelationalDatabaseBlueprint[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another * GetRelationalDatabaseBlueprints request and specify the next page token using * the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseBundlesRequest { /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetRelationalDatabaseBundles request. * If your results are paginated, the response will return a next page token that you can specify * as the page token in a subsequent request.

* @public */ pageToken?: string | undefined; /** *

A Boolean value that indicates whether to include inactive (unavailable) bundles in the * response of your request.

* @public */ includeInactive?: boolean | undefined; } /** *

Describes a database bundle. A bundle describes the performance specifications of the * database.

* @public */ export interface RelationalDatabaseBundle { /** *

The ID for the database bundle.

* @public */ bundleId?: string | undefined; /** *

The name for the database bundle.

* @public */ name?: string | undefined; /** *

The cost of the database bundle in US currency.

* @public */ price?: number | undefined; /** *

The amount of RAM in GB (for example, 2.0) for the database bundle.

* @public */ ramSizeInGb?: number | undefined; /** *

The size of the disk for the database bundle.

* @public */ diskSizeInGb?: number | undefined; /** *

The data transfer rate per month in GB for the database bundle.

* @public */ transferPerMonthInGb?: number | undefined; /** *

The number of virtual CPUs (vCPUs) for the database bundle.

* @public */ cpuCount?: number | undefined; /** *

A Boolean value indicating whether the database bundle is encrypted.

* @public */ isEncrypted?: boolean | undefined; /** *

A Boolean value indicating whether the database bundle is active.

* @public */ isActive?: boolean | undefined; } /** * @public */ export interface GetRelationalDatabaseBundlesResult { /** *

An object describing the result of your get relational database bundles request.

* @public */ bundles?: RelationalDatabaseBundle[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetRelationalDatabaseBundles * request and specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseEventsRequest { /** *

The name of the database from which to get events.

* @public */ relationalDatabaseName: string | undefined; /** *

The number of minutes in the past from which to retrieve events. For example, to get all * events from the past 2 hours, enter 120.

*

Default: 60 *

*

The minimum is 1 and the maximum is 14 days (20160 minutes).

* @public */ durationInMinutes?: number | undefined; /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetRelationalDatabaseEvents request. * If your results are paginated, the response will return a next page token that you can specify * as the page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** *

Describes an event for a database.

* @public */ export interface RelationalDatabaseEvent { /** *

The database that the database event relates to.

* @public */ resource?: string | undefined; /** *

The timestamp when the database event was created.

* @public */ createdAt?: Date | undefined; /** *

The message of the database event.

* @public */ message?: string | undefined; /** *

The category that the database event belongs to.

* @public */ eventCategories?: string[] | undefined; } /** * @public */ export interface GetRelationalDatabaseEventsResult { /** *

An object describing the result of your get relational database events request.

* @public */ relationalDatabaseEvents?: RelationalDatabaseEvent[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetRelationalDatabaseEvents * request and specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseLogEventsRequest { /** *

The name of your database for which to get log events.

* @public */ relationalDatabaseName: string | undefined; /** *

The name of the log stream.

*

Use the get relational database log streams operation to get a list of * available log streams.

* @public */ logStreamName: string | undefined; /** *

The start of the time interval from which to get log events.

*

Constraints:

* * @public */ startTime?: Date | undefined; /** *

The end of the time interval from which to get log events.

*

Constraints:

* * @public */ endTime?: Date | undefined; /** *

Parameter to specify if the log should start from head or tail. If true is * specified, the log event starts from the head of the log. If false is specified, * the log event starts from the tail of the log.

* *

For PostgreSQL, the default value of false is the only option * available.

*
* @public */ startFromHead?: boolean | undefined; /** *

The token to advance to the next or previous page of results from your request.

*

To get a page token, perform an initial GetRelationalDatabaseLogEvents * request. If your results are paginated, the response will return a next forward token and/or * next backward token that you can specify as the page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** *

Describes a database log event.

* @public */ export interface LogEvent { /** *

The timestamp when the database log event was created.

* @public */ createdAt?: Date | undefined; /** *

The message of the database log event.

* @public */ message?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseLogEventsResult { /** *

An object describing the result of your get relational database log events request.

* @public */ resourceLogEvents?: LogEvent[] | undefined; /** *

A token used for advancing to the previous page of results from your get relational * database log events request.

* @public */ nextBackwardToken?: string | undefined; /** *

A token used for advancing to the next page of results from your get relational database * log events request.

* @public */ nextForwardToken?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseLogStreamsRequest { /** *

The name of your database for which to get log streams.

* @public */ relationalDatabaseName: string | undefined; } /** * @public */ export interface GetRelationalDatabaseLogStreamsResult { /** *

An object describing the result of your get relational database log streams * request.

* @public */ logStreams?: string[] | undefined; } /** * @public */ export interface GetRelationalDatabaseMasterUserPasswordRequest { /** *

The name of your database for which to get the master user password.

* @public */ relationalDatabaseName: string | undefined; /** *

The password version to return.

*

Specifying CURRENT or PREVIOUS returns the current or previous * passwords respectively. Specifying PENDING returns the newest version of the * password that will rotate to CURRENT. After the PENDING password * rotates to CURRENT, the PENDING password is no longer * available.

*

Default: CURRENT *

* @public */ passwordVersion?: RelationalDatabasePasswordVersion | undefined; } /** * @public */ export interface GetRelationalDatabaseMasterUserPasswordResult { /** *

The master user password for the password version specified.

* @public */ masterUserPassword?: string | undefined; /** *

The timestamp when the specified version of the master user password was created.

* @public */ createdAt?: Date | undefined; } /** * @public */ export interface GetRelationalDatabaseMetricDataRequest { /** *

The name of your database from which to get metric data.

* @public */ relationalDatabaseName: string | undefined; /** *

The metric for which you want to return information.

*

Valid relational database metric names are listed below, along with the most useful * statistics to include in your request, and the published unit * value. All relational database metric data is available in 1-minute (60 seconds) * granularity.

* * @public */ metricName: RelationalDatabaseMetricName | undefined; /** *

The granularity, in seconds, of the returned data points.

*

All relational database metric data is available in 1-minute (60 seconds) * granularity.

* @public */ period: number | undefined; /** *

The start of the time interval from which to get metric data.

*

Constraints:

* * @public */ startTime: Date | undefined; /** *

The end of the time interval from which to get metric data.

*

Constraints:

* * @public */ endTime: Date | undefined; /** *

The unit for the metric data request. Valid units depend on the metric data being * requested. For the valid units with each available metric, see the metricName * parameter.

* @public */ unit: MetricUnit | undefined; /** *

The statistic for the metric.

*

The following statistics are available:

* * @public */ statistics: MetricStatistic[] | undefined; } /** * @public */ export interface GetRelationalDatabaseMetricDataResult { /** *

The name of the metric returned.

* @public */ metricName?: RelationalDatabaseMetricName | undefined; /** *

An array of objects that describe the metric data returned.

* @public */ metricData?: MetricDatapoint[] | undefined; } /** * @public */ export interface GetRelationalDatabaseParametersRequest { /** *

The name of your database for which to get parameters.

* @public */ relationalDatabaseName: string | undefined; /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetRelationalDatabaseParameters * request. If your results are paginated, the response will return a next page token that you * can specify as the page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** *

Describes the parameters of a database.

* @public */ export interface RelationalDatabaseParameter { /** *

Specifies the valid range of values for the parameter.

* @public */ allowedValues?: string | undefined; /** *

Indicates when parameter updates are applied.

*

Can be immediate or pending-reboot.

* @public */ applyMethod?: string | undefined; /** *

Specifies the engine-specific parameter type.

* @public */ applyType?: string | undefined; /** *

Specifies the valid data type for the parameter.

* @public */ dataType?: string | undefined; /** *

Provides a description of the parameter.

* @public */ description?: string | undefined; /** *

A Boolean value indicating whether the parameter can be modified.

* @public */ isModifiable?: boolean | undefined; /** *

Specifies the name of the parameter.

* @public */ parameterName?: string | undefined; /** *

Specifies the value of the parameter.

* @public */ parameterValue?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseParametersResult { /** *

An object describing the result of your get relational database parameters request.

* @public */ parameters?: RelationalDatabaseParameter[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another * GetRelationalDatabaseParameters request and specify the next page token using * the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetRelationalDatabasesRequest { /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetRelationalDatabases request. If * your results are paginated, the response will return a next page token that you can specify as * the page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** * @public */ export interface GetRelationalDatabasesResult { /** *

An object describing the result of your get relational databases request.

* @public */ relationalDatabases?: RelationalDatabase[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetRelationalDatabases * request and specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseSnapshotRequest { /** *

The name of the database snapshot for which to get information.

* @public */ relationalDatabaseSnapshotName: string | undefined; } /** *

Describes a database snapshot.

* @public */ export interface RelationalDatabaseSnapshot { /** *

The name of the database snapshot.

* @public */ name?: string | undefined; /** *

The Amazon Resource Name (ARN) of the database snapshot.

* @public */ arn?: string | undefined; /** *

The support code for the database snapshot. Include this code in your email to support * when you have questions about a database snapshot in Lightsail. This code enables our * support team to look up your Lightsail information more easily.

* @public */ supportCode?: string | undefined; /** *

The timestamp when the database snapshot was created.

* @public */ createdAt?: Date | undefined; /** *

The Region name and Availability Zone where the database snapshot is located.

* @public */ location?: ResourceLocation | undefined; /** *

The Lightsail resource type.

* @public */ resourceType?: ResourceType | undefined; /** *

The tag keys and optional values for the resource. For more information about tags in * Lightsail, see the Amazon Lightsail Developer Guide.

* @public */ tags?: Tag[] | undefined; /** *

The software of the database snapshot (for example, MySQL)

* @public */ engine?: string | undefined; /** *

The database engine version for the database snapshot (for example, * 5.7.23).

* @public */ engineVersion?: string | undefined; /** *

The size of the disk in GB (for example, 32) for the database * snapshot.

* @public */ sizeInGb?: number | undefined; /** *

The state of the database snapshot.

* @public */ state?: string | undefined; /** *

The name of the source database from which the database snapshot was created.

* @public */ fromRelationalDatabaseName?: string | undefined; /** *

The Amazon Resource Name (ARN) of the database from which the database snapshot was * created.

* @public */ fromRelationalDatabaseArn?: string | undefined; /** *

The bundle ID of the database from which the database snapshot was created.

* @public */ fromRelationalDatabaseBundleId?: string | undefined; /** *

The blueprint ID of the database from which the database snapshot was created. A blueprint * describes the major engine version of a database.

* @public */ fromRelationalDatabaseBlueprintId?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseSnapshotResult { /** *

An object describing the specified database snapshot.

* @public */ relationalDatabaseSnapshot?: RelationalDatabaseSnapshot | undefined; } /** * @public */ export interface GetRelationalDatabaseSnapshotsRequest { /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetRelationalDatabaseSnapshots * request. If your results are paginated, the response will return a next page token that you * can specify as the page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** * @public */ export interface GetRelationalDatabaseSnapshotsResult { /** *

An object describing the result of your get relational database snapshots request.

* @public */ relationalDatabaseSnapshots?: RelationalDatabaseSnapshot[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another * GetRelationalDatabaseSnapshots request and specify the next page token using * the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetSetupHistoryRequest { /** *

The name of the resource for which you are requesting information.

* @public */ resourceName: string | undefined; /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetSetupHistory request. If your * results are paginated, the response will return a next page token that you can specify as the * page token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** *

Returns details about the commands that were run.

* @public */ export interface SetupExecutionDetails { /** *

The command that was executed.

* @public */ command?: string | undefined; /** *

The timestamp for when the request was run.

* @public */ dateTime?: Date | undefined; /** *

The name of the target resource.

* @public */ name?: string | undefined; /** *

The status of the SetupInstanceHttps request.

* @public */ status?: SetupStatus | undefined; /** *

The text written by the command to stderr.

* @public */ standardError?: string | undefined; /** *

The text written by the command to stdout.

* @public */ standardOutput?: string | undefined; /** *

The current version of the script..

* @public */ version?: string | undefined; } /** *

Returns information that was submitted during the SetupInstanceHttps request. * Email information is redacted for privacy.

* @public */ export interface SetupRequest { /** *

The name of the Lightsail instance.

* @public */ instanceName?: string | undefined; /** *

The name of the domain and subdomains that the SSL/TLS certificate secures.

* @public */ domainNames?: string[] | undefined; /** *

The Certificate Authority (CA) that issues the SSL/TLS certificate.

* @public */ certificateProvider?: CertificateProvider | undefined; } /** *

The Lightsail resource that SetupHistory was ran on.

* @public */ export interface SetupHistoryResource { /** *

The name of the Lightsail resource.

* @public */ name?: string | undefined; /** *

The Amazon Resource Name (ARN) of the Lightsail resource.

* @public */ arn?: string | undefined; /** *

The timestamp for when the resource was created.

* @public */ createdAt?: Date | undefined; /** *

Describes the resource location.

* @public */ location?: ResourceLocation | undefined; /** *

The Lightsail resource type. For example, Instance.

* @public */ resourceType?: ResourceType | undefined; } /** *

Returns a list of the commands that were ran on the target resource.

*

The status of each command is also returned.

* @public */ export interface SetupHistory { /** *

A GUID that's used to identify the operation.

* @public */ operationId?: string | undefined; /** *

Information about the specified request.

* @public */ request?: SetupRequest | undefined; /** *

The target resource name for the request.

* @public */ resource?: SetupHistoryResource | undefined; /** *

Describes the full details of the request.

* @public */ executionDetails?: SetupExecutionDetails[] | undefined; /** *

The status of the request.

* @public */ status?: SetupStatus | undefined; } /** * @public */ export interface GetSetupHistoryResult { /** *

The historical information that's returned.

* @public */ setupHistory?: SetupHistory[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetSetupHistory request and * specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface GetStaticIpRequest { /** *

The name of the static IP in Lightsail.

* @public */ staticIpName: string | undefined; } /** *

Describes a static IP.

* @public */ export interface StaticIp { /** *

The name of the static IP (StaticIP-Ohio-EXAMPLE).

* @public */ name?: string | undefined; /** *

The Amazon Resource Name (ARN) of the static IP * (arn:aws:lightsail:us-east-2:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE).

* @public */ arn?: string | undefined; /** *

The support code. Include this code in your email to support when you have questions about * an instance or another resource in Lightsail. This code enables our support team to look up * your Lightsail information more easily.

* @public */ supportCode?: string | undefined; /** *

The timestamp when the static IP was created (1479735304.222).

* @public */ createdAt?: Date | undefined; /** *

The region and Availability Zone where the static IP was created.

* @public */ location?: ResourceLocation | undefined; /** *

The resource type (usually StaticIp).

* @public */ resourceType?: ResourceType | undefined; /** *

The static IP address.

* @public */ ipAddress?: string | undefined; /** *

The instance where the static IP is attached * (Amazon_Linux-1GB-Ohio-1).

* @public */ attachedTo?: string | undefined; /** *

A Boolean value indicating whether the static IP is attached.

* @public */ isAttached?: boolean | undefined; } /** * @public */ export interface GetStaticIpResult { /** *

An array of key-value pairs containing information about the requested static IP.

* @public */ staticIp?: StaticIp | undefined; } /** * @public */ export interface GetStaticIpsRequest { /** *

The token to advance to the next page of results from your request.

*

To get a page token, perform an initial GetStaticIps request. If your results * are paginated, the response will return a next page token that you can specify as the page * token in a subsequent request.

* @public */ pageToken?: string | undefined; } /** * @public */ export interface GetStaticIpsResult { /** *

An array of key-value pairs containing information about your get static IPs * request.

* @public */ staticIps?: StaticIp[] | undefined; /** *

The token to advance to the next page of results from your request.

*

A next page token is not returned if there are no more results to display.

*

To get the next page of results, perform another GetStaticIps request and * specify the next page token using the pageToken parameter.

* @public */ nextPageToken?: string | undefined; } /** * @public */ export interface ImportKeyPairRequest { /** *

The name of the key pair for which you want to import the public key.

* @public */ keyPairName: string | undefined; /** *

A base64-encoded public key of the ssh-rsa type.

* @public */ publicKeyBase64: string | undefined; } /** * @public */ export interface ImportKeyPairResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface IsVpcPeeredRequest { } /** * @public */ export interface IsVpcPeeredResult { /** *

Returns true if the Lightsail VPC is peered; otherwise, * false.

* @public */ isPeered?: boolean | undefined; } /** * @public */ export interface OpenInstancePublicPortsRequest { /** *

An object to describe the ports to open for the specified instance.

* @public */ portInfo: PortInfo | undefined; /** *

The name of the instance for which to open ports.

* @public */ instanceName: string | undefined; } /** * @public */ export interface OpenInstancePublicPortsResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface PeerVpcRequest { } /** * @public */ export interface PeerVpcResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface PutAlarmRequest { /** *

The name for the alarm. Specify the name of an existing alarm to update, and overwrite the * previous configuration of the alarm.

* @public */ alarmName: string | undefined; /** *

The name of the metric to associate with the alarm.

*

You can configure up to two alarms per metric.

*

The following metrics are available for each resource type:

* *

For more information about these metrics, see Metrics available in Lightsail.

* @public */ metricName: MetricName | undefined; /** *

The name of the Lightsail resource that will be monitored.

*

Instances, load balancers, and relational databases are the only Lightsail resources * that can currently be monitored by alarms.

* @public */ monitoredResourceName: string | undefined; /** *

The arithmetic operation to use when comparing the specified statistic to the threshold. * The specified statistic value is used as the first operand.

* @public */ comparisonOperator: ComparisonOperator | undefined; /** *

The value against which the specified statistic is compared.

* @public */ threshold: number | undefined; /** *

The number of most recent periods over which data is compared to the specified threshold. * If you are setting an "M out of N" alarm, this value (evaluationPeriods) is the * N.

*

If you are setting an alarm that requires that a number of consecutive data points be * breaching to trigger the alarm, this value specifies the rolling period of time in which data * points are evaluated.

*

Each evaluation period is five minutes long. For example, specify an evaluation period of * 24 to evaluate a metric over a rolling period of two hours.

*

You can specify a minimum valuation period of 1 (5 minutes), and a maximum evaluation * period of 288 (24 hours).

* @public */ evaluationPeriods: number | undefined; /** *

The number of data points that must be not within the specified threshold to trigger the * alarm. If you are setting an "M out of N" alarm, this value (datapointsToAlarm) * is the M.

* @public */ datapointsToAlarm?: number | undefined; /** *

Sets how this alarm will handle missing data points.

*

An alarm can treat missing data in the following ways:

* *

If treatMissingData is not specified, the default behavior of * missing is used.

* @public */ treatMissingData?: TreatMissingData | undefined; /** *

The contact protocols to use for the alarm, such as Email, SMS * (text messaging), or both.

*

A notification is sent via the specified contact protocol if notifications are enabled for * the alarm, and when the alarm is triggered.

*

A notification is not sent if a contact protocol is not specified, if the specified * contact protocol is not configured in the Amazon Web Services Region, or if notifications are * not enabled for the alarm using the notificationEnabled paramater.

*

Use the CreateContactMethod action to configure a contact protocol in an * Amazon Web Services Region.

* @public */ contactProtocols?: ContactProtocol[] | undefined; /** *

The alarm states that trigger a notification.

*

An alarm has the following possible states:

* *

When you specify a notification trigger, the ALARM state must be specified. * The INSUFFICIENT_DATA and OK states can be specified in addition to * the ALARM state.

* *

The notification trigger defaults to ALARM if you don't specify this * parameter.

* @public */ notificationTriggers?: AlarmState[] | undefined; /** *

Indicates whether the alarm is enabled.

*

Notifications are enabled by default if you don't specify this parameter.

* @public */ notificationEnabled?: boolean | undefined; /** *

The tag keys and optional values to add to the alarm during create.

*

Use the TagResource action to tag a resource after it's created.

* @public */ tags?: Tag[] | undefined; } /** * @public */ export interface PutAlarmResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface PutInstancePublicPortsRequest { /** *

An array of objects to describe the ports to open for the specified instance.

* @public */ portInfos: PortInfo[] | undefined; /** *

The name of the instance for which to open ports.

* @public */ instanceName: string | undefined; } /** * @public */ export interface PutInstancePublicPortsResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface RebootInstanceRequest { /** *

The name of the instance to reboot.

* @public */ instanceName: string | undefined; } /** * @public */ export interface RebootInstanceResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface RebootRelationalDatabaseRequest { /** *

The name of your database to reboot.

* @public */ relationalDatabaseName: string | undefined; } /** * @public */ export interface RebootRelationalDatabaseResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface RegisterContainerImageRequest { /** *

The name of the container service for which to register a container image.

* @public */ serviceName: string | undefined; /** *

The label for the container image when it's registered to the container service.

*

Use a descriptive label that you can use to track the different versions of your * registered container images.

*

Use the GetContainerImages action to return the container images registered * to a Lightsail container service. The label is the portion * of the following image name example:

* *

If the name of your container service is mycontainerservice, and the label * that you specify is mystaticwebsite, then the name of the registered container * image will be :mycontainerservice.mystaticwebsite.1.

*

The number at the end of these image name examples represents the version of the * registered container image. If you push and register another container image to the same * Lightsail container service, with the same label, then the version number for the new * registered container image will be 2. If you push and register another container * image, the version number will be 3, and so on.

* @public */ label: string | undefined; /** *

The digest of the container image to be registered.

* @public */ digest: string | undefined; } /** * @public */ export interface RegisterContainerImageResult { /** *

An object that describes a container image that is registered to a Lightsail container * service

* @public */ containerImage?: ContainerImage | undefined; } /** * @public */ export interface ReleaseStaticIpRequest { /** *

The name of the static IP to delete.

* @public */ staticIpName: string | undefined; } /** * @public */ export interface ReleaseStaticIpResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface ResetDistributionCacheRequest { /** *

The name of the distribution for which to reset cache.

*

Use the GetDistributions action to get a list of distribution names that you * can specify.

* @public */ distributionName?: string | undefined; } /** * @public */ export interface ResetDistributionCacheResult { /** *

The status of the reset cache request.

* @public */ status?: string | undefined; /** *

The timestamp of the reset cache request (1479734909.17) in Unix time * format.

* @public */ createTime?: Date | undefined; /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface SendContactMethodVerificationRequest { /** *

The protocol to verify, such as Email or SMS (text * messaging).

* @public */ protocol: ContactMethodVerificationProtocol | undefined; } /** * @public */ export interface SendContactMethodVerificationResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface SetIpAddressTypeRequest { /** *

The resource type.

*

The resource values are Distribution, Instance, and * LoadBalancer.

* *

Distribution-related APIs are available only in the N. Virginia (us-east-1) * Amazon Web Services Region. Set your Amazon Web Services Region configuration to * us-east-1 to create, view, or edit distributions.

*
* @public */ resourceType: ResourceType | undefined; /** *

The name of the resource for which to set the IP address type.

* @public */ resourceName: string | undefined; /** *

The IP address type to set for the specified resource.

*

The possible values are ipv4 for IPv4 only, ipv6 for IPv6 only, * and dualstack for IPv4 and IPv6.

* @public */ ipAddressType: IpAddressType | undefined; /** *

Required parameter to accept the instance bundle update when changing to, and from, * IPv6-only.

* *

An instance bundle will change when switching from dual-stack or * ipv4, to ipv6. It also changes when switching from * ipv6, to dual-stack or ipv4.

*

You must include this parameter in the command to update the bundle. For example, if you * switch from dual-stack to ipv6, the bundle will be updated, and * billing for the IPv6-only instance bundle begins immediately.

*
* @public */ acceptBundleUpdate?: boolean | undefined; } /** * @public */ export interface SetIpAddressTypeResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface SetResourceAccessForBucketRequest { /** *

The name of the Lightsail instance for which to set bucket access. The instance must be * in a running or stopped state.

* @public */ resourceName: string | undefined; /** *

The name of the bucket for which to set access to another Lightsail resource.

* @public */ bucketName: string | undefined; /** *

The access setting.

*

The following access settings are available:

* * @public */ access: ResourceBucketAccess | undefined; } /** * @public */ export interface SetResourceAccessForBucketResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface SetupInstanceHttpsRequest { /** *

The name of the Lightsail instance.

* @public */ instanceName: string | undefined; /** *

The contact method for SSL/TLS certificate renewal alerts. You can enter one email * address.

* @public */ emailAddress: string | undefined; /** *

The name of the domain and subdomains that were specified for the SSL/TLS * certificate.

* @public */ domainNames: string[] | undefined; /** *

The certificate authority that issues the SSL/TLS certificate.

* @public */ certificateProvider: CertificateProvider | undefined; } /** * @public */ export interface SetupInstanceHttpsResult { /** *

The available API operations for SetupInstanceHttps.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface StartGUISessionRequest { /** *

The resource name.

* @public */ resourceName: string | undefined; } /** * @public */ export interface StartGUISessionResult { /** *

The available API operations.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface StartInstanceRequest { /** *

The name of the instance (a virtual private server) to start.

* @public */ instanceName: string | undefined; } /** * @public */ export interface StartInstanceResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface StartRelationalDatabaseRequest { /** *

The name of your database to start.

* @public */ relationalDatabaseName: string | undefined; } /** * @public */ export interface StartRelationalDatabaseResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface StopGUISessionRequest { /** *

The resource name.

* @public */ resourceName: string | undefined; } /** * @public */ export interface StopGUISessionResult { /** *

The available API operations.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface StopInstanceRequest { /** *

The name of the instance (a virtual private server) to stop.

* @public */ instanceName: string | undefined; /** *

When set to True, forces a Lightsail instance that is stuck in a * stopping state to stop.

* *

Only use the force parameter if your instance is stuck in the * stopping state. In any other state, your instance should stop normally * without adding this parameter to your API request.

*
* @public */ force?: boolean | undefined; } /** * @public */ export interface StopInstanceResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface StopRelationalDatabaseRequest { /** *

The name of your database to stop.

* @public */ relationalDatabaseName: string | undefined; /** *

The name of your new database snapshot to be created before stopping your database.

* @public */ relationalDatabaseSnapshotName?: string | undefined; } /** * @public */ export interface StopRelationalDatabaseResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface TagResourceRequest { /** *

The name of the resource to which you are adding tags.

* @public */ resourceName: string | undefined; /** *

The Amazon Resource Name (ARN) of the resource to which you want to add a tag.

* @public */ resourceArn?: string | undefined; /** *

The tag key and optional value.

* @public */ tags: Tag[] | undefined; } /** * @public */ export interface TagResourceResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface TestAlarmRequest { /** *

The name of the alarm to test.

* @public */ alarmName: string | undefined; /** *

The alarm state to test.

*

An alarm has the following possible states that can be tested:

* * @public */ state: AlarmState | undefined; } /** * @public */ export interface TestAlarmResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface UnpeerVpcRequest { } /** * @public */ export interface UnpeerVpcResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface UntagResourceRequest { /** *

The name of the resource from which you are removing a tag.

* @public */ resourceName: string | undefined; /** *

The Amazon Resource Name (ARN) of the resource from which you want to remove a tag.

* @public */ resourceArn?: string | undefined; /** *

The tag keys to delete from the specified resource.

* @public */ tagKeys: string[] | undefined; } /** * @public */ export interface UntagResourceResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface UpdateBucketRequest { /** *

The name of the bucket to update.

* @public */ bucketName: string | undefined; /** *

An object that sets the public accessibility of objects in the specified bucket.

* @public */ accessRules?: AccessRules | undefined; /** *

Specifies whether to enable or suspend versioning of objects in the bucket.

*

The following options can be specified:

* * @public */ versioning?: string | undefined; /** *

An array of strings to specify the Amazon Web Services account IDs that can access the * bucket.

*

You can give a maximum of 10 Amazon Web Services accounts access to a bucket.

* @public */ readonlyAccessAccounts?: string[] | undefined; /** *

An object that describes the access log configuration for the bucket.

* @public */ accessLogConfig?: BucketAccessLogConfig | undefined; /** *

Sets the cross-origin resource sharing (CORS) configuration for your bucket. If a CORS configuration exists, it is replaced with the specified configuration. For AWS CLI operations, this parameter can also be passed as a file. For more information, see Configuring cross-origin resource sharing (CORS).

* *

CORS information is only returned in a response when you update the CORS policy.

*
* @public */ cors?: BucketCorsConfig | undefined; } /** * @public */ export interface UpdateBucketResult { /** *

An object that describes the bucket that is updated.

* @public */ bucket?: Bucket | undefined; /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface UpdateBucketBundleRequest { /** *

The name of the bucket for which to update the bundle.

* @public */ bucketName: string | undefined; /** *

The ID of the new bundle to apply to the bucket.

*

Use the GetBucketBundles action to get a list of * bundle IDs that you can specify.

* @public */ bundleId: string | undefined; } /** * @public */ export interface UpdateBucketBundleResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface UpdateContainerServiceRequest { /** *

The name of the container service to update.

* @public */ serviceName: string | undefined; /** *

The power for the container service.

*

The power specifies the amount of memory, vCPUs, and base monthly cost of each node of the * container service. The power and scale of a container service makes * up its configured capacity. To determine the monthly price of your container service, multiply * the base price of the power with the scale (the number of nodes) of * the service.

*

Use the GetContainerServicePowers action to view the specifications of each * power option.

* @public */ power?: ContainerServicePowerName | undefined; /** *

The scale for the container service.

*

The scale specifies the allocated compute nodes of the container service. The * power and scale of a container service makes up its configured * capacity. To determine the monthly price of your container service, multiply the base price of * the power with the scale (the number of nodes) of the * service.

* @public */ scale?: number | undefined; /** *

A Boolean value to indicate whether the container service is disabled.

* @public */ isDisabled?: boolean | undefined; /** *

The public domain names to use with 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 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 CreateCertificate action to create a * certificate for the public domain names you want to use with your container service.

*
*

You can specify public domain names using a string to array map as shown in the example * later on this page.

* @public */ publicDomainNames?: Record | undefined; /** *

An object to describe the configuration for the container service to access private * container image repositories, such as Amazon Elastic Container Registry (Amazon ECR) private * repositories.

*

For more information, see Configuring access to an Amazon ECR private repository for an Amazon Lightsail container service in the Amazon Lightsail Developer Guide.

* @public */ privateRegistryAccess?: PrivateRegistryAccessRequest | undefined; } /** * @public */ export interface UpdateContainerServiceResult { /** *

An object that describes a container service.

* @public */ containerService?: ContainerService | undefined; } /** * @public */ export interface UpdateDistributionRequest { /** *

The name of the distribution to update.

*

Use the GetDistributions action to get a list of distribution names that you * can specify.

* @public */ distributionName: string | undefined; /** *

An object that describes the origin resource for the distribution, such as a Lightsail * instance, bucket, or load balancer.

*

The distribution pulls, caches, and serves content from the origin.

* @public */ origin?: InputOrigin | undefined; /** *

An object that describes the default cache behavior for the distribution.

* @public */ defaultCacheBehavior?: CacheBehavior | undefined; /** *

An object that describes the cache behavior settings for the distribution.

* *

The cacheBehaviorSettings specified in your * UpdateDistributionRequest will replace your distribution's existing * settings.

*
* @public */ cacheBehaviorSettings?: CacheSettings | undefined; /** *

An array of objects that describe the per-path cache behavior for the distribution.

* @public */ cacheBehaviors?: CacheBehaviorPerPath[] | undefined; /** *

Indicates whether to enable the distribution.

* @public */ isEnabled?: boolean | undefined; /** *

Use this parameter to update the minimum TLS protocol version for the SSL/TLS certificate * that's attached to the distribution.

* @public */ viewerMinimumTlsProtocolVersion?: ViewerMinimumTlsProtocolVersionEnum | undefined; /** *

The name of the SSL/TLS certificate that you want to attach to the distribution.

*

Only certificates with a status of ISSUED can be attached to a * distribution.

*

Use the GetCertificates * action to get a list of certificate names that you can specify.

* @public */ certificateName?: string | undefined; /** *

Indicates whether the default SSL/TLS certificate is attached to the distribution. The * default value is true. When true, the distribution uses the default * domain name such as d111111abcdef8.cloudfront.net.

*

Set this value to false to attach a new certificate to the * distribution.

* @public */ useDefaultCertificate?: boolean | undefined; } /** * @public */ export interface UpdateDistributionResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface UpdateDistributionBundleRequest { /** *

The name of the distribution for which to update the bundle.

*

Use the GetDistributions action to get a list of distribution names that you * can specify.

* @public */ distributionName?: string | undefined; /** *

The bundle ID of the new bundle to apply to your distribution.

*

Use the GetDistributionBundles action to get a list of distribution bundle * IDs that you can specify.

* @public */ bundleId?: string | undefined; } /** * @public */ export interface UpdateDistributionBundleResult { /** *

An object that describes the result of the action, such as the status of the request, the * timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface UpdateDomainEntryRequest { /** *

The name of the domain recordset to update.

* @public */ domainName: string | undefined; /** *

An array of key-value pairs containing information about the domain entry.

* @public */ domainEntry: DomainEntry | undefined; } /** * @public */ export interface UpdateDomainEntryResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface UpdateInstanceMetadataOptionsRequest { /** *

The name of the instance for which to update metadata parameters.

* @public */ instanceName: string | undefined; /** *

The state of token usage for your instance metadata requests. If the parameter is not * specified in the request, the default state is optional.

*

If the state is optional, you can choose whether to retrieve instance * metadata with a signed token header on your request. If you retrieve the IAM role credentials * without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role * credentials by using a valid signed token, the version 2.0 role credentials are * returned.

*

If the state is required, you must send a signed token header with all * instance metadata retrieval requests. In this state, retrieving the IAM role credential always * returns the version 2.0 credentials. The version 1.0 credentials are not available.

* @public */ httpTokens?: HttpTokens | undefined; /** *

Enables or disables the HTTP metadata endpoint on your instances. If this parameter is not * specified, the existing state is maintained.

*

If you specify a value of disabled, you cannot access your instance * metadata.

* @public */ httpEndpoint?: HttpEndpoint | undefined; /** *

The desired HTTP PUT response hop limit for instance metadata requests. A larger number * means that the instance metadata requests can travel farther. If no parameter is specified, * the existing state is maintained.

* @public */ httpPutResponseHopLimit?: number | undefined; /** *

Enables or disables the IPv6 endpoint for the instance metadata service. This setting * applies only when the HTTP metadata endpoint is enabled.

* *

This parameter is available only for instances in the Europe (Stockholm) Amazon Web Services Region (eu-north-1).

*
* @public */ httpProtocolIpv6?: HttpProtocolIpv6 | undefined; } /** * @public */ export interface UpdateInstanceMetadataOptionsResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operation?: Operation | undefined; } /** * @public */ export interface UpdateLoadBalancerAttributeRequest { /** *

The name of the load balancer that you want to modify * (my-load-balancer.

* @public */ loadBalancerName: string | undefined; /** *

The name of the attribute you want to update.

* @public */ attributeName: LoadBalancerAttributeName | undefined; /** *

The value that you want to specify for the attribute name.

*

The following values are supported depending on what you specify for the * attributeName request parameter:

* * @public */ attributeValue: string | undefined; } /** * @public */ export interface UpdateLoadBalancerAttributeResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface UpdateRelationalDatabaseRequest { /** *

The name of your Lightsail database resource to update.

* @public */ relationalDatabaseName: string | undefined; /** *

The password for the master user. The password can include any printable ASCII character * except "/", """, or "@".

*

MySQL *

*

Constraints: Must contain from 8 to 41 characters.

*

* PostgreSQL *

*

Constraints: Must contain from 8 to 128 characters.

* @public */ masterUserPassword?: string | undefined; /** *

When true, the master user password is changed to a new strong password * generated by Lightsail.

*

Use the get relational database master user password operation to get the new * password.

* @public */ rotateMasterUserPassword?: boolean | undefined; /** *

The daily time range during which automated backups are created for your database if * automated backups are enabled.

*

Constraints:

* * @public */ preferredBackupWindow?: string | undefined; /** *

The weekly time range during which system maintenance can occur on your database.

*

The default is a 30-minute window selected at random from an 8-hour block of time for each * Amazon Web Services Region, occurring on a random day of the week.

*

Constraints:

* * @public */ preferredMaintenanceWindow?: string | undefined; /** *

When true, enables automated backup retention for your database.

*

Updates are applied during the next maintenance window because this can result in an * outage.

* @public */ enableBackupRetention?: boolean | undefined; /** *

When true, disables automated backup retention for your database.

*

Disabling backup retention deletes all automated database backups. Before disabling this, * you may want to create a snapshot of your database using the create relational database * snapshot operation.

*

Updates are applied during the next maintenance window because this can result in an * outage.

* @public */ disableBackupRetention?: boolean | undefined; /** *

Specifies the accessibility options for your database. A value of true * specifies a database that is available to resources outside of your Lightsail account. A * value of false specifies a database that is available only to your Lightsail * resources in the same region as your database.

* @public */ publiclyAccessible?: boolean | undefined; /** *

When true, applies changes immediately. When false, applies * changes during the preferred maintenance window. Some changes may cause an outage.

*

Default: false *

* @public */ applyImmediately?: boolean | undefined; /** *

Indicates the certificate that needs to be associated with the database.

* @public */ caCertificateIdentifier?: string | undefined; /** *

This parameter is used to update the major version of the database. Enter the * blueprintId for the major version that you want to update to.

*

Use the GetRelationalDatabaseBlueprints action to get a list of available blueprint * IDs.

* @public */ relationalDatabaseBlueprintId?: string | undefined; } /** * @public */ export interface UpdateRelationalDatabaseResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; } /** * @public */ export interface UpdateRelationalDatabaseParametersRequest { /** *

The name of your database for which to update parameters.

* @public */ relationalDatabaseName: string | undefined; /** *

The database parameters to update.

* @public */ parameters: RelationalDatabaseParameter[] | undefined; } /** * @public */ export interface UpdateRelationalDatabaseParametersResult { /** *

An array of objects that describe the result of the action, such as the status of the * request, the timestamp of the request, and the resources affected by the request.

* @public */ operations?: Operation[] | undefined; }