Class: AWSCDK::CertificateManager::PrivateCertificateProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
certificate_manager/private_certificate_props.rb

Overview

Properties for your private certificate.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(certificate_authority:, domain_name:, allow_export: nil, key_algorithm: nil, subject_alternative_names: nil) ⇒ PrivateCertificateProps

Returns a new instance of PrivateCertificateProps.

Parameters:

  • certificate_authority (AWSCDK::Interfaces::AWSAcmpca::ICertificateAuthorityRef)

    Private certificate authority (CA) that will be used to issue the certificate.

  • domain_name (String)

    Fully-qualified domain name to request a private certificate for.

  • allow_export (Boolean, nil) (defaults to: nil)

    Enable or disable export of this certificate.

  • key_algorithm (AWSCDK::CertificateManager::KeyAlgorithm, nil) (defaults to: nil)

    Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data.

  • subject_alternative_names (Array<String>, nil) (defaults to: nil)

    Alternative domain names on your private certificate.



12
13
14
15
16
17
18
19
20
21
22
23
# File 'certificate_manager/private_certificate_props.rb', line 12

def initialize(certificate_authority:, domain_name:, allow_export: nil, key_algorithm: nil, subject_alternative_names: nil)
  @certificate_authority = certificate_authority
  Jsii::Type.check_type(@certificate_authority, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19hY21wY2EuSUNlcnRpZmljYXRlQXV0aG9yaXR5UmVmIn0=")), "certificateAuthority")
  @domain_name = domain_name
  Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName")
  @allow_export = allow_export
  Jsii::Type.check_type(@allow_export, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "allowExport") unless @allow_export.nil?
  @key_algorithm = key_algorithm
  Jsii::Type.check_type(@key_algorithm, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2VydGlmaWNhdGVtYW5hZ2VyLktleUFsZ29yaXRobSJ9")), "keyAlgorithm") unless @key_algorithm.nil?
  @subject_alternative_names = subject_alternative_names
  Jsii::Type.check_type(@subject_alternative_names, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subjectAlternativeNames") unless @subject_alternative_names.nil?
end

Instance Attribute Details

#allow_exportBoolean? (readonly)

Note:

Default: false

Enable or disable export of this certificate.

If you issue an exportable public certificate, there is a charge at certificate issuance and again when the certificate renews. Ref: https://aws.amazon.com/certificate-manager/pricing

Returns:

  • (Boolean, nil)


42
43
44
# File 'certificate_manager/private_certificate_props.rb', line 42

def allow_export
  @allow_export
end

#certificate_authorityAWSCDK::Interfaces::AWSAcmpca::ICertificateAuthorityRef (readonly)

Private certificate authority (CA) that will be used to issue the certificate.



28
29
30
# File 'certificate_manager/private_certificate_props.rb', line 28

def certificate_authority
  @certificate_authority
end

#domain_nameString (readonly)

Fully-qualified domain name to request a private certificate for.

May contain wildcards, such as *.domain.com.

Returns:

  • (String)


34
35
36
# File 'certificate_manager/private_certificate_props.rb', line 34

def domain_name
  @domain_name
end

#key_algorithmAWSCDK::CertificateManager::KeyAlgorithm? (readonly)

Note:

Default: KeyAlgorithm.RSA_2048

Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data.

When you request a private PKI certificate signed by a CA from AWS Private CA, the specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key.



51
52
53
# File 'certificate_manager/private_certificate_props.rb', line 51

def key_algorithm
  @key_algorithm
end

#subject_alternative_namesArray<String>? (readonly)

Note:

Default: - No additional FQDNs will be included as alternative domain names.

Alternative domain names on your private certificate.

Use this to register alternative domain names that represent the same site.

Returns:

  • (Array<String>, nil)


58
59
60
# File 'certificate_manager/private_certificate_props.rb', line 58

def subject_alternative_names
  @subject_alternative_names
end

Class Method Details

.jsii_propertiesObject



60
61
62
63
64
65
66
67
68
# File 'certificate_manager/private_certificate_props.rb', line 60

def self.jsii_properties
  {
    :certificate_authority => "certificateAuthority",
    :domain_name => "domainName",
    :allow_export => "allowExport",
    :key_algorithm => "keyAlgorithm",
    :subject_alternative_names => "subjectAlternativeNames",
  }
end

Instance Method Details

#to_jsiiObject



70
71
72
73
74
75
76
77
78
79
80
# File 'certificate_manager/private_certificate_props.rb', line 70

def to_jsii
  result = {}
  result.merge!({
    "certificateAuthority" => @certificate_authority,
    "domainName" => @domain_name,
    "allowExport" => @allow_export,
    "keyAlgorithm" => @key_algorithm,
    "subjectAlternativeNames" => @subject_alternative_names,
  })
  result.compact
end