java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.93.0 (build 1706ca5)", date="2024-01-03T18:29:29.619Z") @Stability(Stable) public class CfnTemplate extends CfnResource implements IInspectable
Creates an Active Directory compatible certificate template.

The connectors issues certificates using these templates based on the requester’s Active Directory group membership.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.pcaconnectorad.*;
 CfnTemplate cfnTemplate = CfnTemplate.Builder.create(this, "MyCfnTemplate")
         .connectorArn("connectorArn")
         .definition(TemplateDefinitionProperty.builder()
                 .templateV2(TemplateV2Property.builder()
                         .certificateValidity(CertificateValidityProperty.builder()
                                 .renewalPeriod(ValidityPeriodProperty.builder()
                                         .period(123)
                                         .periodType("periodType")
                                         .build())
                                 .validityPeriod(ValidityPeriodProperty.builder()
                                         .period(123)
                                         .periodType("periodType")
                                         .build())
                                 .build())
                         .enrollmentFlags(EnrollmentFlagsV2Property.builder()
                                 .enableKeyReuseOnNtTokenKeysetStorageFull(false)
                                 .includeSymmetricAlgorithms(false)
                                 .noSecurityExtension(false)
                                 .removeInvalidCertificateFromPersonalStore(false)
                                 .userInteractionRequired(false)
                                 .build())
                         .extensions(ExtensionsV2Property.builder()
                                 .keyUsage(KeyUsageProperty.builder()
                                         .usageFlags(KeyUsageFlagsProperty.builder()
                                                 .dataEncipherment(false)
                                                 .digitalSignature(false)
                                                 .keyAgreement(false)
                                                 .keyEncipherment(false)
                                                 .nonRepudiation(false)
                                                 .build())
                                         // the properties below are optional
                                         .critical(false)
                                         .build())
                                 // the properties below are optional
                                 .applicationPolicies(ApplicationPoliciesProperty.builder()
                                         .policies(List.of(ApplicationPolicyProperty.builder()
                                                 .policyObjectIdentifier("policyObjectIdentifier")
                                                 .policyType("policyType")
                                                 .build()))
                                         // the properties below are optional
                                         .critical(false)
                                         .build())
                                 .build())
                         .generalFlags(GeneralFlagsV2Property.builder()
                                 .autoEnrollment(false)
                                 .machineType(false)
                                 .build())
                         .privateKeyAttributes(PrivateKeyAttributesV2Property.builder()
                                 .keySpec("keySpec")
                                 .minimalKeyLength(123)
                                 // the properties below are optional
                                 .cryptoProviders(List.of("cryptoProviders"))
                                 .build())
                         .privateKeyFlags(PrivateKeyFlagsV2Property.builder()
                                 .clientVersion("clientVersion")
                                 // the properties below are optional
                                 .exportableKey(false)
                                 .strongKeyProtectionRequired(false)
                                 .build())
                         .subjectNameFlags(SubjectNameFlagsV2Property.builder()
                                 .requireCommonName(false)
                                 .requireDirectoryPath(false)
                                 .requireDnsAsCn(false)
                                 .requireEmail(false)
                                 .sanRequireDirectoryGuid(false)
                                 .sanRequireDns(false)
                                 .sanRequireDomainDns(false)
                                 .sanRequireEmail(false)
                                 .sanRequireSpn(false)
                                 .sanRequireUpn(false)
                                 .build())
                         // the properties below are optional
                         .supersededTemplates(List.of("supersededTemplates"))
                         .build())
                 .templateV3(TemplateV3Property.builder()
                         .certificateValidity(CertificateValidityProperty.builder()
                                 .renewalPeriod(ValidityPeriodProperty.builder()
                                         .period(123)
                                         .periodType("periodType")
                                         .build())
                                 .validityPeriod(ValidityPeriodProperty.builder()
                                         .period(123)
                                         .periodType("periodType")
                                         .build())
                                 .build())
                         .enrollmentFlags(EnrollmentFlagsV3Property.builder()
                                 .enableKeyReuseOnNtTokenKeysetStorageFull(false)
                                 .includeSymmetricAlgorithms(false)
                                 .noSecurityExtension(false)
                                 .removeInvalidCertificateFromPersonalStore(false)
                                 .userInteractionRequired(false)
                                 .build())
                         .extensions(ExtensionsV3Property.builder()
                                 .keyUsage(KeyUsageProperty.builder()
                                         .usageFlags(KeyUsageFlagsProperty.builder()
                                                 .dataEncipherment(false)
                                                 .digitalSignature(false)
                                                 .keyAgreement(false)
                                                 .keyEncipherment(false)
                                                 .nonRepudiation(false)
                                                 .build())
                                         // the properties below are optional
                                         .critical(false)
                                         .build())
                                 // the properties below are optional
                                 .applicationPolicies(ApplicationPoliciesProperty.builder()
                                         .policies(List.of(ApplicationPolicyProperty.builder()
                                                 .policyObjectIdentifier("policyObjectIdentifier")
                                                 .policyType("policyType")
                                                 .build()))
                                         // the properties below are optional
                                         .critical(false)
                                         .build())
                                 .build())
                         .generalFlags(GeneralFlagsV3Property.builder()
                                 .autoEnrollment(false)
                                 .machineType(false)
                                 .build())
                         .hashAlgorithm("hashAlgorithm")
                         .privateKeyAttributes(PrivateKeyAttributesV3Property.builder()
                                 .algorithm("algorithm")
                                 .keySpec("keySpec")
                                 .keyUsageProperty(KeyUsagePropertyProperty.builder()
                                         .propertyFlags(KeyUsagePropertyFlagsProperty.builder()
                                                 .decrypt(false)
                                                 .keyAgreement(false)
                                                 .sign(false)
                                                 .build())
                                         .propertyType("propertyType")
                                         .build())
                                 .minimalKeyLength(123)
                                 // the properties below are optional
                                 .cryptoProviders(List.of("cryptoProviders"))
                                 .build())
                         .privateKeyFlags(PrivateKeyFlagsV3Property.builder()
                                 .clientVersion("clientVersion")
                                 // the properties below are optional
                                 .exportableKey(false)
                                 .requireAlternateSignatureAlgorithm(false)
                                 .strongKeyProtectionRequired(false)
                                 .build())
                         .subjectNameFlags(SubjectNameFlagsV3Property.builder()
                                 .requireCommonName(false)
                                 .requireDirectoryPath(false)
                                 .requireDnsAsCn(false)
                                 .requireEmail(false)
                                 .sanRequireDirectoryGuid(false)
                                 .sanRequireDns(false)
                                 .sanRequireDomainDns(false)
                                 .sanRequireEmail(false)
                                 .sanRequireSpn(false)
                                 .sanRequireUpn(false)
                                 .build())
                         // the properties below are optional
                         .supersededTemplates(List.of("supersededTemplates"))
                         .build())
                 .templateV4(TemplateV4Property.builder()
                         .certificateValidity(CertificateValidityProperty.builder()
                                 .renewalPeriod(ValidityPeriodProperty.builder()
                                         .period(123)
                                         .periodType("periodType")
                                         .build())
                                 .validityPeriod(ValidityPeriodProperty.builder()
                                         .period(123)
                                         .periodType("periodType")
                                         .build())
                                 .build())
                         .enrollmentFlags(EnrollmentFlagsV4Property.builder()
                                 .enableKeyReuseOnNtTokenKeysetStorageFull(false)
                                 .includeSymmetricAlgorithms(false)
                                 .noSecurityExtension(false)
                                 .removeInvalidCertificateFromPersonalStore(false)
                                 .userInteractionRequired(false)
                                 .build())
                         .extensions(ExtensionsV4Property.builder()
                                 .keyUsage(KeyUsageProperty.builder()
                                         .usageFlags(KeyUsageFlagsProperty.builder()
                                                 .dataEncipherment(false)
                                                 .digitalSignature(false)
                                                 .keyAgreement(false)
                                                 .keyEncipherment(false)
                                                 .nonRepudiation(false)
                                                 .build())
                                         // the properties below are optional
                                         .critical(false)
                                         .build())
                                 // the properties below are optional
                                 .applicationPolicies(ApplicationPoliciesProperty.builder()
                                         .policies(List.of(ApplicationPolicyProperty.builder()
                                                 .policyObjectIdentifier("policyObjectIdentifier")
                                                 .policyType("policyType")
                                                 .build()))
                                         // the properties below are optional
                                         .critical(false)
                                         .build())
                                 .build())
                         .generalFlags(GeneralFlagsV4Property.builder()
                                 .autoEnrollment(false)
                                 .machineType(false)
                                 .build())
                         .privateKeyAttributes(PrivateKeyAttributesV4Property.builder()
                                 .keySpec("keySpec")
                                 .minimalKeyLength(123)
                                 // the properties below are optional
                                 .algorithm("algorithm")
                                 .cryptoProviders(List.of("cryptoProviders"))
                                 .keyUsageProperty(KeyUsagePropertyProperty.builder()
                                         .propertyFlags(KeyUsagePropertyFlagsProperty.builder()
                                                 .decrypt(false)
                                                 .keyAgreement(false)
                                                 .sign(false)
                                                 .build())
                                         .propertyType("propertyType")
                                         .build())
                                 .build())
                         .privateKeyFlags(PrivateKeyFlagsV4Property.builder()
                                 .clientVersion("clientVersion")
                                 // the properties below are optional
                                 .exportableKey(false)
                                 .requireAlternateSignatureAlgorithm(false)
                                 .requireSameKeyRenewal(false)
                                 .strongKeyProtectionRequired(false)
                                 .useLegacyProvider(false)
                                 .build())
                         .subjectNameFlags(SubjectNameFlagsV4Property.builder()
                                 .requireCommonName(false)
                                 .requireDirectoryPath(false)
                                 .requireDnsAsCn(false)
                                 .requireEmail(false)
                                 .sanRequireDirectoryGuid(false)
                                 .sanRequireDns(false)
                                 .sanRequireDomainDns(false)
                                 .sanRequireEmail(false)
                                 .sanRequireSpn(false)
                                 .sanRequireUpn(false)
                                 .build())
                         // the properties below are optional
                         .hashAlgorithm("hashAlgorithm")
                         .supersededTemplates(List.of("supersededTemplates"))
                         .build())
                 .build())
         .name("name")
         // the properties below are optional
         .reenrollAllCertificateHolders(false)
         .tags(Map.of(
                 "tagsKey", "tags"))
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnTemplate

      protected CfnTemplate(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnTemplate

      protected CfnTemplate(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnTemplate

      @Stability(Stable) public CfnTemplate(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnTemplateProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties. This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrTemplateArn

      @Stability(Stable) @NotNull public String getAttrTemplateArn()
      The Amazon Resource Name (ARN) that was returned when you called CreateTemplate .
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getConnectorArn

      @Stability(Stable) @NotNull public String getConnectorArn()
      The Amazon Resource Name (ARN) that was returned when you called CreateConnector .
    • setConnectorArn

      @Stability(Stable) public void setConnectorArn(@NotNull String value)
      The Amazon Resource Name (ARN) that was returned when you called CreateConnector .
    • getDefinition

      @Stability(Stable) @NotNull public Object getDefinition()
      Template configuration to define the information included in certificates.
    • setDefinition

      @Stability(Stable) public void setDefinition(@NotNull IResolvable value)
      Template configuration to define the information included in certificates.
    • setDefinition

      @Stability(Stable) public void setDefinition(@NotNull CfnTemplate.TemplateDefinitionProperty value)
      Template configuration to define the information included in certificates.
    • getName

      @Stability(Stable) @NotNull public String getName()
      Name of the templates.
    • setName

      @Stability(Stable) public void setName(@NotNull String value)
      Name of the templates.
    • getReenrollAllCertificateHolders

      @Stability(Stable) @Nullable public Object getReenrollAllCertificateHolders()
      This setting allows the major version of a template to be increased automatically.
    • setReenrollAllCertificateHolders

      @Stability(Stable) public void setReenrollAllCertificateHolders(@Nullable Boolean value)
      This setting allows the major version of a template to be increased automatically.
    • setReenrollAllCertificateHolders

      @Stability(Stable) public void setReenrollAllCertificateHolders(@Nullable IResolvable value)
      This setting allows the major version of a template to be increased automatically.
    • getTags

      @Stability(Stable) @Nullable public Map<String,String> getTags()
      Metadata assigned to a template consisting of a key-value pair.
    • setTags

      @Stability(Stable) public void setTags(@Nullable Map<String,String> value)
      Metadata assigned to a template consisting of a key-value pair.