You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

Class: Aws::Lightsail::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::SharedCredentials - Used for loading credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2 IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails to enable retries and extended timeouts.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is search for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test endpoints. This should be avalid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: false

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.

  • :secret_access_key (String)
  • :session_token (String)
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before rasing a Timeout::Error.

  • :http_read_timeout (Integer) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session yeidled by #session_for.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idble before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session yeidled by #session_for.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.



261
262
263
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 261

def initialize(*args)
  super
end

Instance Method Details

#allocate_static_ip(params = {}) ⇒ Types::AllocateStaticIpResult

Allocates a static IP address.

Examples:

Request syntax with placeholder values


resp = client.allocate_static_ip({
  static_ip_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :static_ip_name (required, String)

    The name of the static IP address.

Returns:

See Also:



303
304
305
306
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 303

def allocate_static_ip(params = {}, options = {})
  req = build_request(:allocate_static_ip, params)
  req.send_request(options)
end

#attach_disk(params = {}) ⇒ Types::AttachDiskResult

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 diskName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.attach_disk({
  disk_name: "ResourceName", # required
  instance_name: "ResourceName", # required
  disk_path: "NonEmptyString", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_name (required, String)

    The unique Lightsail disk name (e.g., my-disk).

  • :instance_name (required, String)

    The name of the Lightsail instance where you want to utilize the storage disk.

  • :disk_path (required, String)

    The disk path to expose to the instance (e.g., /dev/xvdf).

Returns:

See Also:



362
363
364
365
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 362

def attach_disk(params = {}, options = {})
  req = build_request(:attach_disk, params)
  req.send_request(options)
end

#attach_instances_to_load_balancer(params = {}) ⇒ Types::AttachInstancesToLoadBalancerResult

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 loadBalancerName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.attach_instances_to_load_balancer({
  load_balancer_name: "ResourceName", # required
  instance_names: ["ResourceName"], # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The name of the load balancer.

  • :instance_names (required, Array<String>)

    An array of strings representing the instance name(s) you want to attach to your load balancer.

    An instance must be running before you can attach it to your load balancer.

    There are no additional limits on the number of instances you can attach to your load balancer, aside from the limit of Lightsail instances you can create in your account (20).

Returns:

See Also:



427
428
429
430
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 427

def attach_instances_to_load_balancer(params = {}, options = {})
  req = build_request(:attach_instances_to_load_balancer, params)
  req.send_request(options)
end

#attach_load_balancer_tls_certificate(params = {}) ⇒ Types::AttachLoadBalancerTlsCertificateResult

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 operation with the non-attached certificate, and it will replace the existing one and become the attached certificate.

The attach load balancer tls certificate operation supports tag-based access control via resource tags applied to the resource identified by loadBalancerName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.attach_load_balancer_tls_certificate({
  load_balancer_name: "ResourceName", # required
  certificate_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The name of the load balancer to which you want to associate the SSL/TLS certificate.

  • :certificate_name (required, String)

    The name of your SSL/TLS certificate.

Returns:

See Also:



491
492
493
494
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 491

def attach_load_balancer_tls_certificate(params = {}, options = {})
  req = build_request(:attach_load_balancer_tls_certificate, params)
  req.send_request(options)
end

#attach_static_ip(params = {}) ⇒ Types::AttachStaticIpResult

Attaches a static IP address to a specific Amazon Lightsail instance.

Examples:

Request syntax with placeholder values


resp = client.attach_static_ip({
  static_ip_name: "ResourceName", # required
  instance_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :static_ip_name (required, String)

    The name of the static IP.

  • :instance_name (required, String)

    The instance name to which you want to attach the static IP address.

Returns:

See Also:



536
537
538
539
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 536

def attach_static_ip(params = {}, options = {})
  req = build_request(:attach_static_ip, params)
  req.send_request(options)
end

#close_instance_public_ports(params = {}) ⇒ Types::CloseInstancePublicPortsResult

Closes the public ports on a specific Amazon Lightsail instance.

The close instance public ports operation supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.close_instance_public_ports({
  port_info: { # required
    from_port: 1,
    to_port: 1,
    protocol: "tcp", # accepts tcp, all, udp
  },
  instance_name: "ResourceName", # required
})

Response structure


resp.operation.id #=> String
resp.operation.resource_name #=> String
resp.operation.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operation.created_at #=> Time
resp.operation.location.availability_zone #=> String
resp.operation.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operation.is_terminal #=> Boolean
resp.operation.operation_details #=> String
resp.operation.operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operation.status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operation.status_changed_at #=> Time
resp.operation.error_code #=> String
resp.operation.error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :port_info (required, Types::PortInfo)

    Information about the public port you are trying to close.

  • :instance_name (required, String)

    The name of the instance on which you're attempting to close the public ports.

Returns:

See Also:



593
594
595
596
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 593

def close_instance_public_ports(params = {}, options = {})
  req = build_request(:close_instance_public_ports, params)
  req.send_request(options)
end

#copy_snapshot(params = {}) ⇒ Types::CopySnapshotResult

Copies an instance or disk snapshot from one AWS Region to another in Amazon Lightsail.

Examples:

Request syntax with placeholder values


resp = client.copy_snapshot({
  source_snapshot_name: "ResourceName", # required
  target_snapshot_name: "ResourceName", # required
  source_region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, ca-central-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :source_snapshot_name (required, String)

    The name of the source instance or disk snapshot to be copied.

  • :target_snapshot_name (required, String)

    The name of the new instance or disk snapshot to be created as a copy.

  • :source_region (required, String)

    The AWS Region where the source snapshot is located.

Returns:

See Also:



643
644
645
646
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 643

def copy_snapshot(params = {}, options = {})
  req = build_request(:copy_snapshot, params)
  req.send_request(options)
end

#create_cloud_formation_stack(params = {}) ⇒ Types::CreateCloudFormationStackResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_cloud_formation_stack({
  instances: [ # required
    {
      source_name: "ResourceName", # required
      instance_type: "NonEmptyString", # required
      port_info_source: "DEFAULT", # required, accepts DEFAULT, INSTANCE, NONE, CLOSED
      user_data: "string",
      availability_zone: "string", # required
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instances (required, Array<Types::InstanceEntry>)

    An array of parameters that will be used to create the new Amazon EC2 instance. You can only pass one instance entry at a time in this array. You will get an invalid parameter error if you pass more than one instance entry in this array.

Returns:

See Also:



703
704
705
706
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 703

def create_cloud_formation_stack(params = {}, options = {})
  req = build_request(:create_cloud_formation_stack, params)
  req.send_request(options)
end

#create_disk(params = {}) ⇒ Types::CreateDiskResult

Creates a block storage disk that can be attached to a Lightsail instance in the same Availability Zone (e.g., us-east-2a). The disk is created in the regional endpoint that you send the HTTP request to. For more information, see Regions and Availability Zones in Lightsail.

The create disk operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.create_disk({
  disk_name: "ResourceName", # required
  availability_zone: "NonEmptyString", # required
  size_in_gb: 1, # required
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_name (required, String)

    The unique Lightsail disk name (e.g., my-disk).

  • :availability_zone (required, String)

    The Availability Zone where you want to create the disk (e.g., us-east-2a). Choose the same Availability Zone as the Lightsail instance where you want to create the disk.

    Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.

  • :size_in_gb (required, Integer)

    The size of the disk in GB (e.g., 32).

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



781
782
783
784
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 781

def create_disk(params = {}, options = {})
  req = build_request(:create_disk, params)
  req.send_request(options)
end

#create_disk_from_snapshot(params = {}) ⇒ Types::CreateDiskFromSnapshotResult

Creates a block storage disk from a disk snapshot that can be attached to a Lightsail instance in the same Availability Zone (e.g., us-east-2a). The disk is created in the regional endpoint that you send the HTTP request to. For more information, see Regions and Availability Zones in Lightsail.

The create disk from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by diskSnapshotName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.create_disk_from_snapshot({
  disk_name: "ResourceName", # required
  disk_snapshot_name: "ResourceName", # required
  availability_zone: "NonEmptyString", # required
  size_in_gb: 1, # required
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_name (required, String)

    The unique Lightsail disk name (e.g., my-disk).

  • :disk_snapshot_name (required, String)

    The name of the disk snapshot (e.g., my-snapshot) from which to create the new storage disk.

  • :availability_zone (required, String)

    The Availability Zone where you want to create the disk (e.g., us-east-2a). Choose the same Availability Zone as the Lightsail instance where you want to create the disk.

    Use the GetRegions operation to list the Availability Zones where Lightsail is currently available.

  • :size_in_gb (required, Integer)

    The size of the disk in GB (e.g., 32).

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



866
867
868
869
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 866

def create_disk_from_snapshot(params = {}, options = {})
  req = build_request(:create_disk_from_snapshot, params)
  req.send_request(options)
end

#create_disk_snapshot(params = {}) ⇒ Types::CreateDiskSnapshotResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_disk_snapshot({
  disk_name: "ResourceName",
  disk_snapshot_name: "ResourceName", # required
  instance_name: "ResourceName",
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_name (String)

    The unique name of the source disk (e.g., Disk-Virginia-1).

    This parameter cannot be defined together with the instance name parameter. The disk name and instance name parameters are mutually exclusive.

  • :disk_snapshot_name (required, String)

    The name of the destination disk snapshot (e.g., my-disk-snapshot) based on the source disk.

  • :instance_name (String)

    The unique name of the source instance (e.g., Amazon_Linux-512MB-Virginia-1). When this is defined, a snapshot of the instance's system volume is created.

    This parameter cannot be defined together with the disk name parameter. The instance name and disk name parameters are mutually exclusive.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



974
975
976
977
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 974

def create_disk_snapshot(params = {}, options = {})
  req = build_request(:create_disk_snapshot, params)
  req.send_request(options)
end

#create_domain(params = {}) ⇒ Types::CreateDomainResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_domain({
  domain_name: "DomainName", # required
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operation.id #=> String
resp.operation.resource_name #=> String
resp.operation.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operation.created_at #=> Time
resp.operation.location.availability_zone #=> String
resp.operation.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operation.is_terminal #=> Boolean
resp.operation.operation_details #=> String
resp.operation.operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operation.status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operation.status_changed_at #=> Time
resp.operation.error_code #=> String
resp.operation.error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name to manage (e.g., example.com).

    You cannot register a new domain name using Lightsail. You must register a domain name using Amazon Route 53 or another domain name registrar. If you have already registered your domain, you can enter its name in this parameter to manage the DNS records for that domain.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



1041
1042
1043
1044
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1041

def create_domain(params = {}, options = {})
  req = build_request(:create_domain, params)
  req.send_request(options)
end

#create_domain_entry(params = {}) ⇒ Types::CreateDomainEntryResult

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 domainName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.create_domain_entry({
  domain_name: "DomainName", # required
  domain_entry: { # required
    id: "NonEmptyString",
    name: "DomainName",
    target: "string",
    is_alias: false,
    type: "DomainEntryType",
    options: {
      "DomainEntryOptionsKeys" => "string",
    },
  },
})

Response structure


resp.operation.id #=> String
resp.operation.resource_name #=> String
resp.operation.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operation.created_at #=> Time
resp.operation.location.availability_zone #=> String
resp.operation.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operation.is_terminal #=> Boolean
resp.operation.operation_details #=> String
resp.operation.operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operation.status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operation.status_changed_at #=> Time
resp.operation.error_code #=> String
resp.operation.error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name (e.g., example.com) for which you want to create the domain entry.

  • :domain_entry (required, Types::DomainEntry)

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

Returns:

See Also:



1106
1107
1108
1109
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1106

def create_domain_entry(params = {}, options = {})
  req = build_request(:create_domain_entry, params)
  req.send_request(options)
end

#create_instance_snapshot(params = {}) ⇒ Types::CreateInstanceSnapshotResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_instance_snapshot({
  instance_snapshot_name: "ResourceName", # required
  instance_name: "ResourceName", # required
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_snapshot_name (required, String)

    The name for your new snapshot.

  • :instance_name (required, String)

    The Lightsail instance on which to base your snapshot.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



1173
1174
1175
1176
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1173

def create_instance_snapshot(params = {}, options = {})
  req = build_request(:create_instance_snapshot, params)
  req.send_request(options)
end

#create_instances(params = {}) ⇒ Types::CreateInstancesResult

Creates one or more Amazon Lightsail virtual private servers, or instances. Create instances using active blueprints. Inactive blueprints are listed to support customers with existing instances but are not necessarily available for launch of new instances. Blueprints are marked inactive when they become outdated due to operating system updates or new application releases. Use the get blueprints operation to return a list of available blueprints.

The create instances operation supports tag-based access control via request tags. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.create_instances({
  instance_names: ["string"], # required
  availability_zone: "string", # required
  custom_image_name: "ResourceName",
  blueprint_id: "NonEmptyString", # required
  bundle_id: "NonEmptyString", # required
  user_data: "string",
  key_pair_name: "ResourceName",
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_names (required, Array<String>)

    The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: ["MyFirstInstance","MySecondInstance"]

  • :availability_zone (required, String)

    The Availability Zone in which to create your instance. Use the following format: us-east-2a (case sensitive). You can get a list of Availability Zones by using the get regions operation. Be sure to add the include Availability Zones parameter to your request.

  • :custom_image_name (String) — default: Deprecated

    The name for your custom image.

    In releases prior to June 12, 2017, this parameter was ignored by the API. It is now deprecated.

  • :blueprint_id (required, String)

    The ID for a virtual private server image (e.g., app_wordpress_4_4 or app_lamp_7_0). Use the get blueprints operation to return a list of available images (or blueprints).

  • :bundle_id (required, String)

    The bundle of specification information for your virtual private server (or instance), including the pricing plan (e.g., micro_1_0).

  • :user_data (String)

    A launch script you can create that configures a server with additional user data. For example, you might want to run apt-get -y update.

    Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide.

  • :key_pair_name (String)

    The name of your key pair.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



1294
1295
1296
1297
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1294

def create_instances(params = {}, options = {})
  req = build_request(:create_instances, params)
  req.send_request(options)
end

#create_instances_from_snapshot(params = {}) ⇒ Types::CreateInstancesFromSnapshotResult

Uses a specific snapshot as a blueprint for creating one or more new instances that are based on that identical configuration.

The create instances from snapshot operation supports tag-based access control via request tags and resource tags applied to the resource identified by instanceSnapshotName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.create_instances_from_snapshot({
  instance_names: ["string"], # required
  attached_disk_mapping: {
    "ResourceName" => [
      {
        original_disk_path: "NonEmptyString",
        new_disk_name: "ResourceName",
      },
    ],
  },
  availability_zone: "string", # required
  instance_snapshot_name: "ResourceName", # required
  bundle_id: "NonEmptyString", # required
  user_data: "string",
  key_pair_name: "ResourceName",
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_names (required, Array<String>)

    The names for your new instances.

  • :attached_disk_mapping (Hash<String,Array>)

    An object containing information about one or more disk mappings.

  • :availability_zone (required, String)

    The Availability Zone where you want to create your instances. Use the following formatting: us-east-2a (case sensitive). You can get a list of Availability Zones by using the get regions operation. Be sure to add the include Availability Zones parameter to your request.

  • :instance_snapshot_name (required, String)

    The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots.

  • :bundle_id (required, String)

    The bundle of specification information for your virtual private server (or instance), including the pricing plan (e.g., micro_1_0).

  • :user_data (String)

    You can create a launch script that configures a server with additional user data. For example, apt-get -y update.

    Depending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu use apt-get, and FreeBSD uses pkg. For a complete list, see the Dev Guide.

  • :key_pair_name (String)

    The name for your key pair.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



1412
1413
1414
1415
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1412

def create_instances_from_snapshot(params = {}, options = {})
  req = build_request(:create_instances_from_snapshot, params)
  req.send_request(options)
end

#create_key_pair(params = {}) ⇒ Types::CreateKeyPairResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_key_pair({
  key_pair_name: "ResourceName", # required
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.key_pair.name #=> String
resp.key_pair.arn #=> String
resp.key_pair.support_code #=> String
resp.key_pair.created_at #=> Time
resp.key_pair.location.availability_zone #=> String
resp.key_pair.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.key_pair.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.key_pair.tags #=> Array
resp.key_pair.tags[0].key #=> String
resp.key_pair.tags[0].value #=> String
resp.key_pair.fingerprint #=> String
resp.public_key_base_64 #=> String
resp.private_key_base_64 #=> String
resp.operation.id #=> String
resp.operation.resource_name #=> String
resp.operation.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operation.created_at #=> Time
resp.operation.location.availability_zone #=> String
resp.operation.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operation.is_terminal #=> Boolean
resp.operation.operation_details #=> String
resp.operation.operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operation.status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operation.status_changed_at #=> Time
resp.operation.error_code #=> String
resp.operation.error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :key_pair_name (required, String)

    The name for your new key pair.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



1487
1488
1489
1490
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1487

def create_key_pair(params = {}, options = {})
  req = build_request(:create_key_pair, params)
  req.send_request(options)
end

#create_load_balancer(params = {}) ⇒ Types::CreateLoadBalancerResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_load_balancer({
  load_balancer_name: "ResourceName", # required
  instance_port: 1, # required
  health_check_path: "string",
  certificate_name: "ResourceName",
  certificate_domain_name: "DomainName",
  certificate_alternative_names: ["DomainName"],
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The name of your load balancer.

  • :instance_port (required, Integer)

    The instance port where you're creating your load balancer.

  • :health_check_path (String)

    The path you provided to perform the load balancer health check. If you didn't specify a health check path, Lightsail uses the root path of your website (e.g., "/").

    You may want to specify a custom health check path other than the root of your application if your home page loads slowly or has a lot of media or scripting on it.

  • :certificate_name (String)

    The name of the SSL/TLS certificate.

    If you specify certificateName, then certificateDomainName is required (and vice-versa).

  • :certificate_domain_name (String)

    The domain name with which your certificate is associated (e.g., example.com).

    If you specify certificateDomainName, then certificateName is required (and vice-versa).

  • :certificate_alternative_names (Array<String>)

    The optional alternative domains and subdomains to use with your SSL/TLS certificate (e.g., www.example.com, example.com, m.example.com, blog.example.com).

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



1591
1592
1593
1594
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1591

def create_load_balancer(params = {}, options = {})
  req = build_request(:create_load_balancer, params)
  req.send_request(options)
end

#create_load_balancer_tls_certificate(params = {}) ⇒ Types::CreateLoadBalancerTlsCertificateResult

Creates a Lightsail load balancer TLS certificate.

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

The create load balancer tls certificate operation supports tag-based access control via resource tags applied to the resource identified by loadBalancerName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.create_load_balancer_tls_certificate({
  load_balancer_name: "ResourceName", # required
  certificate_name: "ResourceName", # required
  certificate_domain_name: "DomainName", # required
  certificate_alternative_names: ["DomainName"],
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The load balancer name where you want to create the SSL/TLS certificate.

  • :certificate_name (required, String)

    The SSL/TLS certificate name.

    You can have up to 10 certificates in your account at one time. Each Lightsail load balancer can have up to 2 certificates associated with it at one time. There is also an overall limit to the number of certificates that can be issue in a 365-day period. For more information, see Limits.

  • :certificate_domain_name (required, String)

    The domain name (e.g., example.com) for your SSL/TLS certificate.

  • :certificate_alternative_names (Array<String>)

    An array of strings listing alternative domains and subdomains for your SSL/TLS certificate. Lightsail will de-dupe the names for you. You can have a maximum of 9 alternative names (in addition to the 1 primary domain). We do not support wildcards (e.g., *.example.com).

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



1682
1683
1684
1685
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1682

def create_load_balancer_tls_certificate(params = {}, options = {})
  req = build_request(:create_load_balancer_tls_certificate, params)
  req.send_request(options)
end

#create_relational_database(params = {}) ⇒ Types::CreateRelationalDatabaseResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_relational_database({
  relational_database_name: "ResourceName", # required
  availability_zone: "string",
  relational_database_blueprint_id: "string", # required
  relational_database_bundle_id: "string", # required
  master_database_name: "string", # required
  master_username: "string", # required
  master_user_password: "SensitiveString",
  preferred_backup_window: "string",
  preferred_maintenance_window: "string",
  publicly_accessible: false,
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :relational_database_name (required, String)

    The name to use for your new database.

    Constraints:

    • Must contain from 2 to 255 alphanumeric characters, or hyphens.

    • The first and last character must be a letter or number.

  • :availability_zone (String)

    The Availability Zone in which to create your new database. Use the us-east-2a case-sensitive format.

    You can get a list of Availability Zones by using the get regions operation. Be sure to add the include relational database Availability Zones parameter to your request.

  • :relational_database_blueprint_id (required, String)

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

    You can get a list of database blueprints IDs by using the get relational database blueprints operation.

  • :relational_database_bundle_id (required, String)

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

    You can get a list of database bundle IDs by using the get relational database bundles operation.

  • :master_database_name (required, String)

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

    Constraints:

    • Must contain from 1 to 64 alphanumeric characters.

    • Cannot be a word reserved by the specified database engine

  • :master_username (required, String)

    The master user name for your new database.

    Constraints:

    • Master user name is required.

    • Must contain from 1 to 16 alphanumeric characters.

    • The first character must be a letter.

    • Cannot be a reserved word for the database engine you choose.

      For more information about reserved words in MySQL 5.6 or 5.7, see the Keywords and Reserved Words articles for MySQL 5.6 or MySQL 5.7 respectively.

  • :master_user_password (String)

    The password for the master user of your new database. The password can include any printable ASCII character except "/", """, or "@".

    Constraints: Must contain 8 to 41 characters.

  • :preferred_backup_window (String)

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

    The default is a 30-minute window selected at random from an 8-hour block of time for each AWS Region. For more information about the preferred backup window time blocks for each region, see the Working With Backups guide in the Amazon Relational Database Service (Amazon RDS) documentation.

    Constraints:

    • Must be in the hh24:mi-hh24:mi format.

      Example: 16:00-16:30

    • Specified in Universal Coordinated Time (UTC).

    • Must not conflict with the preferred maintenance window.

    • Must be at least 30 minutes.

  • :preferred_maintenance_window (String)

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

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

    Constraints:

    • Must be in the ddd:hh24:mi-ddd:hh24:mi format.

    • Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.

    • Must be at least 30 minutes.

    • Specified in Universal Coordinated Time (UTC).

    • Example: Tue:17:00-Tue:17:30

  • :publicly_accessible (Boolean)

    Specifies the accessibility options for your new 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.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



1872
1873
1874
1875
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 1872

def create_relational_database(params = {}, options = {})
  req = build_request(:create_relational_database, params)
  req.send_request(options)
end

#create_relational_database_from_snapshot(params = {}) ⇒ Types::CreateRelationalDatabaseFromSnapshotResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_relational_database_from_snapshot({
  relational_database_name: "ResourceName", # required
  availability_zone: "string",
  publicly_accessible: false,
  relational_database_snapshot_name: "ResourceName",
  relational_database_bundle_id: "string",
  source_relational_database_name: "ResourceName",
  restore_time: Time.now,
  use_latest_restorable_time: false,
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :relational_database_name (required, String)

    The name to use for your new database.

    Constraints:

    • Must contain from 2 to 255 alphanumeric characters, or hyphens.

    • The first and last character must be a letter or number.

  • :availability_zone (String)

    The Availability Zone in which to create your new database. Use the us-east-2a case-sensitive format.

    You can get a list of Availability Zones by using the get regions operation. Be sure to add the include relational database Availability Zones parameter to your request.

  • :publicly_accessible (Boolean)

    Specifies the accessibility options for your new 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.

  • :relational_database_snapshot_name (String)

    The name of the database snapshot from which to create your new database.

  • :relational_database_bundle_id (String)

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

    You can get a list of database bundle IDs by using the get relational database bundles operation.

    When creating a new database from a snapshot, you cannot choose a bundle that is smaller than the bundle of the source database.

  • :source_relational_database_name (String)

    The name of the source database.

  • :restore_time (Time, DateTime, Date, Integer, String)

    The date and time to restore your database from.

    Constraints:

    • Must be before the latest restorable time for the database.

    • Cannot be specified if the use latest restorable time parameter is true.

    • Specified in Universal Coordinated Time (UTC).

    • Specified in the Unix time format.

      For example, if you wish to use a restore time of October 1, 2018, at 8 PM UTC, then you input 1538424000 as the restore time.

  • :use_latest_restorable_time (Boolean)

    Specifies whether your database is restored from the latest backup time. A value of true restores from the latest backup time.

    Default: false

    Constraints: Cannot be specified if the restore time parameter is provided.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



2010
2011
2012
2013
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2010

def create_relational_database_from_snapshot(params = {}, options = {})
  req = build_request(:create_relational_database_from_snapshot, params)
  req.send_request(options)
end

#create_relational_database_snapshot(params = {}) ⇒ Types::CreateRelationalDatabaseSnapshotResult

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.

Examples:

Request syntax with placeholder values


resp = client.create_relational_database_snapshot({
  relational_database_name: "ResourceName", # required
  relational_database_snapshot_name: "ResourceName", # required
  tags: [
    {
      key: "TagKey",
      value: "TagValue",
    },
  ],
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :relational_database_name (required, String)

    The name of the database on which to base your new snapshot.

  • :relational_database_snapshot_name (required, String)

    The name for your new database snapshot.

    Constraints:

    • Must contain from 2 to 255 alphanumeric characters, or hyphens.

    • The first and last character must be a letter or number.

  • :tags (Array<Types::Tag>)

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

    To tag a resource after it has been created, see the tag resource operation.

Returns:

See Also:



2083
2084
2085
2086
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2083

def create_relational_database_snapshot(params = {}, options = {})
  req = build_request(:create_relational_database_snapshot, params)
  req.send_request(options)
end

#delete_disk(params = {}) ⇒ Types::DeleteDiskResult

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 diskName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_disk({
  disk_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_name (required, String)

    The unique name of the disk you want to delete (e.g., my-disk).

Returns:

See Also:



2137
2138
2139
2140
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2137

def delete_disk(params = {}, options = {})
  req = build_request(:delete_disk, params)
  req.send_request(options)
end

#delete_disk_snapshot(params = {}) ⇒ Types::DeleteDiskSnapshotResult

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 diskSnapshotName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_disk_snapshot({
  disk_snapshot_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_snapshot_name (required, String)

    The name of the disk snapshot you want to delete (e.g., my-disk-snapshot).

Returns:

See Also:



2196
2197
2198
2199
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2196

def delete_disk_snapshot(params = {}, options = {})
  req = build_request(:delete_disk_snapshot, params)
  req.send_request(options)
end

#delete_domain(params = {}) ⇒ Types::DeleteDomainResult

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 domainName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_domain({
  domain_name: "DomainName", # required
})

Response structure


resp.operation.id #=> String
resp.operation.resource_name #=> String
resp.operation.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operation.created_at #=> Time
resp.operation.location.availability_zone #=> String
resp.operation.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operation.is_terminal #=> Boolean
resp.operation.operation_details #=> String
resp.operation.operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operation.status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operation.status_changed_at #=> Time
resp.operation.error_code #=> String
resp.operation.error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The specific domain name to delete.

Returns:

See Also:



2244
2245
2246
2247
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2244

def delete_domain(params = {}, options = {})
  req = build_request(:delete_domain, params)
  req.send_request(options)
end

#delete_domain_entry(params = {}) ⇒ Types::DeleteDomainEntryResult

Deletes a specific domain entry.

The delete domain entry operation supports tag-based access control via resource tags applied to the resource identified by domainName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_domain_entry({
  domain_name: "DomainName", # required
  domain_entry: { # required
    id: "NonEmptyString",
    name: "DomainName",
    target: "string",
    is_alias: false,
    type: "DomainEntryType",
    options: {
      "DomainEntryOptionsKeys" => "string",
    },
  },
})

Response structure


resp.operation.id #=> String
resp.operation.resource_name #=> String
resp.operation.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operation.created_at #=> Time
resp.operation.location.availability_zone #=> String
resp.operation.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operation.is_terminal #=> Boolean
resp.operation.operation_details #=> String
resp.operation.operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operation.status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operation.status_changed_at #=> Time
resp.operation.error_code #=> String
resp.operation.error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The name of the domain entry to delete.

  • :domain_entry (required, Types::DomainEntry)

    An array of key-value pairs containing information about your domain entries.

Returns:

See Also:



2306
2307
2308
2309
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2306

def delete_domain_entry(params = {}, options = {})
  req = build_request(:delete_domain_entry, params)
  req.send_request(options)
end

#delete_instance(params = {}) ⇒ Types::DeleteInstanceResult

Deletes a specific Amazon Lightsail virtual private server, or instance.

The delete instance operation supports tag-based access control via resource tags applied to the resource identified by instanceName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_instance({
  instance_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_name (required, String)

    The name of the instance to delete.

Returns:

See Also:



2356
2357
2358
2359
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2356

def delete_instance(params = {}, options = {})
  req = build_request(:delete_instance, params)
  req.send_request(options)
end

#delete_instance_snapshot(params = {}) ⇒ Types::DeleteInstanceSnapshotResult

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 instanceSnapshotName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_instance_snapshot({
  instance_snapshot_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_snapshot_name (required, String)

    The name of the snapshot to delete.

Returns:

See Also:



2407
2408
2409
2410
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2407

def delete_instance_snapshot(params = {}, options = {})
  req = build_request(:delete_instance_snapshot, params)
  req.send_request(options)
end

#delete_key_pair(params = {}) ⇒ Types::DeleteKeyPairResult

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 keyPairName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_key_pair({
  key_pair_name: "ResourceName", # required
})

Response structure


resp.operation.id #=> String
resp.operation.resource_name #=> String
resp.operation.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operation.created_at #=> Time
resp.operation.location.availability_zone #=> String
resp.operation.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operation.is_terminal #=> Boolean
resp.operation.operation_details #=> String
resp.operation.operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operation.status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operation.status_changed_at #=> Time
resp.operation.error_code #=> String
resp.operation.error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :key_pair_name (required, String)

    The name of the key pair to delete.

Returns:

See Also:



2455
2456
2457
2458
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2455

def delete_key_pair(params = {}, options = {})
  req = build_request(:delete_key_pair, params)
  req.send_request(options)
end

#delete_known_host_keys(params = {}) ⇒ Types::DeleteKnownHostKeysResult

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.

Examples:

Request syntax with placeholder values


resp = client.delete_known_host_keys({
  instance_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_name (required, String)

    The name of the instance for which you want to reset the host key or certificate.

Returns:

See Also:



2510
2511
2512
2513
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2510

def delete_known_host_keys(params = {}, options = {})
  req = build_request(:delete_known_host_keys, params)
  req.send_request(options)
end

#delete_load_balancer(params = {}) ⇒ Types::DeleteLoadBalancerResult

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 loadBalancerName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_load_balancer({
  load_balancer_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The name of the load balancer you want to delete.

Returns:

See Also:



2563
2564
2565
2566
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2563

def delete_load_balancer(params = {}, options = {})
  req = build_request(:delete_load_balancer, params)
  req.send_request(options)
end

#delete_load_balancer_tls_certificate(params = {}) ⇒ Types::DeleteLoadBalancerTlsCertificateResult

Deletes an SSL/TLS certificate associated with a Lightsail load balancer.

The delete load balancer tls certificate operation supports tag-based access control via resource tags applied to the resource identified by loadBalancerName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.delete_load_balancer_tls_certificate({
  load_balancer_name: "ResourceName", # required
  certificate_name: "ResourceName", # required
  force: false,
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The load balancer name.

  • :certificate_name (required, String)

    The SSL/TLS certificate name.

  • :force (Boolean)

    When true, forces the deletion of an SSL/TLS certificate.

    There can be two certificates associated with a Lightsail load balancer: the primary and the backup. The force parameter is required when the primary SSL/TLS certificate is in use by an instance attached to the load balancer.

Returns:

See Also:



2627
2628
2629
2630
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2627

def delete_load_balancer_tls_certificate(params = {}, options = {})
  req = build_request(:delete_load_balancer_tls_certificate, params)
  req.send_request(options)
end

#delete_relational_database(params = {}) ⇒ Types::DeleteRelationalDatabaseResult

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.

Examples:

Request syntax with placeholder values


resp = client.delete_relational_database({
  relational_database_name: "ResourceName", # required
  skip_final_snapshot: false,
  final_relational_database_snapshot_name: "ResourceName",
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :relational_database_name (required, String)

    The name of the database that you are deleting.

  • :skip_final_snapshot (Boolean)

    Determines whether a final database snapshot is created before your database is deleted. If true is specified, no database snapshot is created. If false is specified, a database snapshot is created before your database is deleted.

    You must specify the final relational database snapshot name parameter if the skip final snapshot parameter is false.

    Default: false

  • :final_relational_database_snapshot_name (String)

    The name of the database snapshot created if skip final snapshot is false, which is the default value for that parameter.

    Specifying this parameter and also specifying the skip final snapshot parameter to true results in an error.

    Constraints:

    • Must contain from 2 to 255 alphanumeric characters, or hyphens.

    • The first and last character must be a letter or number.

Returns:

See Also:



2705
2706
2707
2708
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2705

def delete_relational_database(params = {}, options = {})
  req = build_request(:delete_relational_database, params)
  req.send_request(options)
end

#delete_relational_database_snapshot(params = {}) ⇒ Types::DeleteRelationalDatabaseSnapshotResult

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.

Examples:

Request syntax with placeholder values


resp = client.delete_relational_database_snapshot({
  relational_database_snapshot_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :relational_database_snapshot_name (required, String)

    The name of the database snapshot that you are deleting.

Returns:

See Also:



2755
2756
2757
2758
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2755

def delete_relational_database_snapshot(params = {}, options = {})
  req = build_request(:delete_relational_database_snapshot, params)
  req.send_request(options)
end

#detach_disk(params = {}) ⇒ Types::DetachDiskResult

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 diskName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.detach_disk({
  disk_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_name (required, String)

    The unique name of the disk you want to detach from your instance (e.g., my-disk).

Returns:

See Also:



2807
2808
2809
2810
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2807

def detach_disk(params = {}, options = {})
  req = build_request(:detach_disk, params)
  req.send_request(options)
end

#detach_instances_from_load_balancer(params = {}) ⇒ Types::DetachInstancesFromLoadBalancerResult

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 loadBalancerName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.detach_instances_from_load_balancer({
  load_balancer_name: "ResourceName", # required
  instance_names: ["ResourceName"], # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The name of the Lightsail load balancer.

  • :instance_names (required, Array<String>)

    An array of strings containing the names of the instances you want to detach from the load balancer.

Returns:

See Also:



2865
2866
2867
2868
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2865

def detach_instances_from_load_balancer(params = {}, options = {})
  req = build_request(:detach_instances_from_load_balancer, params)
  req.send_request(options)
end

#detach_static_ip(params = {}) ⇒ Types::DetachStaticIpResult

Detaches a static IP from the Amazon Lightsail instance to which it is attached.

Examples:

Request syntax with placeholder values


resp = client.detach_static_ip({
  static_ip_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :static_ip_name (required, String)

    The name of the static IP to detach from the instance.

Returns:

See Also:



2907
2908
2909
2910
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2907

def detach_static_ip(params = {}, options = {})
  req = build_request(:detach_static_ip, params)
  req.send_request(options)
end

#download_default_key_pair(params = {}) ⇒ Types::DownloadDefaultKeyPairResult

Downloads the default SSH key pair from the user's account.

Examples:

Response structure


resp.public_key_base_64 #=> String
resp.private_key_base_64 #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



2928
2929
2930
2931
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2928

def download_default_key_pair(params = {}, options = {})
  req = build_request(:download_default_key_pair, params)
  req.send_request(options)
end

#export_snapshot(params = {}) ⇒ Types::ExportSnapshotResult

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 sourceSnapshotName. 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.

Examples:

Request syntax with placeholder values


resp = client.export_snapshot({
  source_snapshot_name: "ResourceName", # required
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operations[0].status_changed_at #=> Time
resp.operations[0].error_code #=> String
resp.operations[0].error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :source_snapshot_name (required, String)

    The name of the instance or disk snapshot to be exported to Amazon EC2.

Returns:

See Also:



2996
2997
2998
2999
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 2996

def export_snapshot(params = {}, options = {})
  req = build_request(:export_snapshot, params)
  req.send_request(options)
end

#get_active_names(params = {}) ⇒ Types::GetActiveNamesResult

Returns the names of all active (not deleted) resources.

Examples:

Request syntax with placeholder values


resp = client.get_active_names({
  page_token: "string",
})

Response structure


resp.active_names #=> Array
resp.active_names[0] #=> String
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for paginating results from your get active names request.

Returns:

See Also:



3028
3029
3030
3031
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3028

def get_active_names(params = {}, options = {})
  req = build_request(:get_active_names, params)
  req.send_request(options)
end

#get_blueprints(params = {}) ⇒ Types::GetBlueprintsResult

Returns the list of available instance images, or blueprints. You can use a blueprint to create a new virtual private server 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.

Examples:

Request syntax with placeholder values


resp = client.get_blueprints({
  include_inactive: false,
  page_token: "string",
})

Response structure


resp.blueprints #=> Array
resp.blueprints[0].blueprint_id #=> String
resp.blueprints[0].name #=> String
resp.blueprints[0].group #=> String
resp.blueprints[0].type #=> String, one of "os", "app"
resp.blueprints[0].description #=> String
resp.blueprints[0].is_active #=> Boolean
resp.blueprints[0].min_power #=> Integer
resp.blueprints[0].version #=> String
resp.blueprints[0].version_code #=> String
resp.blueprints[0].product_url #=> String
resp.blueprints[0].license_url #=> String
resp.blueprints[0].platform #=> String, one of "LINUX_UNIX", "WINDOWS"
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :include_inactive (Boolean)

    A Boolean value indicating whether to include inactive results in your request.

  • :page_token (String)

    A token used for advancing to the next page of results from your get blueprints request.

Returns:

See Also:



3080
3081
3082
3083
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3080

def get_blueprints(params = {}, options = {})
  req = build_request(:get_blueprints, params)
  req.send_request(options)
end

#get_bundles(params = {}) ⇒ Types::GetBundlesResult

Returns the list of bundles that are available for purchase. A bundle describes the specs for your virtual private server (or instance).

Examples:

Request syntax with placeholder values


resp = client.get_bundles({
  include_inactive: false,
  page_token: "string",
})

Response structure


resp.bundles #=> Array
resp.bundles[0].price #=> Float
resp.bundles[0].cpu_count #=> Integer
resp.bundles[0].disk_size_in_gb #=> Integer
resp.bundles[0].bundle_id #=> String
resp.bundles[0].instance_type #=> String
resp.bundles[0].is_active #=> Boolean
resp.bundles[0].name #=> String
resp.bundles[0].power #=> Integer
resp.bundles[0].ram_size_in_gb #=> Float
resp.bundles[0].transfer_per_month_in_gb #=> Integer
resp.bundles[0].supported_platforms #=> Array
resp.bundles[0].supported_platforms[0] #=> String, one of "LINUX_UNIX", "WINDOWS"
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :include_inactive (Boolean)

    A Boolean value that indicates whether to include inactive bundle results in your request.

  • :page_token (String)

    A token used for advancing to the next page of results from your get bundles request.

Returns:

See Also:



3129
3130
3131
3132
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3129

def get_bundles(params = {}, options = {})
  req = build_request(:get_bundles, params)
  req.send_request(options)
end

#get_cloud_formation_stack_records(params = {}) ⇒ Types::GetCloudFormationStackRecordsResult

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.

Examples:

Request syntax with placeholder values


resp = client.get_cloud_formation_stack_records({
  page_token: "string",
})

Response structure


resp.cloud_formation_stack_records #=> Array
resp.cloud_formation_stack_records[0].name #=> String
resp.cloud_formation_stack_records[0].arn #=> String
resp.cloud_formation_stack_records[0].created_at #=> Time
resp.cloud_formation_stack_records[0].location.availability_zone #=> String
resp.cloud_formation_stack_records[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.cloud_formation_stack_records[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.cloud_formation_stack_records[0].state #=> String, one of "Started", "Succeeded", "Failed"
resp.cloud_formation_stack_records[0].source_info #=> Array
resp.cloud_formation_stack_records[0].source_info[0].resource_type #=> String, one of "ExportSnapshotRecord"
resp.cloud_formation_stack_records[0].source_info[0].name #=> String
resp.cloud_formation_stack_records[0].source_info[0].arn #=> String
resp.cloud_formation_stack_records[0].destination_info.id #=> String
resp.cloud_formation_stack_records[0].destination_info.service #=> String
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for advancing to a specific page of results for your get cloud formation stack records request.

Returns:

See Also:



3177
3178
3179
3180
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3177

def get_cloud_formation_stack_records(params = {}, options = {})
  req = build_request(:get_cloud_formation_stack_records, params)
  req.send_request(options)
end

#get_disk(params = {}) ⇒ Types::GetDiskResult

Returns information about a specific block storage disk.

Examples:

Request syntax with placeholder values


resp = client.get_disk({
  disk_name: "ResourceName", # required
})

Response structure


resp.disk.name #=> String
resp.disk.arn #=> String
resp.disk.support_code #=> String
resp.disk.created_at #=> Time
resp.disk.location.availability_zone #=> String
resp.disk.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.disk.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.disk.tags #=> Array
resp.disk.tags[0].key #=> String
resp.disk.tags[0].value #=> String
resp.disk.size_in_gb #=> Integer
resp.disk.is_system_disk #=> Boolean
resp.disk.iops #=> Integer
resp.disk.path #=> String
resp.disk.state #=> String, one of "pending", "error", "available", "in-use", "unknown"
resp.disk.attached_to #=> String
resp.disk.is_attached #=> Boolean
resp.disk.attachment_state #=> String
resp.disk.gb_in_use #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_name (required, String)

    The name of the disk (e.g., my-disk).

Returns:

See Also:



3223
3224
3225
3226
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3223

def get_disk(params = {}, options = {})
  req = build_request(:get_disk, params)
  req.send_request(options)
end

#get_disk_snapshot(params = {}) ⇒ Types::GetDiskSnapshotResult

Returns information about a specific block storage disk snapshot.

Examples:

Request syntax with placeholder values


resp = client.get_disk_snapshot({
  disk_snapshot_name: "ResourceName", # required
})

Response structure


resp.disk_snapshot.name #=> String
resp.disk_snapshot.arn #=> String
resp.disk_snapshot.support_code #=> String
resp.disk_snapshot.created_at #=> Time
resp.disk_snapshot.location.availability_zone #=> String
resp.disk_snapshot.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.disk_snapshot.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.disk_snapshot.tags #=> Array
resp.disk_snapshot.tags[0].key #=> String
resp.disk_snapshot.tags[0].value #=> String
resp.disk_snapshot.size_in_gb #=> Integer
resp.disk_snapshot.state #=> String, one of "pending", "completed", "error", "unknown"
resp.disk_snapshot.progress #=> String
resp.disk_snapshot.from_disk_name #=> String
resp.disk_snapshot.from_disk_arn #=> String
resp.disk_snapshot.from_instance_name #=> String
resp.disk_snapshot.from_instance_arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :disk_snapshot_name (required, String)

    The name of the disk snapshot (e.g., my-disk-snapshot).

Returns:

See Also:



3267
3268
3269
3270
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3267

def get_disk_snapshot(params = {}, options = {})
  req = build_request(:get_disk_snapshot, params)
  req.send_request(options)
end

#get_disk_snapshots(params = {}) ⇒ Types::GetDiskSnapshotsResult

Returns information about all block storage disk snapshots in your AWS account and region.

If you are describing a long list of disk snapshots, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.

Examples:

Request syntax with placeholder values


resp = client.get_disk_snapshots({
  page_token: "string",
})

Response structure


resp.disk_snapshots #=> Array
resp.disk_snapshots[0].name #=> String
resp.disk_snapshots[0].arn #=> String
resp.disk_snapshots[0].support_code #=> String
resp.disk_snapshots[0].created_at #=> Time
resp.disk_snapshots[0].location.availability_zone #=> String
resp.disk_snapshots[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.disk_snapshots[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.disk_snapshots[0].tags #=> Array
resp.disk_snapshots[0].tags[0].key #=> String
resp.disk_snapshots[0].tags[0].value #=> String
resp.disk_snapshots[0].size_in_gb #=> Integer
resp.disk_snapshots[0].state #=> String, one of "pending", "completed", "error", "unknown"
resp.disk_snapshots[0].progress #=> String
resp.disk_snapshots[0].from_disk_name #=> String
resp.disk_snapshots[0].from_disk_arn #=> String
resp.disk_snapshots[0].from_instance_name #=> String
resp.disk_snapshots[0].from_instance_arn #=> String
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for advancing to the next page of results from your GetDiskSnapshots request.

Returns:

See Also:



3320
3321
3322
3323
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3320

def get_disk_snapshots(params = {}, options = {})
  req = build_request(:get_disk_snapshots, params)
  req.send_request(options)
end

#get_disks(params = {}) ⇒ Types::GetDisksResult

Returns information about all block storage disks in your AWS account and region.

If you are describing a long list of disks, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.

Examples:

Request syntax with placeholder values


resp = client.get_disks({
  page_token: "string",
})

Response structure


resp.disks #=> Array
resp.disks[0].name #=> String
resp.disks[0].arn #=> String
resp.disks[0].support_code #=> String
resp.disks[0].created_at #=> Time
resp.disks[0].location.availability_zone #=> String
resp.disks[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.disks[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.disks[0].tags #=> Array
resp.disks[0].tags[0].key #=> String
resp.disks[0].tags[0].value #=> String
resp.disks[0].size_in_gb #=> Integer
resp.disks[0].is_system_disk #=> Boolean
resp.disks[0].iops #=> Integer
resp.disks[0].path #=> String
resp.disks[0].state #=> String, one of "pending", "error", "available", "in-use", "unknown"
resp.disks[0].attached_to #=> String
resp.disks[0].is_attached #=> Boolean
resp.disks[0].attachment_state #=> String
resp.disks[0].gb_in_use #=> Integer
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for advancing to the next page of results from your GetDisks request.

Returns:

See Also:



3375
3376
3377
3378
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3375

def get_disks(params = {}, options = {})
  req = build_request(:get_disks, params)
  req.send_request(options)
end

#get_domain(params = {}) ⇒ Types::GetDomainResult

Returns information about a specific domain recordset.

Examples:

Request syntax with placeholder values


resp = client.get_domain({
  domain_name: "DomainName", # required
})

Response structure


resp.domain.name #=> String
resp.domain.arn #=> String
resp.domain.support_code #=> String
resp.domain.created_at #=> Time
resp.domain.location.availability_zone #=> String
resp.domain.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.domain.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.domain.tags #=> Array
resp.domain.tags[0].key #=> String
resp.domain.tags[0].value #=> String
resp.domain.domain_entries #=> Array
resp.domain.domain_entries[0].id #=> String
resp.domain.domain_entries[0].name #=> String
resp.domain.domain_entries[0].target #=> String
resp.domain.domain_entries[0].is_alias #=> Boolean
resp.domain.domain_entries[0].type #=> String
resp.domain.domain_entries[0].options #=> Hash
resp.domain.domain_entries[0].options["DomainEntryOptionsKeys"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :domain_name (required, String)

    The domain name for which your want to return information about.

Returns:

See Also:



3420
3421
3422
3423
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3420

def get_domain(params = {}, options = {})
  req = build_request(:get_domain, params)
  req.send_request(options)
end

#get_domains(params = {}) ⇒ Types::GetDomainsResult

Returns a list of all domains in the user's account.

Examples:

Request syntax with placeholder values


resp = client.get_domains({
  page_token: "string",
})

Response structure


resp.domains #=> Array
resp.domains[0].name #=> String
resp.domains[0].arn #=> String
resp.domains[0].support_code #=> String
resp.domains[0].created_at #=> Time
resp.domains[0].location.availability_zone #=> String
resp.domains[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.domains[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.domains[0].tags #=> Array
resp.domains[0].tags[0].key #=> String
resp.domains[0].tags[0].value #=> String
resp.domains[0].domain_entries #=> Array
resp.domains[0].domain_entries[0].id #=> String
resp.domains[0].domain_entries[0].name #=> String
resp.domains[0].domain_entries[0].target #=> String
resp.domains[0].domain_entries[0].is_alias #=> Boolean
resp.domains[0].domain_entries[0].type #=> String
resp.domains[0].domain_entries[0].options #=> Hash
resp.domains[0].domain_entries[0].options["DomainEntryOptionsKeys"] #=> String
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for advancing to the next page of results from your get domains request.

Returns:

See Also:



3469
3470
3471
3472
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3469

def get_domains(params = {}, options = {})
  req = build_request(:get_domains, params)
  req.send_request(options)
end

#get_export_snapshot_records(params = {}) ⇒ Types::GetExportSnapshotRecordsResult

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.

Examples:

Request syntax with placeholder values


resp = client.get_export_snapshot_records({
  page_token: "string",
})

Response structure


resp.export_snapshot_records #=> Array
resp.export_snapshot_records[0].name #=> String
resp.export_snapshot_records[0].arn #=> String
resp.export_snapshot_records[0].created_at #=> Time
resp.export_snapshot_records[0].location.availability_zone #=> String
resp.export_snapshot_records[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.export_snapshot_records[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.export_snapshot_records[0].state #=> String, one of "Started", "Succeeded", "Failed"
resp.export_snapshot_records[0].source_info.resource_type #=> String, one of "InstanceSnapshot", "DiskSnapshot"
resp.export_snapshot_records[0].source_info.created_at #=> Time
resp.export_snapshot_records[0].source_info.name #=> String
resp.export_snapshot_records[0].source_info.arn #=> String
resp.export_snapshot_records[0].source_info.from_resource_name #=> String
resp.export_snapshot_records[0].source_info.from_resource_arn #=> String
resp.export_snapshot_records[0].source_info.instance_snapshot_info.from_bundle_id #=> String
resp.export_snapshot_records[0].source_info.instance_snapshot_info.from_blueprint_id #=> String
resp.export_snapshot_records[0].source_info.instance_snapshot_info.from_disk_info #=> Array
resp.export_snapshot_records[0].source_info.instance_snapshot_info.from_disk_info[0].name #=> String
resp.export_snapshot_records[0].source_info.instance_snapshot_info.from_disk_info[0].path #=> String
resp.export_snapshot_records[0].source_info.instance_snapshot_info.from_disk_info[0].size_in_gb #=> Integer
resp.export_snapshot_records[0].source_info.instance_snapshot_info.from_disk_info[0].is_system_disk #=> Boolean
resp.export_snapshot_records[0].source_info.disk_snapshot_info.size_in_gb #=> Integer
resp.export_snapshot_records[0].destination_info.id #=> String
resp.export_snapshot_records[0].destination_info.service #=> String
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for advancing to a specific page of results for your get export snapshot records request.

Returns:

See Also:



3528
3529
3530
3531
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3528

def get_export_snapshot_records(params = {}, options = {})
  req = build_request(:get_export_snapshot_records, params)
  req.send_request(options)
end

#get_instance(params = {}) ⇒ Types::GetInstanceResult

Returns information about a specific Amazon Lightsail instance, which is a virtual private server.

Examples:

Request syntax with placeholder values


resp = client.get_instance({
  instance_name: "ResourceName", # required
})

Response structure


resp.instance.name #=> String
resp.instance.arn #=> String
resp.instance.support_code #=> String
resp.instance.created_at #=> Time
resp.instance.location.availability_zone #=> String
resp.instance.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.instance.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.instance.tags #=> Array
resp.instance.tags[0].key #=> String
resp.instance.tags[0].value #=> String
resp.instance.blueprint_id #=> String
resp.instance.blueprint_name #=> String
resp.instance.bundle_id #=> String
resp.instance.is_static_ip #=> Boolean
resp.instance.private_ip_address #=> String
resp.instance.public_ip_address #=> String
resp.instance.ipv6_address #=> String
resp.instance.hardware.cpu_count #=> Integer
resp.instance.hardware.disks #=> Array
resp.instance.hardware.disks[0].name #=> String
resp.instance.hardware.disks[0].arn #=> String
resp.instance.hardware.disks[0].support_code #=> String
resp.instance.hardware.disks[0].created_at #=> Time
resp.instance.hardware.disks[0].location.availability_zone #=> String
resp.instance.hardware.disks[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.instance.hardware.disks[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.instance.hardware.disks[0].tags #=> Array
resp.instance.hardware.disks[0].tags[0].key #=> String
resp.instance.hardware.disks[0].tags[0].value #=> String
resp.instance.hardware.disks[0].size_in_gb #=> Integer
resp.instance.hardware.disks[0].is_system_disk #=> Boolean
resp.instance.hardware.disks[0].iops #=> Integer
resp.instance.hardware.disks[0].path #=> String
resp.instance.hardware.disks[0].state #=> String, one of "pending", "error", "available", "in-use", "unknown"
resp.instance.hardware.disks[0].attached_to #=> String
resp.instance.hardware.disks[0].is_attached #=> Boolean
resp.instance.hardware.disks[0].attachment_state #=> String
resp.instance.hardware.disks[0].gb_in_use #=> Integer
resp.instance.hardware.ram_size_in_gb #=> Float
resp.instance.networking.monthly_transfer.gb_per_month_allocated #=> Integer
resp.instance.networking.ports #=> Array
resp.instance.networking.ports[0].from_port #=> Integer
resp.instance.networking.ports[0].to_port #=> Integer
resp.instance.networking.ports[0].protocol #=> String, one of "tcp", "all", "udp"
resp.instance.networking.ports[0].access_from #=> String
resp.instance.networking.ports[0].access_type #=> String, one of "Public", "Private"
resp.instance.networking.ports[0].common_name #=> String
resp.instance.networking.ports[0].access_direction #=> String, one of "inbound", "outbound"
resp.instance.state.code #=> Integer
resp.instance.state.name #=> String
resp.instance.username #=> String
resp.instance.ssh_key_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_name (required, String)

    The name of the instance.

Returns:

See Also:



3608
3609
3610
3611
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3608

def get_instance(params = {}, options = {})
  req = build_request(:get_instance, params)
  req.send_request(options)
end

#get_instance_access_details(params = {}) ⇒ Types::GetInstanceAccessDetailsResult

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 instanceName. For more information, see the Lightsail Dev Guide.

Examples:

Request syntax with placeholder values


resp = client.get_instance_access_details({
  instance_name: "ResourceName", # required
  protocol: "ssh", # accepts ssh, rdp
})

Response structure


resp.access_details.cert_key #=> String
resp.access_details.expires_at #=> Time
resp.access_details.ip_address #=> String
resp.access_details.password #=> String
resp.access_details.password_data.ciphertext #=> String
resp.access_details.password_data.key_pair_name #=> String
resp.access_details.private_key #=> String
resp.access_details.protocol #=> String, one of "ssh", "rdp"
resp.access_details.instance_name #=> String
resp.access_details.username #=> String
resp.access_details.host_keys #=> Array
resp.access_details.host_keys[0].algorithm #=> String
resp.access_details.host_keys[0].public_key #=> String
resp.access_details.host_keys[0].witnessed_at #=> Time
resp.access_details.host_keys[0].fingerprint_sha1 #=> String
resp.access_details.host_keys[0].fingerprint_sha256 #=> String
resp.access_details.host_keys[0].not_valid_before #=> Time
resp.access_details.host_keys[0].not_valid_after #=> Time

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_name (required, String)

    The name of the instance to access.

  • :protocol (String)

    The protocol to use to connect to your instance. Defaults to ssh.

Returns:

See Also:



3666
3667
3668
3669
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3666

def get_instance_access_details(params = {}, options = {})
  req = build_request(:get_instance_access_details, params)
  req.send_request(options)
end

#get_instance_metric_data(params = {}) ⇒ Types::GetInstanceMetricDataResult

Returns the data points for the specified Amazon Lightsail instance metric, given an instance name.

Examples:

Request syntax with placeholder values


resp = client.get_instance_metric_data({
  instance_name: "ResourceName", # required
  metric_name: "CPUUtilization", # required, accepts CPUUtilization, NetworkIn, NetworkOut, StatusCheckFailed, StatusCheckFailed_Instance, StatusCheckFailed_System
  period: 1, # required
  start_time: Time.now, # required
  end_time: Time.now, # required
  unit: "Seconds", # required, accepts Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
  statistics: ["Minimum"], # required, accepts Minimum, Maximum, Sum, Average, SampleCount
})

Response structure


resp.metric_name #=> String, one of "CPUUtilization", "NetworkIn", "NetworkOut", "StatusCheckFailed", "StatusCheckFailed_Instance", "StatusCheckFailed_System"
resp.metric_data #=> Array
resp.metric_data[0].average #=> Float
resp.metric_data[0].maximum #=> Float
resp.metric_data[0].minimum #=> Float
resp.metric_data[0].sample_count #=> Float
resp.metric_data[0].sum #=> Float
resp.metric_data[0].timestamp #=> Time
resp.metric_data[0].unit #=> String, one of "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_name (required, String)

    The name of the instance for which you want to get metrics data.

  • :metric_name (required, String)

    The metric name to get data about.

  • :period (required, Integer)

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

  • :start_time (required, Time, DateTime, Date, Integer, String)

    The start time of the time period.

  • :end_time (required, Time, DateTime, Date, Integer, String)

    The end time of the time period.

  • :unit (required, String)

    The unit. The list of valid values is below.

  • :statistics (required, Array<String>)

    The instance statistics.

Returns:

See Also:



3728
3729
3730
3731
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3728

def get_instance_metric_data(params = {}, options = {})
  req = build_request(:get_instance_metric_data, params)
  req.send_request(options)
end

#get_instance_port_states(params = {}) ⇒ Types::GetInstancePortStatesResult

Returns the port states for a specific virtual private server, or instance.

Examples:

Request syntax with placeholder values


resp = client.get_instance_port_states({
  instance_name: "ResourceName", # required
})

Response structure


resp.port_states #=> Array
resp.port_states[0].from_port #=> Integer
resp.port_states[0].to_port #=> Integer
resp.port_states[0].protocol #=> String, one of "tcp", "all", "udp"
resp.port_states[0].state #=> String, one of "open", "closed"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_name (required, String)

    The name of the instance.

Returns:

See Also:



3761
3762
3763
3764
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3761

def get_instance_port_states(params = {}, options = {})
  req = build_request(:get_instance_port_states, params)
  req.send_request(options)
end

#get_instance_snapshot(params = {}) ⇒ Types::GetInstanceSnapshotResult

Returns information about a specific instance snapshot.

Examples:

Request syntax with placeholder values


resp = client.get_instance_snapshot({
  instance_snapshot_name: "ResourceName", # required
})

Response structure


resp.instance_snapshot.name #=> String
resp.instance_snapshot.arn #=> String
resp.instance_snapshot.support_code #=> String
resp.instance_snapshot.created_at #=> Time
resp.instance_snapshot.location.availability_zone #=> String
resp.instance_snapshot.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.instance_snapshot.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.instance_snapshot.tags #=> Array
resp.instance_snapshot.tags[0].key #=> String
resp.instance_snapshot.tags[0].value #=> String
resp.instance_snapshot.state #=> String, one of "pending", "error", "available"
resp.instance_snapshot.progress #=> String
resp.instance_snapshot.from_attached_disks #=> Array
resp.instance_snapshot.from_attached_disks[0].name #=> String
resp.instance_snapshot.from_attached_disks[0].arn #=> String
resp.instance_snapshot.from_attached_disks[0].support_code #=> String
resp.instance_snapshot.from_attached_disks[0].created_at #=> Time
resp.instance_snapshot.from_attached_disks[0].location.availability_zone #=> String
resp.instance_snapshot.from_attached_disks[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.instance_snapshot.from_attached_disks[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.instance_snapshot.from_attached_disks[0].tags #=> Array
resp.instance_snapshot.from_attached_disks[0].tags[0].key #=> String
resp.instance_snapshot.from_attached_disks[0].tags[0].value #=> String
resp.instance_snapshot.from_attached_disks[0].size_in_gb #=> Integer
resp.instance_snapshot.from_attached_disks[0].is_system_disk #=> Boolean
resp.instance_snapshot.from_attached_disks[0].iops #=> Integer
resp.instance_snapshot.from_attached_disks[0].path #=> String
resp.instance_snapshot.from_attached_disks[0].state #=> String, one of "pending", "error", "available", "in-use", "unknown"
resp.instance_snapshot.from_attached_disks[0].attached_to #=> String
resp.instance_snapshot.from_attached_disks[0].is_attached #=> Boolean
resp.instance_snapshot.from_attached_disks[0].attachment_state #=> String
resp.instance_snapshot.from_attached_disks[0].gb_in_use #=> Integer
resp.instance_snapshot.from_instance_name #=> String
resp.instance_snapshot.from_instance_arn #=> String
resp.instance_snapshot.from_blueprint_id #=> String
resp.instance_snapshot.from_bundle_id #=> String
resp.instance_snapshot.size_in_gb #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_snapshot_name (required, String)

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

Returns:

See Also:



3825
3826
3827
3828
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3825

def get_instance_snapshot(params = {}, options = {})
  req = build_request(:get_instance_snapshot, params)
  req.send_request(options)
end

#get_instance_snapshots(params = {}) ⇒ Types::GetInstanceSnapshotsResult

Returns all instance snapshots for the user's account.

Examples:

Request syntax with placeholder values


resp = client.get_instance_snapshots({
  page_token: "string",
})

Response structure


resp.instance_snapshots #=> Array
resp.instance_snapshots[0].name #=> String
resp.instance_snapshots[0].arn #=> String
resp.instance_snapshots[0].support_code #=> String
resp.instance_snapshots[0].created_at #=> Time
resp.instance_snapshots[0].location.availability_zone #=> String
resp.instance_snapshots[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.instance_snapshots[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.instance_snapshots[0].tags #=> Array
resp.instance_snapshots[0].tags[0].key #=> String
resp.instance_snapshots[0].tags[0].value #=> String
resp.instance_snapshots[0].state #=> String, one of "pending", "error", "available"
resp.instance_snapshots[0].progress #=> String
resp.instance_snapshots[0].from_attached_disks #=> Array
resp.instance_snapshots[0].from_attached_disks[0].name #=> String
resp.instance_snapshots[0].from_attached_disks[0].arn #=> String
resp.instance_snapshots[0].from_attached_disks[0].support_code #=> String
resp.instance_snapshots[0].from_attached_disks[0].created_at #=> Time
resp.instance_snapshots[0].from_attached_disks[0].location.availability_zone #=> String
resp.instance_snapshots[0].from_attached_disks[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.instance_snapshots[0].from_attached_disks[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.instance_snapshots[0].from_attached_disks[0].tags #=> Array
resp.instance_snapshots[0].from_attached_disks[0].tags[0].key #=> String
resp.instance_snapshots[0].from_attached_disks[0].tags[0].value #=> String
resp.instance_snapshots[0].from_attached_disks[0].size_in_gb #=> Integer
resp.instance_snapshots[0].from_attached_disks[0].is_system_disk #=> Boolean
resp.instance_snapshots[0].from_attached_disks[0].iops #=> Integer
resp.instance_snapshots[0].from_attached_disks[0].path #=> String
resp.instance_snapshots[0].from_attached_disks[0].state #=> String, one of "pending", "error", "available", "in-use", "unknown"
resp.instance_snapshots[0].from_attached_disks[0].attached_to #=> String
resp.instance_snapshots[0].from_attached_disks[0].is_attached #=> Boolean
resp.instance_snapshots[0].from_attached_disks[0].attachment_state #=> String
resp.instance_snapshots[0].from_attached_disks[0].gb_in_use #=> Integer
resp.instance_snapshots[0].from_instance_name #=> String
resp.instance_snapshots[0].from_instance_arn #=> String
resp.instance_snapshots[0].from_blueprint_id #=> String
resp.instance_snapshots[0].from_bundle_id #=> String
resp.instance_snapshots[0].size_in_gb #=> Integer
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for advancing to the next page of results from your get instance snapshots request.

Returns:

See Also:



3893
3894
3895
3896
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3893

def get_instance_snapshots(params = {}, options = {})
  req = build_request(:get_instance_snapshots, params)
  req.send_request(options)
end

#get_instance_state(params = {}) ⇒ Types::GetInstanceStateResult

Returns the state of a specific instance. Works on one instance at a time.

Examples:

Request syntax with placeholder values


resp = client.get_instance_state({
  instance_name: "ResourceName", # required
})

Response structure


resp.state.code #=> Integer
resp.state.name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_name (required, String)

    The name of the instance to get state information about.

Returns:

See Also:



3923
3924
3925
3926
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 3923

def get_instance_state(params = {}, options = {})
  req = build_request(:get_instance_state, params)
  req.send_request(options)
end

#get_instances(params = {}) ⇒ Types::GetInstancesResult

Returns information about all Amazon Lightsail virtual private servers, or instances.

Examples:

Request syntax with placeholder values


resp = client.get_instances({
  page_token: "string",
})

Response structure


resp.instances #=> Array
resp.instances[0].name #=> String
resp.instances[0].arn #=> String
resp.instances[0].support_code #=> String
resp.instances[0].created_at #=> Time
resp.instances[0].location.availability_zone #=> String
resp.instances[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.instances[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.instances[0].tags #=> Array
resp.instances[0].tags[0].key #=> String
resp.instances[0].tags[0].value #=> String
resp.instances[0].blueprint_id #=> String
resp.instances[0].blueprint_name #=> String
resp.instances[0].bundle_id #=> String
resp.instances[0].is_static_ip #=> Boolean
resp.instances[0].private_ip_address #=> String
resp.instances[0].public_ip_address #=> String
resp.instances[0].ipv6_address #=> String
resp.instances[0].hardware.cpu_count #=> Integer
resp.instances[0].hardware.disks #=> Array
resp.instances[0].hardware.disks[0].name #=> String
resp.instances[0].hardware.disks[0].arn #=> String
resp.instances[0].hardware.disks[0].support_code #=> String
resp.instances[0].hardware.disks[0].created_at #=> Time
resp.instances[0].hardware.disks[0].location.availability_zone #=> String
resp.instances[0].hardware.disks[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.instances[0].hardware.disks[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.instances[0].hardware.disks[0].tags #=> Array
resp.instances[0].hardware.disks[0].tags[0].key #=> String
resp.instances[0].hardware.disks[0].tags[0].value #=> String
resp.instances[0].hardware.disks[0].size_in_gb #=> Integer
resp.instances[0].hardware.disks[0].is_system_disk #=> Boolean
resp.instances[0].hardware.disks[0].iops #=> Integer
resp.instances[0].hardware.disks[0].path #=> String
resp.instances[0].hardware.disks[0].state #=> String, one of "pending", "error", "available", "in-use", "unknown"
resp.instances[0].hardware.disks[0].attached_to #=> String
resp.instances[0].hardware.disks[0].is_attached #=> Boolean
resp.instances[0].hardware.disks[0].attachment_state #=> String
resp.instances[0].hardware.disks[0].gb_in_use #=> Integer
resp.instances[0].hardware.ram_size_in_gb #=> Float
resp.instances[0].networking.monthly_transfer.gb_per_month_allocated #=> Integer
resp.instances[0].networking.ports #=> Array
resp.instances[0].networking.ports[0].from_port #=> Integer
resp.instances[0].networking.ports[0].to_port #=> Integer
resp.instances[0].networking.ports[0].protocol #=> String, one of "tcp", "all", "udp"
resp.instances[0].networking.ports[0].access_from #=> String
resp.instances[0].networking.ports[0].access_type #=> String, one of "Public", "Private"
resp.instances[0].networking.ports[0].common_name #=> String
resp.instances[0].networking.ports[0].access_direction #=> String, one of "inbound", "outbound"
resp.instances[0].state.code #=> Integer
resp.instances[0].state.name #=> String
resp.instances[0].username #=> String
resp.instances[0].ssh_key_name #=> String
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for advancing to the next page of results from your get instances request.

Returns:

See Also:



4007
4008
4009
4010
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 4007

def get_instances(params = {}, options = {})
  req = build_request(:get_instances, params)
  req.send_request(options)
end

#get_key_pair(params = {}) ⇒ Types::GetKeyPairResult

Returns information about a specific key pair.

Examples:

Request syntax with placeholder values


resp = client.get_key_pair({
  key_pair_name: "ResourceName", # required
})

Response structure


resp.key_pair.name #=> String
resp.key_pair.arn #=> String
resp.key_pair.support_code #=> String
resp.key_pair.created_at #=> Time
resp.key_pair.location.availability_zone #=> String
resp.key_pair.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.key_pair.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.key_pair.tags #=> Array
resp.key_pair.tags[0].key #=> String
resp.key_pair.tags[0].value #=> String
resp.key_pair.fingerprint #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :key_pair_name (required, String)

    The name of the key pair for which you are requesting information.

Returns:

See Also:



4045
4046
4047
4048
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 4045

def get_key_pair(params = {}, options = {})
  req = build_request(:get_key_pair, params)
  req.send_request(options)
end

#get_key_pairs(params = {}) ⇒ Types::GetKeyPairsResult

Returns information about all key pairs in the user's account.

Examples:

Request syntax with placeholder values


resp = client.get_key_pairs({
  page_token: "string",
})

Response structure


resp.key_pairs #=> Array
resp.key_pairs[0].name #=> String
resp.key_pairs[0].arn #=> String
resp.key_pairs[0].support_code #=> String
resp.key_pairs[0].created_at #=> Time
resp.key_pairs[0].location.availability_zone #=> String
resp.key_pairs[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.key_pairs[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.key_pairs[0].tags #=> Array
resp.key_pairs[0].tags[0].key #=> String
resp.key_pairs[0].tags[0].value #=> String
resp.key_pairs[0].fingerprint #=> String
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for advancing to the next page of results from your get key pairs request.

Returns:

See Also:



4087
4088
4089
4090
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 4087

def get_key_pairs(params = {}, options = {})
  req = build_request(:get_key_pairs, params)
  req.send_request(options)
end

#get_load_balancer(params = {}) ⇒ Types::GetLoadBalancerResult

Returns information about the specified Lightsail load balancer.

Examples:

Request syntax with placeholder values


resp = client.get_load_balancer({
  load_balancer_name: "ResourceName", # required
})

Response structure


resp.load_balancer.name #=> String
resp.load_balancer.arn #=> String
resp.load_balancer.support_code #=> String
resp.load_balancer.created_at #=> Time
resp.load_balancer.location.availability_zone #=> String
resp.load_balancer.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.load_balancer.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.load_balancer.tags #=> Array
resp.load_balancer.tags[0].key #=> String
resp.load_balancer.tags[0].value #=> String
resp.load_balancer.dns_name #=> String
resp.load_balancer.state #=> String, one of "active", "provisioning", "active_impaired", "failed", "unknown"
resp.load_balancer.protocol #=> String, one of "HTTP_HTTPS", "HTTP"
resp.load_balancer.public_ports #=> Array
resp.load_balancer.public_ports[0] #=> Integer
resp.load_balancer.health_check_path #=> String
resp.load_balancer.instance_port #=> Integer
resp.load_balancer.instance_health_summary #=> Array
resp.load_balancer.instance_health_summary[0].instance_name #=> String
resp.load_balancer.instance_health_summary[0].instance_health #=> String, one of "initial", "healthy", "unhealthy", "unused", "draining", "unavailable"
resp.load_balancer.instance_health_summary[0].instance_health_reason #=> String, one of "Lb.RegistrationInProgress", "Lb.InitialHealthChecking", "Lb.InternalError", "Instance.ResponseCodeMismatch", "Instance.Timeout", "Instance.FailedHealthChecks", "Instance.NotRegistered", "Instance.NotInUse", "Instance.DeregistrationInProgress", "Instance.InvalidState", "Instance.IpUnusable"
resp.load_balancer.tls_certificate_summaries #=> Array
resp.load_balancer.tls_certificate_summaries[0].name #=> String
resp.load_balancer.tls_certificate_summaries[0].is_attached #=> Boolean
resp.load_balancer.configuration_options #=> Hash
resp.load_balancer.configuration_options["LoadBalancerAttributeName"] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The name of the load balancer.

Returns:

See Also:



4140
4141
4142
4143
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 4140

def get_load_balancer(params = {}, options = {})
  req = build_request(:get_load_balancer, params)
  req.send_request(options)
end

#get_load_balancer_metric_data(params = {}) ⇒ Types::GetLoadBalancerMetricDataResult

Returns information about health metrics for your Lightsail load balancer.

Examples:

Request syntax with placeholder values


resp = client.get_load_balancer_metric_data({
  load_balancer_name: "ResourceName", # required
  metric_name: "ClientTLSNegotiationErrorCount", # required, accepts ClientTLSNegotiationErrorCount, HealthyHostCount, UnhealthyHostCount, HTTPCode_LB_4XX_Count, HTTPCode_LB_5XX_Count, HTTPCode_Instance_2XX_Count, HTTPCode_Instance_3XX_Count, HTTPCode_Instance_4XX_Count, HTTPCode_Instance_5XX_Count, InstanceResponseTime, RejectedConnectionCount, RequestCount
  period: 1, # required
  start_time: Time.now, # required
  end_time: Time.now, # required
  unit: "Seconds", # required, accepts Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
  statistics: ["Minimum"], # required, accepts Minimum, Maximum, Sum, Average, SampleCount
})

Response structure


resp.metric_name #=> String, one of "ClientTLSNegotiationErrorCount", "HealthyHostCount", "UnhealthyHostCount", "HTTPCode_LB_4XX_Count", "HTTPCode_LB_5XX_Count", "HTTPCode_Instance_2XX_Count", "HTTPCode_Instance_3XX_Count", "HTTPCode_Instance_4XX_Count", "HTTPCode_Instance_5XX_Count", "InstanceResponseTime", "RejectedConnectionCount", "RequestCount"
resp.metric_data #=> Array
resp.metric_data[0].average #=> Float
resp.metric_data[0].maximum #=> Float
resp.metric_data[0].minimum #=> Float
resp.metric_data[0].sample_count #=> Float
resp.metric_data[0].sum #=> Float
resp.metric_data[0].timestamp #=> Time
resp.metric_data[0].unit #=> String, one of "Seconds", "Microseconds", "Milliseconds", "Bytes", "Kilobytes", "Megabytes", "Gigabytes", "Terabytes", "Bits", "Kilobits", "Megabits", "Gigabits", "Terabits", "Percent", "Count", "Bytes/Second", "Kilobytes/Second", "Megabytes/Second", "Gigabytes/Second", "Terabytes/Second", "Bits/Second", "Kilobits/Second", "Megabits/Second", "Gigabits/Second", "Terabits/Second", "Count/Second", "None"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

    The name of the load balancer.

  • :metric_name (required, String)

    The metric about which you want to return information. Valid values are listed below, along with the most useful statistics to include in your request.

    • ClientTLSNegotiationErrorCount - The number of TLS connections initiated by the client that did not establish a session with the load balancer. Possible causes include a mismatch of ciphers or protocols.

      Statistics: The most useful statistic is Sum.

    • HealthyHostCount - The number of target instances that are considered healthy.

      Statistics: The most useful statistic are Average, Minimum, and Maximum.

    • UnhealthyHostCount - The number of target instances that are considered unhealthy.

      Statistics: The most useful statistic are Average, Minimum, and Maximum.

    • HTTPCode_LB_4XX_Count - The number of HTTP 4XX client error codes that originate from the load balancer. Client errors are generated when requests are malformed or incomplete. These requests have not been received by the target instance. This count does not include any response codes generated by the target instances.

      Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    • HTTPCode_LB_5XX_Count - The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the target instances.

      Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1. Note that Minimum, Maximum, and Average all return 1.

    • HTTPCode_Instance_2XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

      Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    • HTTPCode_Instance_3XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

      Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    • HTTPCode_Instance_4XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

      Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    • HTTPCode_Instance_5XX_Count - The number of HTTP response codes generated by the target instances. This does not include any response codes generated by the load balancer.

      Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

    • InstanceResponseTime - The time elapsed, in seconds, after the request leaves the load balancer until a response from the target instance is received.

      Statistics: The most useful statistic is Average.

    • RejectedConnectionCount - The number of connections that were rejected because the load balancer had reached its maximum number of connections.

      Statistics: The most useful statistic is Sum.

    • RequestCount - The number of requests processed over IPv4. This count includes only the requests with a response generated by a target instance of the load balancer.

      Statistics: The most useful statistic is Sum. Note that Minimum, Maximum, and Average all return 1.

  • :period (required, Integer)

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

  • :start_time (required, Time, DateTime, Date, Integer, String)

    The start time of the period.

  • :end_time (required, Time, DateTime, Date, Integer, String)

    The end time of the period.

  • :unit (required, String)

    The unit for the time period request. Valid values are listed below.

  • :statistics (required, Array<String>)

    An array of statistics that you want to request metrics for. Valid values are listed below.

    • SampleCount - The count (number) of data points used for the statistical calculation.

    • Average - The value of Sum / SampleCount during the specified period. By comparing this statistic with the Minimum and Maximum, you can determine the full scope of a metric and how close the average use is to the Minimum and Maximum. This comparison helps you to know when to increase or decrease your resources as needed.

    • Sum - All values submitted for the matching metric added together. This statistic can be useful for determining the total volume of a metric.

    • Minimum - The lowest value observed during the specified period. You can use this value to determine low volumes of activity for your application.

    • Maximum - The highest value observed during the specified period. You can use this value to determine high volumes of activity for your application.

Returns:

See Also:



4312
4313
4314
4315
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 4312

def get_load_balancer_metric_data(params = {}, options = {})
  req = build_request(:get_load_balancer_metric_data, params)
  req.send_request(options)
end

#get_load_balancer_tls_certificates(params = {}) ⇒ Types::GetLoadBalancerTlsCertificatesResult

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.

Examples:

Request syntax with placeholder values


resp = client.get_load_balancer_tls_certificates({
  load_balancer_name: "ResourceName", # required
})

Response structure


resp.tls_certificates #=> Array
resp.tls_certificates[0].name #=> String
resp.tls_certificates[0].arn #=> String
resp.tls_certificates[0].support_code #=> String
resp.tls_certificates[0].created_at #=> Time
resp.tls_certificates[0].location.availability_zone #=> String
resp.tls_certificates[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.tls_certificates[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.tls_certificates[0].tags #=> Array
resp.tls_certificates[0].tags[0].key #=> String
resp.tls_certificates[0].tags[0].value #=> String
resp.tls_certificates[0].load_balancer_name #=> String
resp.tls_certificates[0].is_attached #=> Boolean
resp.tls_certificates[0].status #=> String, one of "PENDING_VALIDATION", "ISSUED", "INACTIVE", "EXPIRED", "VALIDATION_TIMED_OUT", "REVOKED", "FAILED", "UNKNOWN"
resp.tls_certificates[0].domain_name #=> String
resp.tls_certificates[0].domain_validation_records #=> Array
resp.tls_certificates[0].domain_validation_records[0].name #=> String
resp.tls_certificates[0].domain_validation_records[0].type #=> String
resp.tls_certificates[0].domain_validation_records[0].value #=> String
resp.tls_certificates[0].domain_validation_records[0].validation_status #=> String, one of "PENDING_VALIDATION", "FAILED", "SUCCESS"
resp.tls_certificates[0].domain_validation_records[0].domain_name #=> String
resp.tls_certificates[0].failure_reason #=> String, one of "NO_AVAILABLE_CONTACTS", "ADDITIONAL_VERIFICATION_REQUIRED", "DOMAIN_NOT_ALLOWED", "INVALID_PUBLIC_DOMAIN", "OTHER"
resp.tls_certificates[0].issued_at #=> Time
resp.tls_certificates[0].issuer #=> String
resp.tls_certificates[0].key_algorithm #=> String
resp.tls_certificates[0].not_after #=> Time
resp.tls_certificates[0].not_before #=> Time
resp.tls_certificates[0].renewal_summary.renewal_status #=> String, one of "PENDING_AUTO_RENEWAL", "PENDING_VALIDATION", "SUCCESS", "FAILED"
resp.tls_certificates[0].renewal_summary.domain_validation_options #=> Array
resp.tls_certificates[0].renewal_summary.domain_validation_options[0].domain_name #=> String
resp.tls_certificates[0].renewal_summary.domain_validation_options[0].validation_status #=> String, one of "PENDING_VALIDATION", "FAILED", "SUCCESS"
resp.tls_certificates[0].revocation_reason #=> String, one of "UNSPECIFIED", "KEY_COMPROMISE", "CA_COMPROMISE", "AFFILIATION_CHANGED", "SUPERCEDED", "CESSATION_OF_OPERATION", "CERTIFICATE_HOLD", "REMOVE_FROM_CRL", "PRIVILEGE_WITHDRAWN", "A_A_COMPROMISE"
resp.tls_certificates[0].revoked_at #=> Time
resp.tls_certificates[0].serial #=> String
resp.tls_certificates[0].signature_algorithm #=> String
resp.tls_certificates[0].subject #=> String
resp.tls_certificates[0].subject_alternative_names #=> Array
resp.tls_certificates[0].subject_alternative_names[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :load_balancer_name (required, String)

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

Returns:

See Also:



4385
4386
4387
4388
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 4385

def get_load_balancer_tls_certificates(params = {}, options = {})
  req = build_request(:get_load_balancer_tls_certificates, params)
  req.send_request(options)
end

#get_load_balancers(params = {}) ⇒ Types::GetLoadBalancersResult

Returns information about all load balancers in an account.

If you are describing a long list of load balancers, you can paginate the output to make the list more manageable. You can use the pageToken and nextPageToken values to retrieve the next items in the list.

Examples:

Request syntax with placeholder values


resp = client.get_load_balancers({
  page_token: "string",
})

Response structure


resp.load_balancers #=> Array
resp.load_balancers[0].name #=> String
resp.load_balancers[0].arn #=> String
resp.load_balancers[0].support_code #=> String
resp.load_balancers[0].created_at #=> Time
resp.load_balancers[0].location.availability_zone #=> String
resp.load_balancers[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.load_balancers[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.load_balancers[0].tags #=> Array
resp.load_balancers[0].tags[0].key #=> String
resp.load_balancers[0].tags[0].value #=> String
resp.load_balancers[0].dns_name #=> String
resp.load_balancers[0].state #=> String, one of "active", "provisioning", "active_impaired", "failed", "unknown"
resp.load_balancers[0].protocol #=> String, one of "HTTP_HTTPS", "HTTP"
resp.load_balancers[0].public_ports #=> Array
resp.load_balancers[0].public_ports[0] #=> Integer
resp.load_balancers[0].health_check_path #=> String
resp.load_balancers[0].instance_port #=> Integer
resp.load_balancers[0].instance_health_summary #=> Array
resp.load_balancers[0].instance_health_summary[0].instance_name #=> String
resp.load_balancers[0].instance_health_summary[0].instance_health #=> String, one of "initial", "healthy", "unhealthy", "unused", "draining", "unavailable"
resp.load_balancers[0].instance_health_summary[0].instance_health_reason #=> String, one of "Lb.RegistrationInProgress", "Lb.InitialHealthChecking", "Lb.InternalError", "Instance.ResponseCodeMismatch", "Instance.Timeout", "Instance.FailedHealthChecks", "Instance.NotRegistered", "Instance.NotInUse", "Instance.DeregistrationInProgress", "Instance.InvalidState", "Instance.IpUnusable"
resp.load_balancers[0].tls_certificate_summaries #=> Array
resp.load_balancers[0].tls_certificate_summaries[0].name #=> String
resp.load_balancers[0].tls_certificate_summaries[0].is_attached #=> Boolean
resp.load_balancers[0].configuration_options #=> Hash
resp.load_balancers[0].configuration_options["LoadBalancerAttributeName"] #=> String
resp.next_page_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :page_token (String)

    A token used for paginating the results from your GetLoadBalancers request.

Returns:

See Also:



4446
4447
4448
4449
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 4446

def get_load_balancers(params = {}, options = {})
  req = build_request(:get_load_balancers, params)
  req.send_request(options)
end

#get_operation(params = {}) ⇒ Types::GetOperationResult

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.

Examples:

Request syntax with placeholder values


resp = client.get_operation({
  operation_id: "NonEmptyString", # required
})

Response structure


resp.operation.id #=> String
resp.operation.resource_name #=> String
resp.operation.resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operation.created_at #=> Time
resp.operation.location.availability_zone #=> String
resp.operation.location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operation.is_terminal #=> Boolean
resp.operation.operation_details #=> String
resp.operation.operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operation.status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"
resp.operation.status_changed_at #=> Time
resp.operation.error_code #=> String
resp.operation.error_details #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :operation_id (required, String)

    A GUID used to identify the operation.

Returns:

See Also:



4488
4489
4490
4491
# File 'gems/aws-sdk-lightsail/lib/aws-sdk-lightsail/client.rb', line 4488

def get_operation(params = {}, options = {})
  req = build_request(:get_operation, params)
  req.send_request(options)
end

#get_operations(params = {}) ⇒ Types::GetOperationsResult

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.

Examples:

Request syntax with placeholder values


resp = client.get_operations({
  page_token: "string",
})

Response structure


resp.operations #=> Array
resp.operations[0].id #=> String
resp.operations[0].resource_name #=> String
resp.operations[0].resource_type #=> String, one of "Instance", "StaticIp", "KeyPair", "InstanceSnapshot", "Domain", "PeeredVpc", "LoadBalancer", "LoadBalancerTlsCertificate", "Disk", "DiskSnapshot", "RelationalDatabase", "RelationalDatabaseSnapshot", "ExportSnapshotRecord", "CloudFormationStackRecord"
resp.operations[0].created_at #=> Time
resp.operations[0].location.availability_zone #=> String
resp.operations[0].location.region_name #=> String, one of "us-east-1", "us-east-2", "us-west-1", "us-west-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-central-1", "ca-central-1", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ap-northeast-2"
resp.operations[0].is_terminal #=> Boolean
resp.operations[0].operation_details #=> String
resp.operations[0].operation_type #=> String, one of "DeleteKnownHostKeys", "DeleteInstance", "CreateInstance", "StopInstance", "StartInstance", "RebootInstance", "OpenInstancePublicPorts", "PutInstancePublicPorts", "CloseInstancePublicPorts", "AllocateStaticIp", "ReleaseStaticIp", "AttachStaticIp", "DetachStaticIp", "UpdateDomainEntry", "DeleteDomainEntry", "CreateDomain", "DeleteDomain", "CreateInstanceSnapshot", "DeleteInstanceSnapshot", "CreateInstancesFromSnapshot", "CreateLoadBalancer", "DeleteLoadBalancer", "AttachInstancesToLoadBalancer", "DetachInstancesFromLoadBalancer", "UpdateLoadBalancerAttribute", "CreateLoadBalancerTlsCertificate", "DeleteLoadBalancerTlsCertificate", "AttachLoadBalancerTlsCertificate", "CreateDisk", "DeleteDisk", "AttachDisk", "DetachDisk", "CreateDiskSnapshot", "DeleteDiskSnapshot", "CreateDiskFromSnapshot", "CreateRelationalDatabase", "UpdateRelationalDatabase", "DeleteRelationalDatabase", "CreateRelationalDatabaseFromSnapshot", "CreateRelationalDatabaseSnapshot", "DeleteRelationalDatabaseSnapshot", "UpdateRelationalDatabaseParameters", "StartRelationalDatabase", "RebootRelationalDatabase", "StopRelationalDatabase"
resp.operations[0].status #=> String, one of "NotStarted", "Started", "Failed", "Completed", "Succeeded"