CreateDiskCommand

Creates a block storage disk that can be attached to an Amazon Lightsail instance in the same Availability Zone (us-east-2a).

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

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { LightsailClient, CreateDiskCommand } from "@aws-sdk/client-lightsail"; // ES Modules import
// const { LightsailClient, CreateDiskCommand } = require("@aws-sdk/client-lightsail"); // CommonJS import
const client = new LightsailClient(config);
const input = { // CreateDiskRequest
  diskName: "STRING_VALUE", // required
  availabilityZone: "STRING_VALUE", // required
  sizeInGb: Number("int"), // required
  tags: [ // TagList
    { // Tag
      key: "STRING_VALUE",
      value: "STRING_VALUE",
    },
  ],
  addOns: [ // AddOnRequestList
    { // AddOnRequest
      addOnType: "AutoSnapshot" || "StopInstanceOnIdle", // required
      autoSnapshotAddOnRequest: { // AutoSnapshotAddOnRequest
        snapshotTimeOfDay: "STRING_VALUE",
      },
      stopInstanceOnIdleRequest: { // StopInstanceOnIdleRequest
        threshold: "STRING_VALUE",
        duration: "STRING_VALUE",
      },
    },
  ],
};
const command = new CreateDiskCommand(input);
const response = await client.send(command);
// { // CreateDiskResult
//   operations: [ // OperationList
//     { // Operation
//       id: "STRING_VALUE",
//       resourceName: "STRING_VALUE",
//       resourceType: "ContainerService" || "Instance" || "StaticIp" || "KeyPair" || "InstanceSnapshot" || "Domain" || "PeeredVpc" || "LoadBalancer" || "LoadBalancerTlsCertificate" || "Disk" || "DiskSnapshot" || "RelationalDatabase" || "RelationalDatabaseSnapshot" || "ExportSnapshotRecord" || "CloudFormationStackRecord" || "Alarm" || "ContactMethod" || "Distribution" || "Certificate" || "Bucket",
//       createdAt: new Date("TIMESTAMP"),
//       location: { // ResourceLocation
//         availabilityZone: "STRING_VALUE",
//         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_VALUE",
//       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" || "SetupInstanceHttps",
//       status: "NotStarted" || "Started" || "Failed" || "Completed" || "Succeeded",
//       statusChangedAt: new Date("TIMESTAMP"),
//       errorCode: "STRING_VALUE",
//       errorDetails: "STRING_VALUE",
//     },
//   ],
// };

CreateDiskCommand Input

See CreateDiskCommandInput for more details

Parameter
Type
Description
availabilityZone
Required
string | undefined

The Availability Zone where you want to create the disk (us-east-2a). Use the same Availability Zone as the Lightsail instance to which you want to attach the disk.

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

diskName
Required
string | undefined

The unique Lightsail disk name (my-disk).

sizeInGb
Required
number | undefined

The size of the disk in GB (32).

addOns
AddOnRequest[] | undefined

An array of objects that represent the add-ons to enable for the new disk.

tags
Tag[] | undefined

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.

CreateDiskCommand Output

See CreateDiskCommandOutput for details

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
operations
Operation[] | undefined

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

Throws

Name
Fault
Details
AccessDeniedException
client

Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.

AccountSetupInProgressException
client

Lightsail throws this exception when an account is still in the setup in progress state.

InvalidInputException
client

Lightsail throws this exception when user input does not conform to the validation rules of an input field.

Domain and distribution APIs are only available in the N. Virginia (us-east-1) Amazon Web Services Region. Please set your Amazon Web Services Region configuration to us-east-1 to create, view, or edit these resources.

NotFoundException
client

Lightsail throws this exception when it cannot find a resource.

OperationFailureException
client

Lightsail throws this exception when an operation fails to execute.

ServiceException
server

A general service exception.

UnauthenticatedException
client

Lightsail throws this exception when the user has not been authenticated.

LightsailServiceException
Base exception class for all service exceptions from Lightsail service.