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.
Parameters:
-
disk_name
(ResourceName)
–
The unique Lightsail disk name (my-disk).
-
availability_zone
(NonEmptyString)
–
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.
-
size_in_gb
(integer)
–
The size of the disk in GB (32).
-
tags
(Optional[TagList], default:
None
)
–
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.
-
add_ons
(Optional[AddOnRequestList], default:
None
)
–
An array of objects that represent the add-ons to enable for the new disk.
Raises:
-
AccessDeniedException
–
Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.
-
AccountSetupInProgressException
–
Lightsail throws this exception when an account is still in the setup in progress state.
-
InvalidInputException
–
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
–
Lightsail throws this exception when it cannot find a resource.
-
OperationFailureException
–
Lightsail throws this exception when an operation fails to execute.
-
RegionSetupInProgressException
–
Lightsail throws this exception when an operation is performed on resources in an opt-in Region that is currently being set up.
-
ServiceException
–
A general service exception.
-
UnauthenticatedException
–
Lightsail throws this exception when the user has not been authenticated.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_lightsail/_services/lightsail.py
| def create_disk(
self,
disk_name: "capo_lightsail.types.resource_name.ResourceName",
availability_zone: "capo_lightsail.types.non_empty_string.NonEmptyString",
size_in_gb: "capo_lightsail.types.integer.integer",
*,
config_overrides: Optional[LightsailClientConfig] = None,
tags: Optional["capo_lightsail.types.tag_list.TagList"] = None,
add_ons: Optional[
"capo_lightsail.types.add_on_request_list.AddOnRequestList"
] = None,
) -> "capo_lightsail.types.create_disk_result.CreateDiskResult":
"""<p>Creates a block storage disk that can be attached to an Amazon Lightsail instance in the same Availability Zone (<code>us-east-2a</code>).</p> <p>The <code>create disk</code> operation supports tag-based access control via request tags. For more information, see the <a href="https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-controlling-access-using-tags">Amazon Lightsail Developer Guide</a>.</p>
Args:
disk_name: <p>The unique Lightsail disk name (<code>my-disk</code>).</p>
availability_zone: <p>The Availability Zone where you want to create the disk (<code>us-east-2a</code>). Use the same Availability Zone as the Lightsail instance to which you want to attach the disk.</p> <p>Use the <code>get regions</code> operation to list the Availability Zones where Lightsail is currently available.</p>
size_in_gb: <p>The size of the disk in GB (<code>32</code>).</p>
tags: <p>The tag keys and optional values to add to the resource during create.</p> <p>Use the <code>TagResource</code> action to tag a resource after it's created.</p>
add_ons: <p>An array of objects that represent the add-ons to enable for the new disk.</p>
Raises:
capo_lightsail.errors.access_denied_exception.AccessDeniedException: <p>Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource.</p>
capo_lightsail.errors.account_setup_in_progress_exception.AccountSetupInProgressException: <p>Lightsail throws this exception when an account is still in the setup in progress state.</p>
capo_lightsail.errors.invalid_input_exception.InvalidInputException: <p>Lightsail throws this exception when user input does not conform to the validation rules of an input field.</p> <note> <p>Domain and distribution APIs are only available in the N. Virginia (<code>us-east-1</code>) Amazon Web Services Region. Please set your Amazon Web Services Region configuration to <code>us-east-1</code> to create, view, or edit these resources.</p> </note>
capo_lightsail.errors.not_found_exception.NotFoundException: <p>Lightsail throws this exception when it cannot find a resource.</p>
capo_lightsail.errors.operation_failure_exception.OperationFailureException: <p>Lightsail throws this exception when an operation fails to execute.</p>
capo_lightsail.errors.region_setup_in_progress_exception.RegionSetupInProgressException: <p>Lightsail throws this exception when an operation is performed on resources in an opt-in Region that is currently being set up.</p>
capo_lightsail.errors.service_exception.ServiceException: <p>A general service exception.</p>
capo_lightsail.errors.unauthenticated_exception.UnauthenticatedException: <p>Lightsail throws this exception when the user has not been authenticated.</p>
capo_lightsail.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
def _handler(
req: "OperationRequest[capo_lightsail.types.create_disk_request.CreateDiskRequest]",
) -> OperationResponse[
"capo_lightsail.types.create_disk_result.CreateDiskResult"
]:
import capo_lightsail._operations.lightsail_20161128.create_disk
output, http_response = (
capo_lightsail._operations.lightsail_20161128.create_disk.create_disk(
req.options, req.input
)
)
return OperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("CreateDisk")
)
input_: capo_lightsail.types.create_disk_request.CreateDiskRequest = {
"disk_name": disk_name,
"availability_zone": availability_zone,
"size_in_gb": size_in_gb,
}
if tags is not None:
input_["tags"] = tags
if add_ons is not None:
input_["add_ons"] = add_ons
response = execute_pipeline(
OperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
response.response.close()
return response.output
|