The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Paws::ACMPCA::CreateCertificateAuthority - Arguments for method CreateCertificateAuthority on Paws::ACMPCA

DESCRIPTION

This class represents the parameters used for calling the method CreateCertificateAuthority on the AWS Certificate Manager Private Certificate Authority service. Use the attributes of this class as arguments to method CreateCertificateAuthority.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateCertificateAuthority.

SYNOPSIS

    my $acm-pca = Paws->service('ACMPCA');
    my $CreateCertificateAuthorityResponse =
      $acm -pca->CreateCertificateAuthority(
      CertificateAuthorityConfiguration => {
        KeyAlgorithm =>
          'RSA_2048',  # values: RSA_2048, RSA_4096, EC_prime256v1, EC_secp384r1
        SigningAlgorithm => 'SHA256WITHECDSA'
        , # values: SHA256WITHECDSA, SHA384WITHECDSA, SHA512WITHECDSA, SHA256WITHRSA, SHA384WITHRSA, SHA512WITHRSA
        Subject => {
          CommonName => 'MyString64',             # max: 64; OPTIONAL
          Country    => 'MyCountryCodeString',    # min: 2, max: 2; OPTIONAL
          DistinguishedNameQualifier =>
            'MyASN1PrintableString64',            # max: 64; OPTIONAL
          GenerationQualifier => 'MyString3',               # max: 3; OPTIONAL
          GivenName           => 'MyString16',              # max: 16; OPTIONAL
          Initials            => 'MyString5',               # max: 5; OPTIONAL
          Locality            => 'MyString128',             # max: 128; OPTIONAL
          Organization        => 'MyString64',              # max: 64; OPTIONAL
          OrganizationalUnit  => 'MyString64',              # max: 64; OPTIONAL
          Pseudonym           => 'MyString128',             # max: 128; OPTIONAL
          SerialNumber        => 'MyASN1PrintableString64', # max: 64; OPTIONAL
          State               => 'MyString128',             # max: 128; OPTIONAL
          Surname             => 'MyString40',              # max: 40; OPTIONAL
          Title               => 'MyString64',              # max: 64; OPTIONAL
        },
        CsrExtensions => {
          KeyUsage => {
            CRLSign          => 1,    # OPTIONAL
            DataEncipherment => 1,    # OPTIONAL
            DecipherOnly     => 1,    # OPTIONAL
            DigitalSignature => 1,    # OPTIONAL
            EncipherOnly     => 1,    # OPTIONAL
            KeyAgreement     => 1,    # OPTIONAL
            KeyCertSign      => 1,    # OPTIONAL
            KeyEncipherment  => 1,    # OPTIONAL
            NonRepudiation   => 1,    # OPTIONAL
          },    # OPTIONAL
          SubjectInformationAccess => [
            {
              AccessLocation => {
                DirectoryName => {
                  CommonName => 'MyString64',         # max: 64; OPTIONAL
                  Country => 'MyCountryCodeString',   # min: 2, max: 2; OPTIONAL
                  DistinguishedNameQualifier =>
                    'MyASN1PrintableString64',        # max: 64; OPTIONAL
                  GenerationQualifier => 'MyString3',      # max: 3; OPTIONAL
                  GivenName           => 'MyString16',     # max: 16; OPTIONAL
                  Initials            => 'MyString5',      # max: 5; OPTIONAL
                  Locality            => 'MyString128',    # max: 128; OPTIONAL
                  Organization        => 'MyString64',     # max: 64; OPTIONAL
                  OrganizationalUnit  => 'MyString64',     # max: 64; OPTIONAL
                  Pseudonym           => 'MyString128',    # max: 128; OPTIONAL
                  SerialNumber => 'MyASN1PrintableString64', # max: 64; OPTIONAL
                  State        => 'MyString128',    # max: 128; OPTIONAL
                  Surname      => 'MyString40',     # max: 40; OPTIONAL
                  Title        => 'MyString64',     # max: 64; OPTIONAL
                },
                DnsName      => 'MyString253',      # max: 253; OPTIONAL
                EdiPartyName => {
                  PartyName    => 'MyString256',    # max: 256
                  NameAssigner => 'MyString256',    # max: 256
                },    # OPTIONAL
                IpAddress => 'MyString39',    # max: 39; OPTIONAL
                OtherName => {
                  TypeId => 'MyCustomObjectIdentifier',    # max: 64
                  Value  => 'MyString256',                 # max: 256

                },    # OPTIONAL
                RegisteredId => 'MyCustomObjectIdentifier',    # max: 64
                Rfc822Name   => 'MyString256',                 # max: 256
                UniformResourceIdentifier => 'MyString253', # max: 253; OPTIONAL
              },
              AccessMethod => {
                AccessMethodType => 'CA_REPOSITORY'
                , # values: CA_REPOSITORY, RESOURCE_PKI_MANIFEST, RESOURCE_PKI_NOTIFY; OPTIONAL
                CustomObjectIdentifier => 'MyCustomObjectIdentifier',  # max: 64
              },

            },
            ...
          ],    # OPTIONAL
        },    # OPTIONAL
      },
      CertificateAuthorityType   => 'ROOT',
      IdempotencyToken           => 'MyIdempotencyToken',             # OPTIONAL
      KeyStorageSecurityStandard => 'FIPS_140_2_LEVEL_2_OR_HIGHER',   # OPTIONAL
      RevocationConfiguration    => {
        CrlConfiguration => {
          Enabled          => 1,                   # OPTIONAL
          CustomCname      => 'MyString253',       # max: 253; OPTIONAL
          ExpirationInDays => 1,                   # min: 1, max: 5000; OPTIONAL
          S3BucketName     => 'MyString3To255',    # min: 3, max: 255; OPTIONAL
          S3ObjectAcl      => 'PUBLIC_READ'
          ,    # values: PUBLIC_READ, BUCKET_OWNER_FULL_CONTROL; OPTIONAL
        },    # OPTIONAL
      },    # OPTIONAL
      Tags => [
        {
          Key   => 'MyTagKey',      # min: 1, max: 128
          Value => 'MyTagValue',    # max: 256; OPTIONAL
        },
        ...
      ],    # OPTIONAL
      );

    # Results:
    my $CertificateAuthorityArn =
      $CreateCertificateAuthorityResponse->CertificateAuthorityArn;

    # Returns a L<Paws::ACMPCA::CreateCertificateAuthorityResponse> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/acm-pca/CreateCertificateAuthority

ATTRIBUTES

REQUIRED CertificateAuthorityConfiguration => Paws::ACMPCA::CertificateAuthorityConfiguration

Name and bit size of the private key algorithm, the name of the signing algorithm, and X.500 certificate subject information.

REQUIRED CertificateAuthorityType => Str

The type of the certificate authority.

Valid values are: "ROOT", "SUBORDINATE"

IdempotencyToken => Str

Custom string that can be used to distinguish between calls to the CreateCertificateAuthority action. Idempotency tokens for CreateCertificateAuthority time out after five minutes. Therefore, if you call CreateCertificateAuthority multiple times with the same idempotency token within five minutes, ACM Private CA recognizes that you are requesting only certificate authority and will issue only one. If you change the idempotency token for each call, PCA recognizes that you are requesting multiple certificate authorities.

KeyStorageSecurityStandard => Str

Specifies a cryptographic key management compliance standard used for handling CA keys.

Default: FIPS_140_2_LEVEL_3_OR_HIGHER

Note: FIPS_140_2_LEVEL_3_OR_HIGHER is not supported in Region ap-northeast-3. When creating a CA in the ap-northeast-3, you must provide FIPS_140_2_LEVEL_2_OR_HIGHER as the argument for KeyStorageSecurityStandard. Failure to do this results in an InvalidArgsException with the message, "A certificate authority cannot be created in this region with the specified security standard."

Valid values are: "FIPS_140_2_LEVEL_2_OR_HIGHER", "FIPS_140_2_LEVEL_3_OR_HIGHER"

RevocationConfiguration => Paws::ACMPCA::RevocationConfiguration

Contains a Boolean value that you can use to enable a certification revocation list (CRL) for the CA, the name of the S3 bucket to which ACM Private CA will write the CRL, and an optional CNAME alias that you can use to hide the name of your bucket in the CRL Distribution Points extension of your CA certificate. For more information, see the CrlConfiguration (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CrlConfiguration.html) structure.

Tags => ArrayRef[Paws::ACMPCA::Tag]

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 Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html).

SEE ALSO

This class forms part of Paws, documenting arguments for method CreateCertificateAuthority in Paws::ACMPCA

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues