Class: AWSCDK::CertificateManager::CertificateProps

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

Overview

Properties for your certificate.

Direct Known Subclasses

DNSValidatedCertificateProps

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(domain_name:, allow_export: nil, certificate_name: nil, key_algorithm: nil, subject_alternative_names: nil, transparency_logging_enabled: nil, validation: nil) ⇒ CertificateProps

Returns a new instance of CertificateProps.

Parameters:

  • domain_name (String)

    Fully-qualified domain name to request a certificate for.

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

    Enable or disable export of this certificate.

  • certificate_name (String, nil) (defaults to: nil)

    The Certificate name.

  • 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 certificate.

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

    Enable or disable transparency logging for this certificate.

  • validation (AWSCDK::CertificateManager::CertificateValidation, nil) (defaults to: nil)

    How to validate this certificate.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'certificate_manager/certificate_props.rb', line 14

def initialize(domain_name:, allow_export: nil, certificate_name: nil, key_algorithm: nil, subject_alternative_names: nil, transparency_logging_enabled: nil, validation: nil)
  @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?
  @certificate_name = certificate_name
  Jsii::Type.check_type(@certificate_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "certificateName") unless @certificate_name.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?
  @transparency_logging_enabled = transparency_logging_enabled
  Jsii::Type.check_type(@transparency_logging_enabled, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "transparencyLoggingEnabled") unless @transparency_logging_enabled.nil?
  @validation = validation
  Jsii::Type.check_type(@validation, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2VydGlmaWNhdGVtYW5hZ2VyLkNlcnRpZmljYXRlVmFsaWRhdGlvbiJ9")), "validation") unless @validation.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)


44
45
46
# File 'certificate_manager/certificate_props.rb', line 44

def allow_export
  @allow_export
end

#certificate_nameString? (readonly)

Note:

Default: the full, absolute path of this construct

The Certificate name.

Since the Certificate resource doesn't support providing a physical name, the value provided here will be recorded in the Name tag

Returns:

  • (String, nil)


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

def certificate_name
  @certificate_name
end

#domain_nameString (readonly)

Fully-qualified domain name to request a certificate for.

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

Returns:

  • (String)


36
37
38
# File 'certificate_manager/certificate_props.rb', line 36

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.



57
58
59
# File 'certificate_manager/certificate_props.rb', line 57

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 certificate.

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

Returns:

  • (Array<String>, nil)


64
65
66
# File 'certificate_manager/certificate_props.rb', line 64

def subject_alternative_names
  @subject_alternative_names
end

#transparency_logging_enabledBoolean? (readonly)

Note:

Default: true

Enable or disable transparency logging for this certificate.

Once a certificate has been logged, it cannot be removed from the log. Opting out at that point will have no effect. If you opt out of logging when you request a certificate and then choose later to opt back in, your certificate will not be logged until it is renewed. If you want the certificate to be logged immediately, we recommend that you issue a new one.



76
77
78
# File 'certificate_manager/certificate_props.rb', line 76

def transparency_logging_enabled
  @transparency_logging_enabled
end

#validationAWSCDK::CertificateManager::CertificateValidation? (readonly)

Note:

Default: CertificateValidation.fromEmail()

How to validate this certificate.



81
82
83
# File 'certificate_manager/certificate_props.rb', line 81

def validation
  @validation
end

Class Method Details

.jsii_propertiesObject



83
84
85
86
87
88
89
90
91
92
93
# File 'certificate_manager/certificate_props.rb', line 83

def self.jsii_properties
  {
    :domain_name => "domainName",
    :allow_export => "allowExport",
    :certificate_name => "certificateName",
    :key_algorithm => "keyAlgorithm",
    :subject_alternative_names => "subjectAlternativeNames",
    :transparency_logging_enabled => "transparencyLoggingEnabled",
    :validation => "validation",
  }
end

Instance Method Details

#to_jsiiObject



95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'certificate_manager/certificate_props.rb', line 95

def to_jsii
  result = {}
  result.merge!({
    "domainName" => @domain_name,
    "allowExport" => @allow_export,
    "certificateName" => @certificate_name,
    "keyAlgorithm" => @key_algorithm,
    "subjectAlternativeNames" => @subject_alternative_names,
    "transparencyLoggingEnabled" => @transparency_logging_enabled,
    "validation" => @validation,
  })
  result.compact
end