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

@Generated(value="jsii-pacmak/1.101.0 (build b95fe5d)", date="2024-07-12T19:34:06.259Z") @Stability(Stable) public class CfnTemplate extends CfnResource implements IInspectable, ITaggableV2
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 .
    • getCdkTagManager

      @Stability(Stable) @NotNull public TagManager getCdkTagManager()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getCdkTagManager in interface ITaggableV2
    • 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.