create_instances_from_snapshot

create_instances_from_snapshot(**kwargs)

Creates one or more new instances from a manual or automatic snapshot of an instance.

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

See also: AWS API Documentation

Request Syntax

response = client.create_instances_from_snapshot(
    instanceNames=[
        'string',
    ],
    attachedDiskMapping={
        'string': [
            {
                'originalDiskPath': 'string',
                'newDiskName': 'string'
            },
        ]
    },
    availabilityZone='string',
    instanceSnapshotName='string',
    bundleId='string',
    userData='string',
    keyPairName='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    addOns=[
        {
            'addOnType': 'AutoSnapshot'|'StopInstanceOnIdle',
            'autoSnapshotAddOnRequest': {
                'snapshotTimeOfDay': 'string'
            },
            'stopInstanceOnIdleRequest': {
                'threshold': 'string',
                'duration': 'string'
            }
        },
    ],
    ipAddressType='dualstack'|'ipv4',
    sourceInstanceName='string',
    restoreDate='string',
    useLatestRestorableAutoSnapshot=True|False
)
Parameters
  • instanceNames (list) --

    [REQUIRED]

    The names for your new instances.

    • (string) --
  • attachedDiskMapping (dict) --

    An object containing information about one or more disk mappings.

    • (string) --
      • (list) --
        • (dict) --

          Describes a block storage disk mapping.

          • originalDiskPath (string) --

            The original disk path exposed to the instance (for example, /dev/sdh ).

          • newDiskName (string) --

            The new disk name (e.g., my-new-disk ).

  • availabilityZone (string) --

    [REQUIRED]

    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.

  • instanceSnapshotName (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.

    Constraint:

    • This parameter cannot be defined together with the source instance name parameter. The instance snapshot name and source instance name parameters are mutually exclusive.
  • bundleId (string) --

    [REQUIRED]

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

  • userData (string) --

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

    Note

    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 Amazon Lightsail Developer Guide.

  • keyPairName (string) -- The name for your key pair.
  • tags (list) --

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

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

    • (dict) --

      Describes a tag key and optional value assigned to an Amazon Lightsail resource.

      For more information about tags in Lightsail, see the Amazon Lightsail Developer Guide.

      • key (string) --

        The key of the tag.

        Constraints: Tag keys accept a maximum of 128 letters, numbers, spaces in UTF-8, or the following characters: + - = . _ : / @

      • value (string) --

        The value of the tag.

        Constraints: Tag values accept a maximum of 256 letters, numbers, spaces in UTF-8, or the following characters: + - = . _ : / @

  • addOns (list) --

    An array of objects representing the add-ons to enable for the new instance.

    • (dict) --

      Describes a request to enable, modify, or disable an add-on for an Amazon Lightsail resource.

      Note

      An additional cost may be associated with enabling add-ons. For more information, see the Lightsail pricing page.

      • addOnType (string) -- [REQUIRED]

        The add-on type.

      • autoSnapshotAddOnRequest (dict) --

        An object that represents additional parameters when enabling or modifying the automatic snapshot add-on.

        • snapshotTimeOfDay (string) --

          The daily time when an automatic snapshot will be created.

          Constraints:

          • Must be in HH:00 format, and in an hourly increment.
          • Specified in Coordinated Universal Time (UTC).
          • The snapshot will be automatically created between the time specified and up to 45 minutes after.
      • stopInstanceOnIdleRequest (dict) --

        An object that represents additional parameters when enabling or modifying the StopInstanceOnIdle add-on.

        Warning

        This object only applies to Lightsail for Research resources.

        • threshold (string) --

          The value to compare with the duration.

        • duration (string) --

          The amount of idle time in minutes after which your virtual computer will automatically stop.

  • ipAddressType (string) --

    The IP address type for the instance.

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

    The default value is dualstack .

  • sourceInstanceName (string) --

    The name of the source instance from which the source automatic snapshot was created.

    Constraints:

    • This parameter cannot be defined together with the instance snapshot name parameter. The source instance name and instance snapshot name parameters are mutually exclusive.
    • Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Amazon Lightsail Developer Guide.
  • restoreDate (string) --

    The date of the automatic snapshot to use for the new instance. Use the get auto snapshots operation to identify the dates of the available automatic snapshots.

    Constraints:

    • Must be specified in YYYY-MM-DD format.
    • This parameter cannot be defined together with the use latest restorable auto snapshot parameter. The restore date and use latest restorable auto snapshot parameters are mutually exclusive.
    • Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Amazon Lightsail Developer Guide.
  • useLatestRestorableAutoSnapshot (boolean) --

    A Boolean value to indicate whether to use the latest available automatic snapshot.

    Constraints:

    • This parameter cannot be defined together with the restore date parameter. The use latest restorable auto snapshot and restore date parameters are mutually exclusive.
    • Define this parameter only when creating a new instance from an automatic snapshot. For more information, see the Amazon Lightsail Developer Guide.
Return type

dict

Returns

Response Syntax

{
    'operations': [
        {
            'id': 'string',
            'resourceName': 'string',
            'resourceType': 'ContainerService'|'Instance'|'StaticIp'|'KeyPair'|'InstanceSnapshot'|'Domain'|'PeeredVpc'|'LoadBalancer'|'LoadBalancerTlsCertificate'|'Disk'|'DiskSnapshot'|'RelationalDatabase'|'RelationalDatabaseSnapshot'|'ExportSnapshotRecord'|'CloudFormationStackRecord'|'Alarm'|'ContactMethod'|'Distribution'|'Certificate'|'Bucket',
            'createdAt': datetime(2015, 1, 1),
            'location': {
                'availabilityZone': 'string',
                'regionName': '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'|'eu-north-1'
            },
            'isTerminal': True|False,
            'operationDetails': 'string',
            'operationType': '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'|'EnableAddOn'|'DisableAddOn'|'PutAlarm'|'GetAlarms'|'DeleteAlarm'|'TestAlarm'|'CreateContactMethod'|'GetContactMethods'|'SendContactMethodVerification'|'DeleteContactMethod'|'CreateDistribution'|'UpdateDistribution'|'DeleteDistribution'|'ResetDistributionCache'|'AttachCertificateToDistribution'|'DetachCertificateFromDistribution'|'UpdateDistributionBundle'|'SetIpAddressType'|'CreateCertificate'|'DeleteCertificate'|'CreateContainerService'|'UpdateContainerService'|'DeleteContainerService'|'CreateContainerServiceDeployment'|'CreateContainerServiceRegistryLogin'|'RegisterContainerImage'|'DeleteContainerImage'|'CreateBucket'|'DeleteBucket'|'CreateBucketAccessKey'|'DeleteBucketAccessKey'|'UpdateBucketBundle'|'UpdateBucket'|'SetResourceAccessForBucket'|'UpdateInstanceMetadataOptions'|'StartGUISession'|'StopGUISession',
            'status': 'NotStarted'|'Started'|'Failed'|'Completed'|'Succeeded',
            'statusChangedAt': datetime(2015, 1, 1),
            'errorCode': 'string',
            'errorDetails': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • operations (list) --

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

      • (dict) --

        Describes the API operation.

        • id (string) --

          The ID of the operation.

        • resourceName (string) --

          The resource name.

        • resourceType (string) --

          The resource type.

        • createdAt (datetime) --

          The timestamp when the operation was initialized (e.g., 1479816991.349 ).

        • location (dict) --

          The Amazon Web Services Region and Availability Zone.

          • availabilityZone (string) --

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

          • regionName (string) --

            The Amazon Web Services Region name.

        • isTerminal (boolean) --

          A Boolean value indicating whether the operation is terminal.

        • operationDetails (string) --

          Details about the operation (e.g., Debian-1GB-Ohio-1 ).

        • operationType (string) --

          The type of operation.

        • status (string) --

          The status of the operation.

        • statusChangedAt (datetime) --

          The timestamp when the status was changed (e.g., 1479816991.349 ).

        • errorCode (string) --

          The error code.

        • errorDetails (string) --

          The error details.

Exceptions

  • Lightsail.Client.exceptions.ServiceException
  • Lightsail.Client.exceptions.InvalidInputException
  • Lightsail.Client.exceptions.NotFoundException
  • Lightsail.Client.exceptions.OperationFailureException
  • Lightsail.Client.exceptions.AccessDeniedException
  • Lightsail.Client.exceptions.AccountSetupInProgressException
  • Lightsail.Client.exceptions.UnauthenticatedException