Class: AWSCDK::PCAConnectorAD::CfnTemplate::PrivateKeyAttributesV4Property

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
pca_connector_ad/cfn_template.rb

Overview

Defines the attributes of the private key.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key_spec:, minimal_key_length:, algorithm: nil, crypto_providers: nil, key_usage_property: nil) ⇒ PrivateKeyAttributesV4Property

Returns a new instance of PrivateKeyAttributesV4Property.

Parameters:

  • key_spec (String)

    Defines the purpose of the private key.

  • minimal_key_length (Numeric)

    Set the minimum key length of the private key.

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

    Defines the algorithm used to generate the private key.

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

    Defines the cryptographic providers used to generate the private key.

  • key_usage_property (AWSCDK::IResolvable, AWSCDK::PCAConnectorAD::CfnTemplate::KeyUsagePropertyProperty, nil) (defaults to: nil)

    The key usage property defines the purpose of the private key contained in the certificate.



1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
# File 'pca_connector_ad/cfn_template.rb', line 1547

def initialize(key_spec:, minimal_key_length:, algorithm: nil, crypto_providers: nil, key_usage_property: nil)
  @key_spec = key_spec
  Jsii::Type.check_type(@key_spec, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "keySpec")
  @minimal_key_length = minimal_key_length
  Jsii::Type.check_type(@minimal_key_length, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minimalKeyLength")
  @algorithm = algorithm
  Jsii::Type.check_type(@algorithm, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "algorithm") unless @algorithm.nil?
  @crypto_providers = crypto_providers
  Jsii::Type.check_type(@crypto_providers, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "cryptoProviders") unless @crypto_providers.nil?
  @key_usage_property = key_usage_property.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::KeyUsagePropertyProperty.new(**key_usage_property.transform_keys(&:to_sym)) : key_usage_property
  Jsii::Type.check_type(@key_usage_property, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5LZXlVc2FnZVByb3BlcnR5UHJvcGVydHkifV19fQ==")), "keyUsageProperty") unless @key_usage_property.nil?
end

Instance Attribute Details

#algorithmString? (readonly)

Defines the algorithm used to generate the private key.



1576
1577
1578
# File 'pca_connector_ad/cfn_template.rb', line 1576

def algorithm
  @algorithm
end

#crypto_providersArray<String>? (readonly)

Defines the cryptographic providers used to generate the private key.



1581
1582
1583
# File 'pca_connector_ad/cfn_template.rb', line 1581

def crypto_providers
  @crypto_providers
end

#key_specString (readonly)

Defines the purpose of the private key.

Set it to "KEY_EXCHANGE" or "SIGNATURE" value.



1566
1567
1568
# File 'pca_connector_ad/cfn_template.rb', line 1566

def key_spec
  @key_spec
end

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

The key usage property defines the purpose of the private key contained in the certificate.

You can specify specific purposes using property flags or all by using property type ALL.



1588
1589
1590
# File 'pca_connector_ad/cfn_template.rb', line 1588

def key_usage_property
  @key_usage_property
end

#minimal_key_lengthNumeric (readonly)

Set the minimum key length of the private key.



1571
1572
1573
# File 'pca_connector_ad/cfn_template.rb', line 1571

def minimal_key_length
  @minimal_key_length
end

Class Method Details

.jsii_propertiesObject



1590
1591
1592
1593
1594
1595
1596
1597
1598
# File 'pca_connector_ad/cfn_template.rb', line 1590

def self.jsii_properties
  {
    :key_spec => "keySpec",
    :minimal_key_length => "minimalKeyLength",
    :algorithm => "algorithm",
    :crypto_providers => "cryptoProviders",
    :key_usage_property => "keyUsageProperty",
  }
end

Instance Method Details

#to_jsiiObject



1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
# File 'pca_connector_ad/cfn_template.rb', line 1600

def to_jsii
  result = {}
  result.merge!({
    "keySpec" => @key_spec,
    "minimalKeyLength" => @minimal_key_length,
    "algorithm" => @algorithm,
    "cryptoProviders" => @crypto_providers,
    "keyUsageProperty" => @key_usage_property,
  })
  result.compact
end