1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`RegisterCACertificate`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`ca_certificate(impl Into<String>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::ca_certificate) / [`set_ca_certificate(Option<String>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::set_ca_certificate):<br>required: **true**<br><p>The CA certificate.</p><br>
    ///   - [`verification_certificate(impl Into<String>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::verification_certificate) / [`set_verification_certificate(Option<String>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::set_verification_certificate):<br>required: **false**<br><p>The private key verification certificate. If <code>certificateMode</code> is <code>SNI_ONLY</code>, the <code>verificationCertificate</code> field must be empty. If <code>certificateMode</code> is <code>DEFAULT</code> or not provided, the <code>verificationCertificate</code> field must not be empty.</p><br>
    ///   - [`set_as_active(bool)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::set_as_active) / [`set_set_as_active(Option<bool>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::set_set_as_active):<br>required: **false**<br><p>A boolean value that specifies if the CA certificate is set to active.</p> <p>Valid values: <code>ACTIVE | INACTIVE</code></p><br>
    ///   - [`allow_auto_registration(bool)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::allow_auto_registration) / [`set_allow_auto_registration(Option<bool>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::set_allow_auto_registration):<br>required: **false**<br><p>Allows this CA certificate to be used for auto registration of device certificates.</p><br>
    ///   - [`registration_config(RegistrationConfig)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::registration_config) / [`set_registration_config(Option<RegistrationConfig>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::set_registration_config):<br>required: **false**<br><p>Information about the registration configuration.</p><br>
    ///   - [`tags(Tag)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::set_tags):<br>required: **false**<br><p>Metadata which can be used to manage the CA certificate.</p><note>  <p>For URI Request parameters use format: ...key1=value1&amp;key2=value2...</p>  <p>For the CLI command-line parameter use format: &amp;&amp;tags "key1=value1&amp;key2=value2..."</p>  <p>For the cli-input-json file use format: "tags": "key1=value1&amp;key2=value2..."</p> </note><br>
    ///   - [`certificate_mode(CertificateMode)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::certificate_mode) / [`set_certificate_mode(Option<CertificateMode>)`](crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::set_certificate_mode):<br>required: **false**<br><p>Describes the certificate mode in which the Certificate Authority (CA) will be registered. If the <code>verificationCertificate</code> field is not provided, set <code>certificateMode</code> to be <code>SNI_ONLY</code>. If the <code>verificationCertificate</code> field is provided, set <code>certificateMode</code> to be <code>DEFAULT</code>. When <code>certificateMode</code> is not provided, it defaults to <code>DEFAULT</code>. All the device certificates that are registered using this CA will be registered in the same certificate mode as the CA. For more information about certificate mode for device certificates, see <a href="https://docs.aws.amazon.com/iot/latest/apireference/API_CertificateDescription.html#iot-Type-CertificateDescription-certificateMode"> certificate mode</a>.</p><br>
    /// - On success, responds with [`RegisterCaCertificateOutput`](crate::operation::register_ca_certificate::RegisterCaCertificateOutput) with field(s):
    ///   - [`certificate_arn(Option<String>)`](crate::operation::register_ca_certificate::RegisterCaCertificateOutput::certificate_arn): <p>The CA certificate ARN.</p>
    ///   - [`certificate_id(Option<String>)`](crate::operation::register_ca_certificate::RegisterCaCertificateOutput::certificate_id): <p>The CA certificate identifier.</p>
    /// - On failure, responds with [`SdkError<RegisterCACertificateError>`](crate::operation::register_ca_certificate::RegisterCACertificateError)
    pub fn register_ca_certificate(&self) -> crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder {
        crate::operation::register_ca_certificate::builders::RegisterCACertificateFluentBuilder::new(self.handle.clone())
    }
}