Class: AWSCDK::PCAConnectorAD::CfnTemplate::TemplateV3Property

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

Overview

v3 template schema that uses Key Storage Providers.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(certificate_validity:, enrollment_flags:, extensions:, general_flags:, hash_algorithm:, private_key_attributes:, private_key_flags:, subject_name_flags:, superseded_templates: nil) ⇒ TemplateV3Property

Returns a new instance of TemplateV3Property.

Parameters:



2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
# File 'pca_connector_ad/cfn_template.rb', line 2370

def initialize(certificate_validity:, enrollment_flags:, extensions:, general_flags:, hash_algorithm:, private_key_attributes:, private_key_flags:, subject_name_flags:, superseded_templates: nil)
  @certificate_validity = certificate_validity.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::CertificateValidityProperty.new(**certificate_validity.transform_keys(&:to_sym)) : certificate_validity
  Jsii::Type.check_type(@certificate_validity, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5DZXJ0aWZpY2F0ZVZhbGlkaXR5UHJvcGVydHkifV19fQ==")), "certificateValidity")
  @enrollment_flags = enrollment_flags.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::EnrollmentFlagsV3Property.new(**enrollment_flags.transform_keys(&:to_sym)) : enrollment_flags
  Jsii::Type.check_type(@enrollment_flags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5FbnJvbGxtZW50RmxhZ3NWM1Byb3BlcnR5In1dfX0=")), "enrollmentFlags")
  @extensions = extensions.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::ExtensionsV3Property.new(**extensions.transform_keys(&:to_sym)) : extensions
  Jsii::Type.check_type(@extensions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5FeHRlbnNpb25zVjNQcm9wZXJ0eSJ9XX19")), "extensions")
  @general_flags = general_flags.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::GeneralFlagsV3Property.new(**general_flags.transform_keys(&:to_sym)) : general_flags
  Jsii::Type.check_type(@general_flags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5HZW5lcmFsRmxhZ3NWM1Byb3BlcnR5In1dfX0=")), "generalFlags")
  @hash_algorithm = hash_algorithm
  Jsii::Type.check_type(@hash_algorithm, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hashAlgorithm")
  @private_key_attributes = private_key_attributes.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::PrivateKeyAttributesV3Property.new(**private_key_attributes.transform_keys(&:to_sym)) : private_key_attributes
  Jsii::Type.check_type(@private_key_attributes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5Qcml2YXRlS2V5QXR0cmlidXRlc1YzUHJvcGVydHkifV19fQ==")), "privateKeyAttributes")
  @private_key_flags = private_key_flags.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::PrivateKeyFlagsV3Property.new(**private_key_flags.transform_keys(&:to_sym)) : private_key_flags
  Jsii::Type.check_type(@private_key_flags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5Qcml2YXRlS2V5RmxhZ3NWM1Byb3BlcnR5In1dfX0=")), "privateKeyFlags")
  @subject_name_flags = subject_name_flags.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::SubjectNameFlagsV3Property.new(**subject_name_flags.transform_keys(&:to_sym)) : subject_name_flags
  Jsii::Type.check_type(@subject_name_flags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5TdWJqZWN0TmFtZUZsYWdzVjNQcm9wZXJ0eSJ9XX19")), "subjectNameFlags")
  @superseded_templates = superseded_templates
  Jsii::Type.check_type(@superseded_templates, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "supersededTemplates") unless @superseded_templates.nil?
end

Instance Attribute Details

#certificate_validityAWSCDK::IResolvable, AWSCDK::PCAConnectorAD::CfnTemplate::CertificateValidityProperty (readonly)

Certificate validity describes the validity and renewal periods of a certificate.



2395
2396
2397
# File 'pca_connector_ad/cfn_template.rb', line 2395

def certificate_validity
  @certificate_validity
end

#enrollment_flagsAWSCDK::IResolvable, AWSCDK::PCAConnectorAD::CfnTemplate::EnrollmentFlagsV3Property (readonly)

Enrollment flags describe the enrollment settings for certificates such as using the existing private key and deleting expired or revoked certificates.



2400
2401
2402
# File 'pca_connector_ad/cfn_template.rb', line 2400

def enrollment_flags
  @enrollment_flags
end

#extensionsAWSCDK::IResolvable, AWSCDK::PCAConnectorAD::CfnTemplate::ExtensionsV3Property (readonly)

Extensions describe the key usage extensions and application policies for a template.



2405
2406
2407
# File 'pca_connector_ad/cfn_template.rb', line 2405

def extensions
  @extensions
end

#general_flagsAWSCDK::IResolvable, AWSCDK::PCAConnectorAD::CfnTemplate::GeneralFlagsV3Property (readonly)

General flags describe whether the template is used for computers or users and if the template can be used with autoenrollment.



2410
2411
2412
# File 'pca_connector_ad/cfn_template.rb', line 2410

def general_flags
  @general_flags
end

#hash_algorithmString (readonly)

Specifies the hash algorithm used to hash the private key.



2415
2416
2417
# File 'pca_connector_ad/cfn_template.rb', line 2415

def hash_algorithm
  @hash_algorithm
end

#private_key_attributesAWSCDK::IResolvable, AWSCDK::PCAConnectorAD::CfnTemplate::PrivateKeyAttributesV3Property (readonly)

Private key attributes allow you to specify the algorithm, minimal key length, key spec, key usage, and cryptographic providers for the private key of a certificate for v3 templates.

V3 templates allow you to use Key Storage Providers.



2422
2423
2424
# File 'pca_connector_ad/cfn_template.rb', line 2422

def private_key_attributes
  @private_key_attributes
end

#private_key_flagsAWSCDK::IResolvable, AWSCDK::PCAConnectorAD::CfnTemplate::PrivateKeyFlagsV3Property (readonly)

Private key flags for v3 templates specify the client compatibility, if the private key can be exported, if user input is required when using a private key, and if an alternate signature algorithm should be used.



2427
2428
2429
# File 'pca_connector_ad/cfn_template.rb', line 2427

def private_key_flags
  @private_key_flags
end

#subject_name_flagsAWSCDK::IResolvable, AWSCDK::PCAConnectorAD::CfnTemplate::SubjectNameFlagsV3Property (readonly)

Subject name flags describe the subject name and subject alternate name that is included in a certificate.



2432
2433
2434
# File 'pca_connector_ad/cfn_template.rb', line 2432

def subject_name_flags
  @subject_name_flags
end

#superseded_templatesArray<String>? (readonly)

List of templates in Active Directory that are superseded by this template.



2437
2438
2439
# File 'pca_connector_ad/cfn_template.rb', line 2437

def superseded_templates
  @superseded_templates
end

Class Method Details

.jsii_propertiesObject



2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
# File 'pca_connector_ad/cfn_template.rb', line 2439

def self.jsii_properties
  {
    :certificate_validity => "certificateValidity",
    :enrollment_flags => "enrollmentFlags",
    :extensions => "extensions",
    :general_flags => "generalFlags",
    :hash_algorithm => "hashAlgorithm",
    :private_key_attributes => "privateKeyAttributes",
    :private_key_flags => "privateKeyFlags",
    :subject_name_flags => "subjectNameFlags",
    :superseded_templates => "supersededTemplates",
  }
end

Instance Method Details

#to_jsiiObject



2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
# File 'pca_connector_ad/cfn_template.rb', line 2453

def to_jsii
  result = {}
  result.merge!({
    "certificateValidity" => @certificate_validity,
    "enrollmentFlags" => @enrollment_flags,
    "extensions" => @extensions,
    "generalFlags" => @general_flags,
    "hashAlgorithm" => @hash_algorithm,
    "privateKeyAttributes" => @private_key_attributes,
    "privateKeyFlags" => @private_key_flags,
    "subjectNameFlags" => @subject_name_flags,
    "supersededTemplates" => @superseded_templates,
  })
  result.compact
end