CreateInstancesFromSnapshot
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.
Request Syntax
{
   "addOns": [ 
      { 
         "addOnType": "string",
         "autoSnapshotAddOnRequest": { 
            "snapshotTimeOfDay": "string"
         },
         "stopInstanceOnIdleRequest": { 
            "duration": "string",
            "threshold": "string"
         }
      }
   ],
   "attachedDiskMapping": { 
      "string" : [ 
         { 
            "newDiskName": "string",
            "originalDiskPath": "string"
         }
      ]
   },
   "availabilityZone": "string",
   "bundleId": "string",
   "instanceNames": [ "string" ],
   "instanceSnapshotName": "string",
   "ipAddressType": "string",
   "keyPairName": "string",
   "restoreDate": "string",
   "sourceInstanceName": "string",
   "tags": [ 
      { 
         "key": "string",
         "value": "string"
      }
   ],
   "useLatestRestorableAutoSnapshot": boolean,
   "userData": "string"
}Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- addOns
- 
               An array of objects representing the add-ons to enable for the new instance. Type: Array of AddOnRequest objects Required: No 
- attachedDiskMapping
- 
               An object containing information about one or more disk mappings. Type: String to array of DiskMap objects map Key Pattern: \w[\w\-]*\wRequired: No 
- availabilityZone
- 
               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 theinclude Availability Zonesparameter to your request.Type: String Required: Yes 
- bundleId
- 
               The bundle of specification information for your virtual private server (or instance), including the pricing plan ( micro_x_x).Type: String Pattern: .*\S.*Required: Yes 
- instanceNames
- 
               The names for your new instances. Type: Array of strings Required: Yes 
- instanceSnapshotName
- 
               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 nameparameter. Theinstance snapshot nameandsource instance nameparameters are mutually exclusive.
 Type: String Pattern: \w[\w\-]*\wRequired: No 
- 
                     
- ipAddressType
- 
               The IP address type for the instance. The possible values are ipv4for IPv4 only,ipv6for IPv6 only, anddualstackfor IPv4 and IPv6.The default value is dualstack.Type: String Valid Values: dualstack | ipv4 | ipv6Required: No 
- keyPairName
- 
               The name for your key pair. Type: String Pattern: \w[\w\-]*\wRequired: No 
- restoreDate
- 
               The date of the automatic snapshot to use for the new instance. Use the get auto snapshotsoperation to identify the dates of the available automatic snapshots.Constraints: - 
                     Must be specified in YYYY-MM-DDformat.
- 
                     This parameter cannot be defined together with the use latest restorable auto snapshotparameter. Therestore dateanduse latest restorable auto snapshotparameters 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. 
 Type: String Required: No 
- 
                     
- sourceInstanceName
- 
               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 nameparameter. Thesource instance nameandinstance snapshot nameparameters 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. 
 Type: String Required: No 
- 
                     
- 
               The tag keys and optional values to add to the resource during create. Use the TagResourceaction to tag a resource after it's created.Type: Array of Tag objects Required: No 
- useLatestRestorableAutoSnapshot
- 
               A Boolean value to indicate whether to use the latest available automatic snapshot. Constraints: - 
                     This parameter cannot be defined together with the restore dateparameter. Theuse latest restorable auto snapshotandrestore dateparameters 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. 
 Type: Boolean Required: No 
- 
                     
- userData
- 
               You can create a launch script that configures a server with additional user data. For example, apt-get -y update.NoteDepending on the machine image you choose, the command to get software on your instance varies. Amazon Linux and CentOS use yum, Debian and Ubuntu useapt-get, and FreeBSD usespkg. For a complete list, see the Amazon Lightsail Developer Guide.Type: String Required: No 
Response Syntax
{
   "operations": [ 
      { 
         "createdAt": number,
         "errorCode": "string",
         "errorDetails": "string",
         "id": "string",
         "isTerminal": boolean,
         "location": { 
            "availabilityZone": "string",
            "regionName": "string"
         },
         "operationDetails": "string",
         "operationType": "string",
         "resourceName": "string",
         "resourceType": "string",
         "status": "string",
         "statusChangedAt": number
      }
   ]
}Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- operations
- 
               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. Type: Array of Operation objects 
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
- 
               Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource. HTTP Status Code: 400 
- AccountSetupInProgressException
- 
               Lightsail throws this exception when an account is still in the setup in progress state. HTTP Status Code: 400 
- InvalidInputException
- 
               Lightsail throws this exception when user input does not conform to the validation rules of an input field. NoteDomain and distribution APIs are only available in the N. Virginia ( us-east-1) AWS Region. Please set your AWS Region configuration tous-east-1to create, view, or edit these resources.HTTP Status Code: 400 
- NotFoundException
- 
               Lightsail throws this exception when it cannot find a resource. HTTP Status Code: 400 
- OperationFailureException
- 
               Lightsail throws this exception when an operation fails to execute. HTTP Status Code: 400 
- RegionSetupInProgressException
- 
               Lightsail throws this exception when an operation is performed on resources in an opt-in Region that is currently being set up. - docs
- tip
- 
                        Opt-in Regions typically take a few minutes to finish setting up before you can work with them. Wait a few minutes and try again. 
 HTTP Status Code: 400 
- ServiceException
- 
               A general service exception. HTTP Status Code: 500 
- UnauthenticatedException
- 
               Lightsail throws this exception when the user has not been authenticated. HTTP Status Code: 400 
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: