Class: AWSCDK::ACMPCA::CfnCertificate::GeneralNameProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
acmpca/cfn_certificate.rb

Overview

Describes an ASN.1 X.400 GeneralName as defined in RFC 5280 . Only one of the following naming options should be provided. Providing more than one option results in an InvalidArgsException error.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(directory_name: nil, dns_name: nil, edi_party_name: nil, ip_address: nil, other_name: nil, registered_id: nil, rfc822_name: nil, uniform_resource_identifier: nil) ⇒ GeneralNameProperty

Returns a new instance of GeneralNameProperty.

Parameters:



917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
# File 'acmpca/cfn_certificate.rb', line 917

def initialize(directory_name: nil, dns_name: nil, edi_party_name: nil, ip_address: nil, other_name: nil, registered_id: nil, rfc822_name: nil, uniform_resource_identifier: nil)
  @directory_name = directory_name.is_a?(Hash) ? ::AWSCDK::ACMPCA::CfnCertificate::SubjectProperty.new(**directory_name.transform_keys(&:to_sym)) : directory_name
  Jsii::Type.check_type(@directory_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hY21wY2EuQ2ZuQ2VydGlmaWNhdGUuU3ViamVjdFByb3BlcnR5In1dfX0=")), "directoryName") unless @directory_name.nil?
  @dns_name = dns_name
  Jsii::Type.check_type(@dns_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dnsName") unless @dns_name.nil?
  @edi_party_name = edi_party_name.is_a?(Hash) ? ::AWSCDK::ACMPCA::CfnCertificate::EdiPartyNameProperty.new(**edi_party_name.transform_keys(&:to_sym)) : edi_party_name
  Jsii::Type.check_type(@edi_party_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hY21wY2EuQ2ZuQ2VydGlmaWNhdGUuRWRpUGFydHlOYW1lUHJvcGVydHkifV19fQ==")), "ediPartyName") unless @edi_party_name.nil?
  @ip_address = ip_address
  Jsii::Type.check_type(@ip_address, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipAddress") unless @ip_address.nil?
  @other_name = other_name.is_a?(Hash) ? ::AWSCDK::ACMPCA::CfnCertificate::OtherNameProperty.new(**other_name.transform_keys(&:to_sym)) : other_name
  Jsii::Type.check_type(@other_name, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hY21wY2EuQ2ZuQ2VydGlmaWNhdGUuT3RoZXJOYW1lUHJvcGVydHkifV19fQ==")), "otherName") unless @other_name.nil?
  @registered_id = registered_id
  Jsii::Type.check_type(@registered_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "registeredId") unless @registered_id.nil?
  @rfc822_name = rfc822_name
  Jsii::Type.check_type(@rfc822_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "rfc822Name") unless @rfc822_name.nil?
  @uniform_resource_identifier = uniform_resource_identifier
  Jsii::Type.check_type(@uniform_resource_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "uniformResourceIdentifier") unless @uniform_resource_identifier.nil?
end

Instance Attribute Details

#directory_nameAWSCDK::IResolvable, ... (readonly)

Contains information about the certificate subject.

The certificate can be one issued by your private certificate authority (CA) or it can be your private CA certificate. The Subject field in the certificate identifies the entity that owns or controls the public key in the certificate. The entity can be a user, computer, device, or service. The Subject must contain an X.500 distinguished name (DN). A DN is a sequence of relative distinguished names (RDNs). The RDNs are separated by commas in the certificate. The DN must be unique for each entity, but your private CA can issue more than one certificate with the same DN to the same entity.



942
943
944
# File 'acmpca/cfn_certificate.rb', line 942

def directory_name
  @directory_name
end

#dns_nameString? (readonly)

Represents GeneralName as a DNS name.



947
948
949
# File 'acmpca/cfn_certificate.rb', line 947

def dns_name
  @dns_name
end

#edi_party_nameAWSCDK::IResolvable, ... (readonly)

Represents GeneralName as an EdiPartyName object.



952
953
954
# File 'acmpca/cfn_certificate.rb', line 952

def edi_party_name
  @edi_party_name
end

#ip_addressString? (readonly)

Represents GeneralName as an IPv4 or IPv6 address.



957
958
959
# File 'acmpca/cfn_certificate.rb', line 957

def ip_address
  @ip_address
end

#other_nameAWSCDK::IResolvable, ... (readonly)

Represents GeneralName using an OtherName object.



962
963
964
# File 'acmpca/cfn_certificate.rb', line 962

def other_name
  @other_name
end

#registered_idString? (readonly)

Represents GeneralName as an object identifier (OID).



967
968
969
# File 'acmpca/cfn_certificate.rb', line 967

def registered_id
  @registered_id
end

#rfc822_nameString? (readonly)

Represents GeneralName as an RFC 822 email address.



972
973
974
# File 'acmpca/cfn_certificate.rb', line 972

def rfc822_name
  @rfc822_name
end

#uniform_resource_identifierString? (readonly)

Represents GeneralName as a URI.



977
978
979
# File 'acmpca/cfn_certificate.rb', line 977

def uniform_resource_identifier
  @uniform_resource_identifier
end

Class Method Details

.jsii_propertiesObject



979
980
981
982
983
984
985
986
987
988
989
990
# File 'acmpca/cfn_certificate.rb', line 979

def self.jsii_properties
  {
    :directory_name => "directoryName",
    :dns_name => "dnsName",
    :edi_party_name => "ediPartyName",
    :ip_address => "ipAddress",
    :other_name => "otherName",
    :registered_id => "registeredId",
    :rfc822_name => "rfc822Name",
    :uniform_resource_identifier => "uniformResourceIdentifier",
  }
end

Instance Method Details

#to_jsiiObject



992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
# File 'acmpca/cfn_certificate.rb', line 992

def to_jsii
  result = {}
  result.merge!({
    "directoryName" => @directory_name,
    "dnsName" => @dns_name,
    "ediPartyName" => @edi_party_name,
    "ipAddress" => @ip_address,
    "otherName" => @other_name,
    "registeredId" => @registered_id,
    "rfc822Name" => @rfc822_name,
    "uniformResourceIdentifier" => @uniform_resource_identifier,
  })
  result.compact
end