aws_sdk_redshift/client/
create_hsm_configuration.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreateHsmConfiguration`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`hsm_configuration_identifier(impl Into<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::hsm_configuration_identifier) / [`set_hsm_configuration_identifier(Option<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::set_hsm_configuration_identifier):<br>required: **true**<br><p>The identifier to be assigned to the new Amazon Redshift HSM configuration.</p><br>
7    ///   - [`description(impl Into<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::set_description):<br>required: **true**<br><p>A text description of the HSM configuration to be created.</p><br>
8    ///   - [`hsm_ip_address(impl Into<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::hsm_ip_address) / [`set_hsm_ip_address(Option<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::set_hsm_ip_address):<br>required: **true**<br><p>The IP address that the Amazon Redshift cluster must use to access the HSM.</p><br>
9    ///   - [`hsm_partition_name(impl Into<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::hsm_partition_name) / [`set_hsm_partition_name(Option<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::set_hsm_partition_name):<br>required: **true**<br><p>The name of the partition in the HSM where the Amazon Redshift clusters will store their database encryption keys.</p><br>
10    ///   - [`hsm_partition_password(impl Into<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::hsm_partition_password) / [`set_hsm_partition_password(Option<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::set_hsm_partition_password):<br>required: **true**<br><p>The password required to access the HSM partition.</p><br>
11    ///   - [`hsm_server_public_certificate(impl Into<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::hsm_server_public_certificate) / [`set_hsm_server_public_certificate(Option<String>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::set_hsm_server_public_certificate):<br>required: **true**<br><p>The HSMs public certificate file. When using Cloud HSM, the file name is server.pem.</p><br>
12    ///   - [`tags(Tag)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::set_tags):<br>required: **false**<br><p>A list of tag instances.</p><br>
13    /// - On success, responds with [`CreateHsmConfigurationOutput`](crate::operation::create_hsm_configuration::CreateHsmConfigurationOutput) with field(s):
14    ///   - [`hsm_configuration(Option<HsmConfiguration>)`](crate::operation::create_hsm_configuration::CreateHsmConfigurationOutput::hsm_configuration): <p>Returns information about an HSM configuration, which is an object that describes to Amazon Redshift clusters the information they require to connect to an HSM where they can store database encryption keys.</p>
15    /// - On failure, responds with [`SdkError<CreateHsmConfigurationError>`](crate::operation::create_hsm_configuration::CreateHsmConfigurationError)
16    pub fn create_hsm_configuration(&self) -> crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder {
17        crate::operation::create_hsm_configuration::builders::CreateHsmConfigurationFluentBuilder::new(self.handle.clone())
18    }
19}