// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateCertificateAuthority`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`certificate_authority_configuration(CertificateAuthorityConfiguration)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::certificate_authority_configuration) / [`set_certificate_authority_configuration(Option<CertificateAuthorityConfiguration>)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::set_certificate_authority_configuration):<br>required: **true**<br><p>Name and bit size of the private key algorithm, the name of the signing algorithm, and X.500 certificate subject information.</p><br>
/// - [`revocation_configuration(RevocationConfiguration)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::revocation_configuration) / [`set_revocation_configuration(Option<RevocationConfiguration>)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::set_revocation_configuration):<br>required: **false**<br><p>Contains information to enable Online Certificate Status Protocol (OCSP) support, to enable a certificate revocation list (CRL), to enable both, or to enable neither. The default is for both certificate validation mechanisms to be disabled.</p><note> <p>The following requirements apply to revocation configurations.</p> <ul> <li> <p>A configuration disabling CRLs or OCSP must contain only the <code>Enabled=False</code> parameter, and will fail if other parameters such as <code>CustomCname</code> or <code>ExpirationInDays</code> are included.</p></li> <li> <p>In a CRL configuration, the <code>S3BucketName</code> parameter must conform to <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html">Amazon S3 bucket naming rules</a>.</p></li> <li> <p>A configuration containing a custom Canonical Name (CNAME) parameter for CRLs or OCSP must conform to <a href="https://www.ietf.org/rfc/rfc2396.txt">RFC2396</a> restrictions on the use of special characters in a CNAME.</p></li> <li> <p>In a CRL or OCSP configuration, the value of a CNAME parameter must not include a protocol prefix such as "http://" or "https://".</p></li> </ul> </note> <p>For more information, see the <a href="https://docs.aws.amazon.com/privateca/latest/APIReference/API_OcspConfiguration.html">OcspConfiguration</a> and <a href="https://docs.aws.amazon.com/privateca/latest/APIReference/API_CrlConfiguration.html">CrlConfiguration</a> types.</p><br>
/// - [`certificate_authority_type(CertificateAuthorityType)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::certificate_authority_type) / [`set_certificate_authority_type(Option<CertificateAuthorityType>)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::set_certificate_authority_type):<br>required: **true**<br><p>The type of the certificate authority.</p><br>
/// - [`idempotency_token(impl Into<String>)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::idempotency_token) / [`set_idempotency_token(Option<String>)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::set_idempotency_token):<br>required: **false**<br><p>Custom string that can be used to distinguish between calls to the <b>CreateCertificateAuthority</b> action. Idempotency tokens for <b>CreateCertificateAuthority</b> time out after five minutes. Therefore, if you call <b>CreateCertificateAuthority</b> multiple times with the same idempotency token within five minutes, Amazon Web Services Private CA recognizes that you are requesting only certificate authority and will issue only one. If you change the idempotency token for each call, Amazon Web Services Private CA recognizes that you are requesting multiple certificate authorities.</p><br>
/// - [`key_storage_security_standard(KeyStorageSecurityStandard)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::key_storage_security_standard) / [`set_key_storage_security_standard(Option<KeyStorageSecurityStandard>)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::set_key_storage_security_standard):<br>required: **false**<br><p>Specifies a cryptographic key management compliance standard used for handling CA keys.</p> <p>Default: FIPS_140_2_LEVEL_3_OR_HIGHER</p><note> <p>Some Amazon Web Services Regions do not support the default. When creating a CA in these Regions, you must provide <code>FIPS_140_2_LEVEL_2_OR_HIGHER</code> as the argument for <code>KeyStorageSecurityStandard</code>. Failure to do this results in an <code>InvalidArgsException</code> with the message, "A certificate authority cannot be created in this region with the specified security standard."</p> <p>For information about security standard support in various Regions, see <a href="https://docs.aws.amazon.com/privateca/latest/userguide/data-protection.html#private-keys">Storage and security compliance of Amazon Web Services Private CA private keys</a>.</p> </note><br>
/// - [`tags(Tag)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::set_tags):<br>required: **false**<br><p>Key-value pairs that will be attached to the new private CA. You can associate up to 50 tags with a private CA. For information using tags with IAM to manage permissions, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html">Controlling Access Using IAM Tags</a>.</p><br>
/// - [`usage_mode(CertificateAuthorityUsageMode)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::usage_mode) / [`set_usage_mode(Option<CertificateAuthorityUsageMode>)`](crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::set_usage_mode):<br>required: **false**<br><p>Specifies whether the CA issues general-purpose certificates that typically require a revocation mechanism, or short-lived certificates that may optionally omit revocation because they expire quickly. Short-lived certificate validity is limited to seven days.</p> <p>The default value is GENERAL_PURPOSE.</p><br>
/// - On success, responds with [`CreateCertificateAuthorityOutput`](crate::operation::create_certificate_authority::CreateCertificateAuthorityOutput) with field(s):
/// - [`certificate_authority_arn(Option<String>)`](crate::operation::create_certificate_authority::CreateCertificateAuthorityOutput::certificate_authority_arn): <p>If successful, the Amazon Resource Name (ARN) of the certificate authority (CA). This is of the form:</p> <p><code>arn:aws:acm-pca:<i>region</i>:<i>account</i>:certificate-authority/<i>12345678-1234-1234-1234-123456789012</i> </code>.</p>
/// - On failure, responds with [`SdkError<CreateCertificateAuthorityError>`](crate::operation::create_certificate_authority::CreateCertificateAuthorityError)
pub fn create_certificate_authority(&self) -> crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder {
crate::operation::create_certificate_authority::builders::CreateCertificateAuthorityFluentBuilder::new(self.handle.clone())
}
}