// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateKxVolume`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`client_token(impl Into<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_client_token):<br>required: **false**<br><p>A token that ensures idempotency. This token expires in 10 minutes.</p><br>
/// - [`environment_id(impl Into<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::environment_id) / [`set_environment_id(Option<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_environment_id):<br>required: **true**<br><p>A unique identifier for the kdb environment, whose clusters can attach to the volume.</p><br>
/// - [`volume_type(KxVolumeType)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::volume_type) / [`set_volume_type(Option<KxVolumeType>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_volume_type):<br>required: **true**<br><p>The type of file system volume. Currently, FinSpace only supports <code>NAS_1</code> volume type. When you select <code>NAS_1</code> volume type, you must also provide <code>nas1Configuration</code>.</p><br>
/// - [`volume_name(impl Into<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::volume_name) / [`set_volume_name(Option<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_volume_name):<br>required: **true**<br><p>A unique identifier for the volume.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_description):<br>required: **false**<br><p>A description of the volume.</p><br>
/// - [`nas1_configuration(KxNas1Configuration)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::nas1_configuration) / [`set_nas1_configuration(Option<KxNas1Configuration>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_nas1_configuration):<br>required: **false**<br><p>Specifies the configuration for the Network attached storage (NAS_1) file system volume. This parameter is required when you choose <code>volumeType</code> as <i>NAS_1</i>.</p><br>
/// - [`az_mode(KxAzMode)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::az_mode) / [`set_az_mode(Option<KxAzMode>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_az_mode):<br>required: **true**<br><p>The number of availability zones you want to assign per cluster. Currently, FinSpace only support <code>SINGLE</code> for volumes.</p><br>
/// - [`availability_zone_ids(impl Into<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::availability_zone_ids) / [`set_availability_zone_ids(Option<Vec::<String>>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_availability_zone_ids):<br>required: **true**<br><p>The identifier of the availability zones.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::set_tags):<br>required: **false**<br><p>A list of key-value pairs to label the volume. You can add up to 50 tags to a volume.</p><br>
/// - On success, responds with [`CreateKxVolumeOutput`](crate::operation::create_kx_volume::CreateKxVolumeOutput) with field(s):
/// - [`environment_id(Option<String>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::environment_id): <p>A unique identifier for the kdb environment, whose clusters can attach to the volume.</p>
/// - [`volume_name(Option<String>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::volume_name): <p>A unique identifier for the volume.</p>
/// - [`volume_type(Option<KxVolumeType>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::volume_type): <p>The type of file system volume. Currently, FinSpace only supports <code>NAS_1</code> volume type.</p>
/// - [`volume_arn(Option<String>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::volume_arn): <p>The ARN identifier of the volume.</p>
/// - [`nas1_configuration(Option<KxNas1Configuration>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::nas1_configuration): <p>Specifies the configuration for the Network attached storage (NAS_1) file system volume.</p>
/// - [`status(Option<KxVolumeStatus>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::status): <p>The status of volume creation.</p> <ul> <li> <p>CREATING – The volume creation is in progress.</p></li> <li> <p>CREATE_FAILED – The volume creation has failed.</p></li> <li> <p>ACTIVE – The volume is active.</p></li> <li> <p>UPDATING – The volume is in the process of being updated.</p></li> <li> <p>UPDATE_FAILED – The update action failed.</p></li> <li> <p>UPDATED – The volume is successfully updated.</p></li> <li> <p>DELETING – The volume is in the process of being deleted.</p></li> <li> <p>DELETE_FAILED – The system failed to delete the volume.</p></li> <li> <p>DELETED – The volume is successfully deleted.</p></li> </ul>
/// - [`status_reason(Option<String>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::status_reason): <p>The error message when a failed state occurs.</p>
/// - [`az_mode(Option<KxAzMode>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::az_mode): <p>The number of availability zones you want to assign per cluster. Currently, FinSpace only support <code>SINGLE</code> for volumes.</p>
/// - [`description(Option<String>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::description): <p>A description of the volume.</p>
/// - [`availability_zone_ids(Option<Vec::<String>>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::availability_zone_ids): <p>The identifier of the availability zones.</p>
/// - [`created_timestamp(Option<DateTime>)`](crate::operation::create_kx_volume::CreateKxVolumeOutput::created_timestamp): <p>The timestamp at which the volume was created in FinSpace. The value is determined as epoch time in milliseconds. For example, the value for Monday, November 1, 2021 12:00:00 PM UTC is specified as 1635768000000.</p>
/// - On failure, responds with [`SdkError<CreateKxVolumeError>`](crate::operation::create_kx_volume::CreateKxVolumeError)
pub fn create_kx_volume(&self) -> crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder {
crate::operation::create_kx_volume::builders::CreateKxVolumeFluentBuilder::new(self.handle.clone())
}
}