Class: AWSCDK::PCAConnectorAD::CfnTemplate::TemplateV4Property

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

Overview

v4 template schema that can use either Legacy Cryptographic Providers or 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:, private_key_attributes:, private_key_flags:, subject_name_flags:, hash_algorithm: nil, superseded_templates: nil) ⇒ TemplateV4Property

Returns a new instance of TemplateV4Property.

Parameters:



2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
# File 'pca_connector_ad/cfn_template.rb', line 2485

def initialize(certificate_validity:, enrollment_flags:, extensions:, general_flags:, private_key_attributes:, private_key_flags:, subject_name_flags:, hash_algorithm: nil, 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::EnrollmentFlagsV4Property.new(**enrollment_flags.transform_keys(&:to_sym)) : enrollment_flags
  Jsii::Type.check_type(@enrollment_flags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5FbnJvbGxtZW50RmxhZ3NWNFByb3BlcnR5In1dfX0=")), "enrollmentFlags")
  @extensions = extensions.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::ExtensionsV4Property.new(**extensions.transform_keys(&:to_sym)) : extensions
  Jsii::Type.check_type(@extensions, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5FeHRlbnNpb25zVjRQcm9wZXJ0eSJ9XX19")), "extensions")
  @general_flags = general_flags.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::GeneralFlagsV4Property.new(**general_flags.transform_keys(&:to_sym)) : general_flags
  Jsii::Type.check_type(@general_flags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5HZW5lcmFsRmxhZ3NWNFByb3BlcnR5In1dfX0=")), "generalFlags")
  @private_key_attributes = private_key_attributes.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::PrivateKeyAttributesV4Property.new(**private_key_attributes.transform_keys(&:to_sym)) : private_key_attributes
  Jsii::Type.check_type(@private_key_attributes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5Qcml2YXRlS2V5QXR0cmlidXRlc1Y0UHJvcGVydHkifV19fQ==")), "privateKeyAttributes")
  @private_key_flags = private_key_flags.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::PrivateKeyFlagsV4Property.new(**private_key_flags.transform_keys(&:to_sym)) : private_key_flags
  Jsii::Type.check_type(@private_key_flags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5Qcml2YXRlS2V5RmxhZ3NWNFByb3BlcnR5In1dfX0=")), "privateKeyFlags")
  @subject_name_flags = subject_name_flags.is_a?(Hash) ? ::AWSCDK::PCAConnectorAD::CfnTemplate::SubjectNameFlagsV4Property.new(**subject_name_flags.transform_keys(&:to_sym)) : subject_name_flags
  Jsii::Type.check_type(@subject_name_flags, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19wY2Fjb25uZWN0b3JhZC5DZm5UZW1wbGF0ZS5TdWJqZWN0TmFtZUZsYWdzVjRQcm9wZXJ0eSJ9XX19")), "subjectNameFlags")
  @hash_algorithm = hash_algorithm
  Jsii::Type.check_type(@hash_algorithm, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "hashAlgorithm") unless @hash_algorithm.nil?
  @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.



2510
2511
2512
# File 'pca_connector_ad/cfn_template.rb', line 2510

def certificate_validity
  @certificate_validity
end

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

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



2515
2516
2517
# File 'pca_connector_ad/cfn_template.rb', line 2515

def enrollment_flags
  @enrollment_flags
end

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

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



2520
2521
2522
# File 'pca_connector_ad/cfn_template.rb', line 2520

def extensions
  @extensions
end

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

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



2525
2526
2527
# File 'pca_connector_ad/cfn_template.rb', line 2525

def general_flags
  @general_flags
end

#hash_algorithmString? (readonly)

Specifies the hash algorithm used to hash the private key.

Hash algorithm can only be specified when using Key Storage Providers.



2549
2550
2551
# File 'pca_connector_ad/cfn_template.rb', line 2549

def hash_algorithm
  @hash_algorithm
end

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

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

V4 templates allow you to use either Key Storage Providers or Legacy Cryptographic Service Providers. You specify the cryptography provider category in private key flags.



2532
2533
2534
# File 'pca_connector_ad/cfn_template.rb', line 2532

def private_key_attributes
  @private_key_attributes
end

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

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



2537
2538
2539
# File 'pca_connector_ad/cfn_template.rb', line 2537

def private_key_flags
  @private_key_flags
end

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

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



2542
2543
2544
# File 'pca_connector_ad/cfn_template.rb', line 2542

def subject_name_flags
  @subject_name_flags
end

#superseded_templatesArray<String>? (readonly)

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



2554
2555
2556
# File 'pca_connector_ad/cfn_template.rb', line 2554

def superseded_templates
  @superseded_templates
end

Class Method Details

.jsii_propertiesObject



2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
# File 'pca_connector_ad/cfn_template.rb', line 2556

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

Instance Method Details

#to_jsiiObject



2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
# File 'pca_connector_ad/cfn_template.rb', line 2570

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