Lightsail

public struct Lightsail

Client object for interacting with AWS Lightsail service.

Amazon Lightsail is the easiest way to get started with Amazon Web Services (AWS) for developers who need to build websites or web applications. It includes everything you need to launch your project quickly – instances (virtual private servers), managed databases, SSD-based block storage, static IP addresses, load balancers, content delivery network (CDN) distributions, DNS management of registered domains, and snapshots (backups) – for a low, predictable monthly price. You can manage your Lightsail resources using the Lightsail console, Lightsail API, AWS Command Line Interface (AWS CLI), or SDKs. For more information about Lightsail concepts and tasks, see the Lightsail Dev Guide. This API Reference provides detailed information about the actions, data types, parameters, and errors of the Lightsail service. For more information about the supported AWS Regions, endpoints, and service quotas for the Lightsail service, see Amazon Lightsail Endpoints and Quotas in the AWS General Reference.

  • Initialize the Lightsail client

    Declaration

    Swift

    public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, sessionToken: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil, middlewares: [AWSServiceMiddleware] = [], eventLoopGroupProvider: AWSClient.EventLoopGroupProvider = .useAWSClientShared)

    Parameters

    accessKeyId

    Public access key provided by AWS

    secretAccessKey

    Private access key provided by AWS

    sessionToken

    Token provided by STS.AssumeRole() which allows access to another AWS account

    region

    Region of server you want to communicate with

    endpoint

    Custom endpoint URL to use instead of standard AWS servers

    middlewares

    Array of middlewares to apply to requests and responses

    eventLoopGroupProvider

    EventLoopGroup to use. Use useAWSClientShared if the client shall manage its own EventLoopGroup.

  • Allocates a static IP address.

    Declaration

    Swift

    public func allocateStaticIp(_ input: AllocateStaticIpRequest) -> EventLoopFuture<AllocateStaticIpResult>
  • Attaches an SSL/TLS certificate to your Amazon Lightsail content delivery network (CDN) distribution. After the certificate is attached, your distribution accepts HTTPS traffic for all of the domains that are associated with the certificate. Use the CreateCertificate action to create a certificate that you can attach to your distribution. Only certificates created in the us-east-1 AWS Region can be attached to Lightsail distributions. Lightsail distributions are global resources that can reference an origin in any AWS Region, and distribute its content globally. However, all distributions are located in the us-east-1 Region.

    Declaration

    Swift

    public func attachCertificateToDistribution(_ input: AttachCertificateToDistributionRequest) -> EventLoopFuture<AttachCertificateToDistributionResult>
  • Attaches a block storage disk to a running or stopped Lightsail instance and exposes it to the instance with the specified disk name. The attach disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func attachDisk(_ input: AttachDiskRequest) -> EventLoopFuture<AttachDiskResult>
  • Attaches one or more Lightsail instances to a load balancer. After some time, the instances are attached to the load balancer and the health check status is available. The attach instances to load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func attachInstancesToLoadBalancer(_ input: AttachInstancesToLoadBalancerRequest) -> EventLoopFuture<AttachInstancesToLoadBalancerResult>
  • Attaches a Transport Layer Security (TLS) certificate to your load balancer. TLS is just an updated, more secure version of Secure Socket Layer (SSL). Once you create and validate your certificate, you can attach it to your load balancer. You can also use this API to rotate the certificates on your account. Use the AttachLoadBalancerTlsCertificate action with the non-attached certificate, and it will replace the existing one and become the attached certificate. The AttachLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func attachLoadBalancerTlsCertificate(_ input: AttachLoadBalancerTlsCertificateRequest) -> EventLoopFuture<AttachLoadBalancerTlsCertificateResult>
  • Attaches a static IP address to a specific Amazon Lightsail instance.

    Declaration

    Swift

    public func attachStaticIp(_ input: AttachStaticIpRequest) -> EventLoopFuture<AttachStaticIpResult>
  • Closes ports for a specific Amazon Lightsail instance. The CloseInstancePublicPorts action supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func closeInstancePublicPorts(_ input: CloseInstancePublicPortsRequest) -> EventLoopFuture<CloseInstancePublicPortsResult>
  • Copies a manual snapshot of an instance or disk as another manual snapshot, or copies an automatic snapshot of an instance or disk as a manual snapshot. This operation can also be used to copy a manual or automatic snapshot of an instance or a disk from one AWS Region to another in Amazon Lightsail. When copying a manual snapshot, be sure to define the source region, source snapshot name, and target snapshot name parameters. When copying an automatic snapshot, be sure to define the source region, source resource name, target snapshot name, and either the restore date or the use latest restorable auto snapshot parameters.

    Declaration

    Swift

    public func copySnapshot(_ input: CopySnapshotRequest) -> EventLoopFuture<CopySnapshotResult>
  • Creates an SSL/TLS certificate for a Amazon Lightsail content delivery network (CDN) distribution. After the certificate is created, use the AttachCertificateToDistribution action to attach the certificate to your distribution. Only certificates created in the us-east-1 AWS Region can be attached to Lightsail distributions. Lightsail distributions are global resources that can reference an origin in any AWS Region, and distribute its content globally. However, all distributions are located in the us-east-1 Region.

    Declaration

    Swift

    public func createCertificate(_ input: CreateCertificateRequest) -> EventLoopFuture<CreateCertificateResult>
  • Creates an AWS CloudFormation stack, which creates a new Amazon EC2 instance from an exported Amazon Lightsail snapshot. This operation results in a CloudFormation stack record that can be used to track the AWS CloudFormation stack created. Use the get cloud formation stack records operation to get a list of the CloudFormation stacks created. Wait until after your new Amazon EC2 instance is created before running the create cloud formation stack operation again with the same export snapshot record.

    Declaration

    Swift

    public func createCloudFormationStack(_ input: CreateCloudFormationStackRequest) -> EventLoopFuture<CreateCloudFormationStackResult>
  • Creates an email or SMS text message contact method. A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

    Declaration

    Swift

    public func createContactMethod(_ input: CreateContactMethodRequest) -> EventLoopFuture<CreateContactMethodResult>
  • Creates a block storage disk that can be attached to an Amazon Lightsail instance in the same Availability Zone (e.g., us-east-2a). The create disk operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createDisk(_ input: CreateDiskRequest) -> EventLoopFuture<CreateDiskResult>
  • Creates a block storage disk from a manual or automatic snapshot of a disk. The resulting disk can be attached to an Amazon Lightsail instance in the same Availability Zone (e.g., us-east-2a). The create disk from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by disk snapshot name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createDiskFromSnapshot(_ input: CreateDiskFromSnapshotRequest) -> EventLoopFuture<CreateDiskFromSnapshotResult>
  • Creates a snapshot of a block storage disk. You can use snapshots for backups, to make copies of disks, and to save data before shutting down a Lightsail instance. You can take a snapshot of an attached disk that is in use; however, snapshots only capture data that has been written to your disk at the time the snapshot command is issued. This may exclude any data that has been cached by any applications or the operating system. If you can pause any file systems on the disk long enough to take a snapshot, your snapshot should be complete. Nevertheless, if you cannot pause all file writes to the disk, you should unmount the disk from within the Lightsail instance, issue the create disk snapshot command, and then remount the disk to ensure a consistent and complete snapshot. You may remount and use your disk while the snapshot status is pending. You can also use this operation to create a snapshot of an instance’s system volume. You might want to do this, for example, to recover data from the system volume of a botched instance or to create a backup of the system volume like you would for a block storage disk. To create a snapshot of a system volume, just define the instance name parameter when issuing the snapshot command, and a snapshot of the defined instance’s system volume will be created. After the snapshot is available, you can create a block storage disk from the snapshot and attach it to a running instance to access the data on the disk. The create disk snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createDiskSnapshot(_ input: CreateDiskSnapshotRequest) -> EventLoopFuture<CreateDiskSnapshotResult>
  • Creates an Amazon Lightsail content delivery network (CDN) distribution. A distribution is a globally distributed network of caching servers that improve the performance of your website or web application hosted on a Lightsail instance. For more information, see Content delivery networks in Amazon Lightsail.

    Declaration

    Swift

    public func createDistribution(_ input: CreateDistributionRequest) -> EventLoopFuture<CreateDistributionResult>
  • Creates a domain resource for the specified domain (e.g., example.com). The create domain operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createDomain(_ input: CreateDomainRequest) -> EventLoopFuture<CreateDomainResult>
  • Creates one of the following entry records associated with the domain: Address (A), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT). The create domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createDomainEntry(_ input: CreateDomainEntryRequest) -> EventLoopFuture<CreateDomainEntryResult>
  • Creates a snapshot of a specific virtual private server, or instance. You can use a snapshot to create a new instance that is based on that snapshot. The create instance snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createInstanceSnapshot(_ input: CreateInstanceSnapshotRequest) -> EventLoopFuture<CreateInstanceSnapshotResult>
  • Creates one or more Amazon Lightsail instances. The create instances operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createInstances(_ input: CreateInstancesRequest) -> EventLoopFuture<CreateInstancesResult>
  • Creates one or more new instances from a manual or automatic snapshot of an instance. The create instances from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by instance snapshot name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createInstancesFromSnapshot(_ input: CreateInstancesFromSnapshotRequest) -> EventLoopFuture<CreateInstancesFromSnapshotResult>
  • Creates an SSH key pair. The create key pair operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createKeyPair(_ input: CreateKeyPairRequest) -> EventLoopFuture<CreateKeyPairResult>
  • Creates a Lightsail load balancer. To learn more about deciding whether to load balance your application, see Configure your Lightsail instances for load balancing. You can create up to 5 load balancers per AWS Region in your account. When you create a load balancer, you can specify a unique name and port settings. To change additional load balancer settings, use the UpdateLoadBalancerAttribute operation. The create load balancer operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createLoadBalancer(_ input: CreateLoadBalancerRequest) -> EventLoopFuture<CreateLoadBalancerResult>
  • Creates a Lightsail load balancer TLS certificate. TLS is just an updated, more secure version of Secure Socket Layer (SSL). The CreateLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createLoadBalancerTlsCertificate(_ input: CreateLoadBalancerTlsCertificateRequest) -> EventLoopFuture<CreateLoadBalancerTlsCertificateResult>
  • Creates a new database in Amazon Lightsail. The create relational database operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createRelationalDatabase(_ input: CreateRelationalDatabaseRequest) -> EventLoopFuture<CreateRelationalDatabaseResult>
  • Creates a new database from an existing database snapshot in Amazon Lightsail. You can create a new database from a snapshot in if something goes wrong with your original database, or to change it to a different plan, such as a high availability or standard plan. The create relational database from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by relationalDatabaseSnapshotName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createRelationalDatabaseFromSnapshot(_ input: CreateRelationalDatabaseFromSnapshotRequest) -> EventLoopFuture<CreateRelationalDatabaseFromSnapshotResult>
  • Creates a snapshot of your database in Amazon Lightsail. You can use snapshots for backups, to make copies of a database, and to save data before deleting a database. The create relational database snapshot operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func createRelationalDatabaseSnapshot(_ input: CreateRelationalDatabaseSnapshotRequest) -> EventLoopFuture<CreateRelationalDatabaseSnapshotResult>
  • Deletes an alarm. An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail.

    Declaration

    Swift

    public func deleteAlarm(_ input: DeleteAlarmRequest) -> EventLoopFuture<DeleteAlarmResult>
  • Deletes an automatic snapshot of an instance or disk. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteAutoSnapshot(_ input: DeleteAutoSnapshotRequest) -> EventLoopFuture<DeleteAutoSnapshotResult>
  • Deletes an SSL/TLS certificate for your Amazon Lightsail content delivery network (CDN) distribution. Certificates that are currently attached to a distribution cannot be deleted. Use the DetachCertificateFromDistribution action to detach a certificate from a distribution.

    Declaration

    Swift

    public func deleteCertificate(_ input: DeleteCertificateRequest) -> EventLoopFuture<DeleteCertificateResult>
  • Deletes a contact method. A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

    Declaration

    Swift

    public func deleteContactMethod(_ input: DeleteContactMethodRequest) -> EventLoopFuture<DeleteContactMethodResult>
  • Deletes the specified block storage disk. The disk must be in the available state (not attached to a Lightsail instance). The disk may remain in the deleting state for several minutes. The delete disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteDisk(_ input: DeleteDiskRequest) -> EventLoopFuture<DeleteDiskResult>
  • Deletes the specified disk snapshot. When you make periodic snapshots of a disk, the snapshots are incremental, and only the blocks on the device that have changed since your last snapshot are saved in the new snapshot. When you delete a snapshot, only the data not needed for any other snapshot is removed. So regardless of which prior snapshots have been deleted, all active snapshots will have access to all the information needed to restore the disk. The delete disk snapshot operation supports tag-based access control via resource tags applied to the resource identified by disk snapshot name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteDiskSnapshot(_ input: DeleteDiskSnapshotRequest) -> EventLoopFuture<DeleteDiskSnapshotResult>
  • Deletes your Amazon Lightsail content delivery network (CDN) distribution.

    Declaration

    Swift

    public func deleteDistribution(_ input: DeleteDistributionRequest) -> EventLoopFuture<DeleteDistributionResult>
  • Deletes the specified domain recordset and all of its domain records. The delete domain operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteDomain(_ input: DeleteDomainRequest) -> EventLoopFuture<DeleteDomainResult>
  • Deletes a specific domain entry. The delete domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteDomainEntry(_ input: DeleteDomainEntryRequest) -> EventLoopFuture<DeleteDomainEntryResult>
  • Deletes an Amazon Lightsail instance. The delete instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteInstance(_ input: DeleteInstanceRequest) -> EventLoopFuture<DeleteInstanceResult>
  • Deletes a specific snapshot of a virtual private server (or instance). The delete instance snapshot operation supports tag-based access control via resource tags applied to the resource identified by instance snapshot name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteInstanceSnapshot(_ input: DeleteInstanceSnapshotRequest) -> EventLoopFuture<DeleteInstanceSnapshotResult>
  • Deletes a specific SSH key pair. The delete key pair operation supports tag-based access control via resource tags applied to the resource identified by key pair name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteKeyPair(_ input: DeleteKeyPairRequest) -> EventLoopFuture<DeleteKeyPairResult>
  • Deletes the known host key or certificate used by the Amazon Lightsail browser-based SSH or RDP clients to authenticate an instance. This operation enables the Lightsail browser-based SSH or RDP clients to connect to the instance after a host key mismatch. Perform this operation only if you were expecting the host key or certificate mismatch or if you are familiar with the new host key or certificate on the instance. For more information, see Troubleshooting connection issues when using the Amazon Lightsail browser-based SSH or RDP client.

    Declaration

    Swift

    public func deleteKnownHostKeys(_ input: DeleteKnownHostKeysRequest) -> EventLoopFuture<DeleteKnownHostKeysResult>
  • Deletes a Lightsail load balancer and all its associated SSL/TLS certificates. Once the load balancer is deleted, you will need to create a new load balancer, create a new certificate, and verify domain ownership again. The delete load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteLoadBalancer(_ input: DeleteLoadBalancerRequest) -> EventLoopFuture<DeleteLoadBalancerResult>
  • Deletes an SSL/TLS certificate associated with a Lightsail load balancer. The DeleteLoadBalancerTlsCertificate operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteLoadBalancerTlsCertificate(_ input: DeleteLoadBalancerTlsCertificateRequest) -> EventLoopFuture<DeleteLoadBalancerTlsCertificateResult>
  • Deletes a database in Amazon Lightsail. The delete relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteRelationalDatabase(_ input: DeleteRelationalDatabaseRequest) -> EventLoopFuture<DeleteRelationalDatabaseResult>
  • Deletes a database snapshot in Amazon Lightsail. The delete relational database snapshot operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func deleteRelationalDatabaseSnapshot(_ input: DeleteRelationalDatabaseSnapshotRequest) -> EventLoopFuture<DeleteRelationalDatabaseSnapshotResult>
  • Detaches an SSL/TLS certificate from your Amazon Lightsail content delivery network (CDN) distribution. After the certificate is detached, your distribution stops accepting traffic for all of the domains that are associated with the certificate.

    Declaration

    Swift

    public func detachCertificateFromDistribution(_ input: DetachCertificateFromDistributionRequest) -> EventLoopFuture<DetachCertificateFromDistributionResult>
  • Detaches a stopped block storage disk from a Lightsail instance. Make sure to unmount any file systems on the device within your operating system before stopping the instance and detaching the disk. The detach disk operation supports tag-based access control via resource tags applied to the resource identified by disk name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func detachDisk(_ input: DetachDiskRequest) -> EventLoopFuture<DetachDiskResult>
  • Detaches the specified instances from a Lightsail load balancer. This operation waits until the instances are no longer needed before they are detached from the load balancer. The detach instances from load balancer operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func detachInstancesFromLoadBalancer(_ input: DetachInstancesFromLoadBalancerRequest) -> EventLoopFuture<DetachInstancesFromLoadBalancerResult>
  • Detaches a static IP from the Amazon Lightsail instance to which it is attached.

    Declaration

    Swift

    public func detachStaticIp(_ input: DetachStaticIpRequest) -> EventLoopFuture<DetachStaticIpResult>
  • Disables an add-on for an Amazon Lightsail resource. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func disableAddOn(_ input: DisableAddOnRequest) -> EventLoopFuture<DisableAddOnResult>
  • Downloads the default SSH key pair from the user’s account.

    Declaration

    Swift

    public func downloadDefaultKeyPair(_ input: DownloadDefaultKeyPairRequest) -> EventLoopFuture<DownloadDefaultKeyPairResult>
  • Enables or modifies an add-on for an Amazon Lightsail resource. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func enableAddOn(_ input: EnableAddOnRequest) -> EventLoopFuture<EnableAddOnResult>
  • Exports an Amazon Lightsail instance or block storage disk snapshot to Amazon Elastic Compute Cloud (Amazon EC2). This operation results in an export snapshot record that can be used with the create cloud formation stack operation to create new Amazon EC2 instances. Exported instance snapshots appear in Amazon EC2 as Amazon Machine Images (AMIs), and the instance system disk appears as an Amazon Elastic Block Store (Amazon EBS) volume. Exported disk snapshots appear in Amazon EC2 as Amazon EBS volumes. Snapshots are exported to the same Amazon Web Services Region in Amazon EC2 as the source Lightsail snapshot. The export snapshot operation supports tag-based access control via resource tags applied to the resource identified by source snapshot name. For more information, see the Lightsail Dev Guide. Use the get instance snapshots or get disk snapshots operations to get a list of snapshots that you can export to Amazon EC2.

    Declaration

    Swift

    public func exportSnapshot(_ input: ExportSnapshotRequest) -> EventLoopFuture<ExportSnapshotResult>
  • Returns the names of all active (not deleted) resources.

    Declaration

    Swift

    public func getActiveNames(_ input: GetActiveNamesRequest) -> EventLoopFuture<GetActiveNamesResult>
  • Returns information about the configured alarms. Specify an alarm name in your request to return information about a specific alarm, or specify a monitored resource name to return information about all alarms for a specific resource. An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail.

    Declaration

    Swift

    public func getAlarms(_ input: GetAlarmsRequest) -> EventLoopFuture<GetAlarmsResult>
  • Returns the available automatic snapshots for an instance or disk. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func getAutoSnapshots(_ input: GetAutoSnapshotsRequest) -> EventLoopFuture<GetAutoSnapshotsResult>
  • Returns the list of available instance images, or blueprints. You can use a blueprint to create a new instance already running a specific operating system, as well as a preinstalled app or development stack. The software each instance is running depends on the blueprint image you choose. Use active blueprints when creating new instances. Inactive blueprints are listed to support customers with existing instances and are not necessarily available to create new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases.

    Declaration

    Swift

    public func getBlueprints(_ input: GetBlueprintsRequest) -> EventLoopFuture<GetBlueprintsResult>
  • Returns the list of bundles that are available for purchase. A bundle describes the specs for your virtual private server (or instance).

    Declaration

    Swift

    public func getBundles(_ input: GetBundlesRequest) -> EventLoopFuture<GetBundlesResult>
  • Returns information about one or more Amazon Lightsail SSL/TLS certificates. To get a summary of a certificate, ommit includeCertificateDetails from your request. The response will include only the certificate Amazon Resource Name (ARN), certificate name, domain name, and tags.

    Declaration

    Swift

    public func getCertificates(_ input: GetCertificatesRequest) -> EventLoopFuture<GetCertificatesResult>
  • Returns the CloudFormation stack record created as a result of the create cloud formation stack operation. An AWS CloudFormation stack is used to create a new Amazon EC2 instance from an exported Lightsail snapshot.

    Declaration

    Swift

    public func getCloudFormationStackRecords(_ input: GetCloudFormationStackRecordsRequest) -> EventLoopFuture<GetCloudFormationStackRecordsResult>
  • Returns information about the configured contact methods. Specify a protocol in your request to return information about a specific contact method. A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail.

    Declaration

    Swift

    public func getContactMethods(_ input: GetContactMethodsRequest) -> EventLoopFuture<GetContactMethodsResult>
  • Returns information about a specific block storage disk.

    Declaration

    Swift

    public func getDisk(_ input: GetDiskRequest) -> EventLoopFuture<GetDiskResult>
  • Returns information about a specific block storage disk snapshot.

    Declaration

    Swift

    public func getDiskSnapshot(_ input: GetDiskSnapshotRequest) -> EventLoopFuture<GetDiskSnapshotResult>
  • Returns information about all block storage disk snapshots in your AWS account and region.

    Declaration

    Swift

    public func getDiskSnapshots(_ input: GetDiskSnapshotsRequest) -> EventLoopFuture<GetDiskSnapshotsResult>
  • Returns information about all block storage disks in your AWS account and region.

    Declaration

    Swift

    public func getDisks(_ input: GetDisksRequest) -> EventLoopFuture<GetDisksResult>
  • Returns the list bundles that can be applied to you Amazon Lightsail content delivery network (CDN) distributions. A distribution bundle specifies the monthly network transfer quota and monthly cost of your dsitribution.

    Declaration

    Swift

    public func getDistributionBundles(_ input: GetDistributionBundlesRequest) -> EventLoopFuture<GetDistributionBundlesResult>
  • Returns the timestamp and status of the last cache reset of a specific Amazon Lightsail content delivery network (CDN) distribution.

    Declaration

    Swift

    public func getDistributionLatestCacheReset(_ input: GetDistributionLatestCacheResetRequest) -> EventLoopFuture<GetDistributionLatestCacheResetResult>
  • Returns the data points of a specific metric for an Amazon Lightsail content delivery network (CDN) distribution. Metrics report the utilization of your resources, and the error counts generated by them. Monitor and collect metric data regularly to maintain the reliability, availability, and performance of your resources.

    Declaration

    Swift

    public func getDistributionMetricData(_ input: GetDistributionMetricDataRequest) -> EventLoopFuture<GetDistributionMetricDataResult>
  • Returns information about one or more of your Amazon Lightsail content delivery network (CDN) distributions.

    Declaration

    Swift

    public func getDistributions(_ input: GetDistributionsRequest) -> EventLoopFuture<GetDistributionsResult>
  • Returns information about a specific domain recordset.

    Declaration

    Swift

    public func getDomain(_ input: GetDomainRequest) -> EventLoopFuture<GetDomainResult>
  • Returns a list of all domains in the user’s account.

    Declaration

    Swift

    public func getDomains(_ input: GetDomainsRequest) -> EventLoopFuture<GetDomainsResult>
  • Returns the export snapshot record created as a result of the export snapshot operation. An export snapshot record can be used to create a new Amazon EC2 instance and its related resources with the create cloud formation stack operation.

    Declaration

    Swift

    public func getExportSnapshotRecords(_ input: GetExportSnapshotRecordsRequest) -> EventLoopFuture<GetExportSnapshotRecordsResult>
  • Returns information about a specific Amazon Lightsail instance, which is a virtual private server.

    Declaration

    Swift

    public func getInstance(_ input: GetInstanceRequest) -> EventLoopFuture<GetInstanceResult>
  • Returns temporary SSH keys you can use to connect to a specific virtual private server, or instance. The get instance access details operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func getInstanceAccessDetails(_ input: GetInstanceAccessDetailsRequest) -> EventLoopFuture<GetInstanceAccessDetailsResult>
  • Returns the data points for the specified Amazon Lightsail instance metric, given an instance name. Metrics report the utilization of your resources, and the error counts generated by them. Monitor and collect metric data regularly to maintain the reliability, availability, and performance of your resources.

    Declaration

    Swift

    public func getInstanceMetricData(_ input: GetInstanceMetricDataRequest) -> EventLoopFuture<GetInstanceMetricDataResult>
  • Returns the firewall port states for a specific Amazon Lightsail instance, the IP addresses allowed to connect to the instance through the ports, and the protocol.

    Declaration

    Swift

    public func getInstancePortStates(_ input: GetInstancePortStatesRequest) -> EventLoopFuture<GetInstancePortStatesResult>
  • Returns information about a specific instance snapshot.

    Declaration

    Swift

    public func getInstanceSnapshot(_ input: GetInstanceSnapshotRequest) -> EventLoopFuture<GetInstanceSnapshotResult>
  • Returns all instance snapshots for the user’s account.

    Declaration

    Swift

    public func getInstanceSnapshots(_ input: GetInstanceSnapshotsRequest) -> EventLoopFuture<GetInstanceSnapshotsResult>
  • Returns the state of a specific instance. Works on one instance at a time.

    Declaration

    Swift

    public func getInstanceState(_ input: GetInstanceStateRequest) -> EventLoopFuture<GetInstanceStateResult>
  • Returns information about all Amazon Lightsail virtual private servers, or instances.

    Declaration

    Swift

    public func getInstances(_ input: GetInstancesRequest) -> EventLoopFuture<GetInstancesResult>
  • Returns information about a specific key pair.

    Declaration

    Swift

    public func getKeyPair(_ input: GetKeyPairRequest) -> EventLoopFuture<GetKeyPairResult>
  • Returns information about all key pairs in the user’s account.

    Declaration

    Swift

    public func getKeyPairs(_ input: GetKeyPairsRequest) -> EventLoopFuture<GetKeyPairsResult>
  • Returns information about the specified Lightsail load balancer.

    Declaration

    Swift

    public func getLoadBalancer(_ input: GetLoadBalancerRequest) -> EventLoopFuture<GetLoadBalancerResult>
  • Returns information about health metrics for your Lightsail load balancer. Metrics report the utilization of your resources, and the error counts generated by them. Monitor and collect metric data regularly to maintain the reliability, availability, and performance of your resources.

    Declaration

    Swift

    public func getLoadBalancerMetricData(_ input: GetLoadBalancerMetricDataRequest) -> EventLoopFuture<GetLoadBalancerMetricDataResult>
  • Returns information about the TLS certificates that are associated with the specified Lightsail load balancer. TLS is just an updated, more secure version of Secure Socket Layer (SSL). You can have a maximum of 2 certificates associated with a Lightsail load balancer. One is active and the other is inactive.

    Declaration

    Swift

    public func getLoadBalancerTlsCertificates(_ input: GetLoadBalancerTlsCertificatesRequest) -> EventLoopFuture<GetLoadBalancerTlsCertificatesResult>
  • Returns information about all load balancers in an account.

    Declaration

    Swift

    public func getLoadBalancers(_ input: GetLoadBalancersRequest) -> EventLoopFuture<GetLoadBalancersResult>
  • Returns information about a specific operation. Operations include events such as when you create an instance, allocate a static IP, attach a static IP, and so on.

    Declaration

    Swift

    public func getOperation(_ input: GetOperationRequest) -> EventLoopFuture<GetOperationResult>
  • Returns information about all operations. Results are returned from oldest to newest, up to a maximum of 200. Results can be paged by making each subsequent call to GetOperations use the maximum (last) statusChangedAt value from the previous request.

    Declaration

    Swift

    public func getOperations(_ input: GetOperationsRequest) -> EventLoopFuture<GetOperationsResult>
  • Gets operations for a specific resource (e.g., an instance or a static IP).

    Declaration

    Swift

    public func getOperationsForResource(_ input: GetOperationsForResourceRequest) -> EventLoopFuture<GetOperationsForResourceResult>
  • Returns a list of all valid regions for Amazon Lightsail. Use the include availability zones parameter to also return the Availability Zones in a region.

    Declaration

    Swift

    public func getRegions(_ input: GetRegionsRequest) -> EventLoopFuture<GetRegionsResult>
  • Returns information about a specific database in Amazon Lightsail.

    Declaration

    Swift

    public func getRelationalDatabase(_ input: GetRelationalDatabaseRequest) -> EventLoopFuture<GetRelationalDatabaseResult>
  • Returns a list of available database blueprints in Amazon Lightsail. A blueprint describes the major engine version of a database. You can use a blueprint ID to create a new database that runs a specific database engine.

    Declaration

    Swift

    public func getRelationalDatabaseBlueprints(_ input: GetRelationalDatabaseBlueprintsRequest) -> EventLoopFuture<GetRelationalDatabaseBlueprintsResult>
  • Returns the list of bundles that are available in Amazon Lightsail. A bundle describes the performance specifications for a database. You can use a bundle ID to create a new database with explicit performance specifications.

    Declaration

    Swift

    public func getRelationalDatabaseBundles(_ input: GetRelationalDatabaseBundlesRequest) -> EventLoopFuture<GetRelationalDatabaseBundlesResult>
  • Returns a list of events for a specific database in Amazon Lightsail.

    Declaration

    Swift

    public func getRelationalDatabaseEvents(_ input: GetRelationalDatabaseEventsRequest) -> EventLoopFuture<GetRelationalDatabaseEventsResult>
  • Returns a list of log events for a database in Amazon Lightsail.

    Declaration

    Swift

    public func getRelationalDatabaseLogEvents(_ input: GetRelationalDatabaseLogEventsRequest) -> EventLoopFuture<GetRelationalDatabaseLogEventsResult>
  • Returns a list of available log streams for a specific database in Amazon Lightsail.

    Declaration

    Swift

    public func getRelationalDatabaseLogStreams(_ input: GetRelationalDatabaseLogStreamsRequest) -> EventLoopFuture<GetRelationalDatabaseLogStreamsResult>
  • Returns the current, previous, or pending versions of the master user password for a Lightsail database. The GetRelationalDatabaseMasterUserPassword operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName.

    Declaration

    Swift

    public func getRelationalDatabaseMasterUserPassword(_ input: GetRelationalDatabaseMasterUserPasswordRequest) -> EventLoopFuture<GetRelationalDatabaseMasterUserPasswordResult>
  • Returns the data points of the specified metric for a database in Amazon Lightsail. Metrics report the utilization of your resources, and the error counts generated by them. Monitor and collect metric data regularly to maintain the reliability, availability, and performance of your resources.

    Declaration

    Swift

    public func getRelationalDatabaseMetricData(_ input: GetRelationalDatabaseMetricDataRequest) -> EventLoopFuture<GetRelationalDatabaseMetricDataResult>
  • Returns all of the runtime parameters offered by the underlying database software, or engine, for a specific database in Amazon Lightsail. In addition to the parameter names and values, this operation returns other information about each parameter. This information includes whether changes require a reboot, whether the parameter is modifiable, the allowed values, and the data types.

    Declaration

    Swift

    public func getRelationalDatabaseParameters(_ input: GetRelationalDatabaseParametersRequest) -> EventLoopFuture<GetRelationalDatabaseParametersResult>
  • Returns information about a specific database snapshot in Amazon Lightsail.

    Declaration

    Swift

    public func getRelationalDatabaseSnapshot(_ input: GetRelationalDatabaseSnapshotRequest) -> EventLoopFuture<GetRelationalDatabaseSnapshotResult>
  • Returns information about all of your database snapshots in Amazon Lightsail.

    Declaration

    Swift

    public func getRelationalDatabaseSnapshots(_ input: GetRelationalDatabaseSnapshotsRequest) -> EventLoopFuture<GetRelationalDatabaseSnapshotsResult>
  • Returns information about all of your databases in Amazon Lightsail.

    Declaration

    Swift

    public func getRelationalDatabases(_ input: GetRelationalDatabasesRequest) -> EventLoopFuture<GetRelationalDatabasesResult>
  • Returns information about a specific static IP.

    Declaration

    Swift

    public func getStaticIp(_ input: GetStaticIpRequest) -> EventLoopFuture<GetStaticIpResult>
  • Returns information about all static IPs in the user’s account.

    Declaration

    Swift

    public func getStaticIps(_ input: GetStaticIpsRequest) -> EventLoopFuture<GetStaticIpsResult>
  • Imports a public SSH key from a specific key pair.

    Declaration

    Swift

    public func importKeyPair(_ input: ImportKeyPairRequest) -> EventLoopFuture<ImportKeyPairResult>
  • Returns a Boolean value indicating whether your Lightsail VPC is peered.

    Declaration

    Swift

    public func isVpcPeered(_ input: IsVpcPeeredRequest) -> EventLoopFuture<IsVpcPeeredResult>
  • Opens ports for a specific Amazon Lightsail instance, and specifies the IP addresses allowed to connect to the instance through the ports, and the protocol. The OpenInstancePublicPorts action supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func openInstancePublicPorts(_ input: OpenInstancePublicPortsRequest) -> EventLoopFuture<OpenInstancePublicPortsResult>
  • Tries to peer the Lightsail VPC with the user’s default VPC.

    Declaration

    Swift

    public func peerVpc(_ input: PeerVpcRequest) -> EventLoopFuture<PeerVpcResult>
  • Creates or updates an alarm, and associates it with the specified metric. An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail. When this action creates an alarm, the alarm state is immediately set to INSUFFICIENT_DATA. The alarm is then evaluated and its state is set appropriately. Any actions associated with the new state are then executed. When you update an existing alarm, its state is left unchanged, but the update completely overwrites the previous configuration of the alarm. The alarm is then evaluated with the updated configuration.

    Declaration

    Swift

    public func putAlarm(_ input: PutAlarmRequest) -> EventLoopFuture<PutAlarmResult>
  • Opens ports for a specific Amazon Lightsail instance, and specifies the IP addresses allowed to connect to the instance through the ports, and the protocol. This action also closes all currently open ports that are not included in the request. Include all of the ports and the protocols you want to open in your PutInstancePublicPortsrequest. Or use the OpenInstancePublicPorts action to open ports without closing currently open ports. The PutInstancePublicPorts action supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func putInstancePublicPorts(_ input: PutInstancePublicPortsRequest) -> EventLoopFuture<PutInstancePublicPortsResult>
  • Restarts a specific instance. The reboot instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func rebootInstance(_ input: RebootInstanceRequest) -> EventLoopFuture<RebootInstanceResult>
  • Restarts a specific database in Amazon Lightsail. The reboot relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func rebootRelationalDatabase(_ input: RebootRelationalDatabaseRequest) -> EventLoopFuture<RebootRelationalDatabaseResult>
  • Deletes a specific static IP from your account.

    Declaration

    Swift

    public func releaseStaticIp(_ input: ReleaseStaticIpRequest) -> EventLoopFuture<ReleaseStaticIpResult>
  • Deletes currently cached content from your Amazon Lightsail content delivery network (CDN) distribution. After resetting the cache, the next time a content request is made, your distribution pulls, serves, and caches it from the origin.

    Declaration

    Swift

    public func resetDistributionCache(_ input: ResetDistributionCacheRequest) -> EventLoopFuture<ResetDistributionCacheResult>
  • Sends a verification request to an email contact method to ensure it’s owned by the requester. SMS contact methods don’t need to be verified. A contact method is used to send you notifications about your Amazon Lightsail resources. You can add one email address and one mobile phone number contact method in each AWS Region. However, SMS text messaging is not supported in some AWS Regions, and SMS text messages cannot be sent to some countries/regions. For more information, see Notifications in Amazon Lightsail. A verification request is sent to the contact method when you initially create it. Use this action to send another verification request if a previous verification request was deleted, or has expired. Notifications are not sent to an email contact method until after it is verified, and confirmed as valid.

    Declaration

    Swift

    public func sendContactMethodVerification(_ input: SendContactMethodVerificationRequest) -> EventLoopFuture<SendContactMethodVerificationResult>
  • Starts a specific Amazon Lightsail instance from a stopped state. To restart an instance, use the reboot instance operation. When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide. The start instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func startInstance(_ input: StartInstanceRequest) -> EventLoopFuture<StartInstanceResult>
  • Starts a specific database from a stopped state in Amazon Lightsail. To restart a database, use the reboot relational database operation. The start relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func startRelationalDatabase(_ input: StartRelationalDatabaseRequest) -> EventLoopFuture<StartRelationalDatabaseResult>
  • Stops a specific Amazon Lightsail instance that is currently running. When you start a stopped instance, Lightsail assigns a new public IP address to the instance. To use the same IP address after stopping and starting an instance, create a static IP address and attach it to the instance. For more information, see the Lightsail Dev Guide. The stop instance operation supports tag-based access control via resource tags applied to the resource identified by instance name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func stopInstance(_ input: StopInstanceRequest) -> EventLoopFuture<StopInstanceResult>
  • Stops a specific database that is currently running in Amazon Lightsail. The stop relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func stopRelationalDatabase(_ input: StopRelationalDatabaseRequest) -> EventLoopFuture<StopRelationalDatabaseResult>
  • Adds one or more tags to the specified Amazon Lightsail resource. Each resource can have a maximum of 50 tags. Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see the Lightsail Dev Guide. The tag resource operation supports tag-based access control via request tags and resource tags applied to the resource identified by resource name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func tagResource(_ input: TagResourceRequest) -> EventLoopFuture<TagResourceResult>
  • Tests an alarm by displaying a banner on the Amazon Lightsail console. If a notification trigger is configured for the specified alarm, the test also sends a notification to the notification protocol (Email and/or SMS) configured for the alarm. An alarm is used to monitor a single metric for one of your resources. When a metric condition is met, the alarm can notify you by email, SMS text message, and a banner displayed on the Amazon Lightsail console. For more information, see Alarms in Amazon Lightsail.

    Declaration

    Swift

    public func testAlarm(_ input: TestAlarmRequest) -> EventLoopFuture<TestAlarmResult>
  • Attempts to unpeer the Lightsail VPC from the user’s default VPC.

    Declaration

    Swift

    public func unpeerVpc(_ input: UnpeerVpcRequest) -> EventLoopFuture<UnpeerVpcResult>
  • Deletes the specified set of tag keys and their values from the specified Amazon Lightsail resource. The untag resource operation supports tag-based access control via request tags and resource tags applied to the resource identified by resource name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func untagResource(_ input: UntagResourceRequest) -> EventLoopFuture<UntagResourceResult>
  • Updates an existing Amazon Lightsail content delivery network (CDN) distribution. Use this action to update the configuration of your existing distribution

    Declaration

    Swift

    public func updateDistribution(_ input: UpdateDistributionRequest) -> EventLoopFuture<UpdateDistributionResult>
  • Updates the bundle of your Amazon Lightsail content delivery network (CDN) distribution. A distribution bundle specifies the monthly network transfer quota and monthly cost of your dsitribution. Update your distribution’s bundle if your distribution is going over its monthly network transfer quota and is incurring an overage fee. You can update your distribution’s bundle only one time within your monthly AWS billing cycle. To determine if you can update your distribution’s bundle, use the GetDistributions action. The ableToUpdateBundle parameter in the result will indicate whether you can currently update your distribution’s bundle.

    Declaration

    Swift

    public func updateDistributionBundle(_ input: UpdateDistributionBundleRequest) -> EventLoopFuture<UpdateDistributionBundleResult>
  • Updates a domain recordset after it is created. The update domain entry operation supports tag-based access control via resource tags applied to the resource identified by domain name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func updateDomainEntry(_ input: UpdateDomainEntryRequest) -> EventLoopFuture<UpdateDomainEntryResult>
  • Updates the specified attribute for a load balancer. You can only update one attribute at a time. The update load balancer attribute operation supports tag-based access control via resource tags applied to the resource identified by load balancer name. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func updateLoadBalancerAttribute(_ input: UpdateLoadBalancerAttributeRequest) -> EventLoopFuture<UpdateLoadBalancerAttributeResult>
  • Allows the update of one or more attributes of a database in Amazon Lightsail. Updates are applied immediately, or in cases where the updates could result in an outage, are applied during the database’s predefined maintenance window. The update relational database operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func updateRelationalDatabase(_ input: UpdateRelationalDatabaseRequest) -> EventLoopFuture<UpdateRelationalDatabaseResult>
  • Allows the update of one or more parameters of a database in Amazon Lightsail. Parameter updates don’t cause outages; therefore, their application is not subject to the preferred maintenance window. However, there are two ways in which parameter updates are applied: dynamic or pending-reboot. Parameters marked with a dynamic apply type are applied immediately. Parameters marked with a pending-reboot apply type are applied only after the database is rebooted using the reboot relational database operation. The update relational database parameters operation supports tag-based access control via resource tags applied to the resource identified by relationalDatabaseName. For more information, see the Lightsail Dev Guide.

    Declaration

    Swift

    public func updateRelationalDatabaseParameters(_ input: UpdateRelationalDatabaseParametersRequest) -> EventLoopFuture<UpdateRelationalDatabaseParametersResult>