1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateHsm`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`subnet_id(impl Into<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::subnet_id) / [`set_subnet_id(Option<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::set_subnet_id):<br>required: **true**<br><p>The identifier of the subnet in your VPC in which to place the HSM.</p><br>
    ///   - [`ssh_key(impl Into<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::ssh_key) / [`set_ssh_key(Option<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::set_ssh_key):<br>required: **true**<br><p>The SSH public key to install on the HSM.</p><br>
    ///   - [`eni_ip(impl Into<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::eni_ip) / [`set_eni_ip(Option<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::set_eni_ip):<br>required: **false**<br><p>The IP address to assign to the HSM's ENI.</p> <p>If an IP address is not specified, an IP address will be randomly chosen from the CIDR range of the subnet.</p><br>
    ///   - [`iam_role_arn(impl Into<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::iam_role_arn) / [`set_iam_role_arn(Option<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::set_iam_role_arn):<br>required: **true**<br><p>The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on your behalf.</p><br>
    ///   - [`external_id(impl Into<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::external_id) / [`set_external_id(Option<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::set_external_id):<br>required: **false**<br><p>The external ID from <code>IamRoleArn</code>, if present.</p><br>
    ///   - [`subscription_type(SubscriptionType)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::subscription_type) / [`set_subscription_type(Option<SubscriptionType>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::set_subscription_type):<br>required: **true**<br><p>Specifies the type of subscription for the HSM.</p> <ul>  <li>   <p><b>PRODUCTION</b> - The HSM is being used in a production environment.</p></li>  <li>   <p><b>TRIAL</b> - The HSM is being used in a product trial.</p></li> </ul><br>
    ///   - [`client_token(impl Into<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::set_client_token):<br>required: **false**<br><p>A user-defined token to ensure idempotence. Subsequent calls to this operation with the same token will be ignored.</p><br>
    ///   - [`syslog_ip(impl Into<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::syslog_ip) / [`set_syslog_ip(Option<String>)`](crate::operation::create_hsm::builders::CreateHsmFluentBuilder::set_syslog_ip):<br>required: **false**<br><p>The IP address for the syslog monitoring server. The AWS CloudHSM service only supports one syslog monitoring server.</p><br>
    /// - On success, responds with [`CreateHsmOutput`](crate::operation::create_hsm::CreateHsmOutput) with field(s):
    ///   - [`hsm_arn(Option<String>)`](crate::operation::create_hsm::CreateHsmOutput::hsm_arn): <p>The ARN of the HSM.</p>
    /// - On failure, responds with [`SdkError<CreateHsmError>`](crate::operation::create_hsm::CreateHsmError)
    #[deprecated(note = "This API is deprecated.")]
    pub fn create_hsm(&self) -> crate::operation::create_hsm::builders::CreateHsmFluentBuilder {
        crate::operation::create_hsm::builders::CreateHsmFluentBuilder::new(self.handle.clone())
    }
}