package awsacmpca // Properties for defining a `CfnCertificate`. // // Example: // // The code below shows an example of how to instantiate this type. // // The values are placeholders you should change. // import "github.com/aws/aws-cdk-go/awscdk" // // cfnCertificateProps := &CfnCertificateProps{ // CertificateAuthorityArn: jsii.String("certificateAuthorityArn"), // CertificateSigningRequest: jsii.String("certificateSigningRequest"), // SigningAlgorithm: jsii.String("signingAlgorithm"), // Validity: &ValidityProperty{ // Type: jsii.String("type"), // Value: jsii.Number(123), // }, // // // the properties below are optional // ApiPassthrough: &ApiPassthroughProperty{ // Extensions: &ExtensionsProperty{ // CertificatePolicies: []interface{}{ // &PolicyInformationProperty{ // CertPolicyId: jsii.String("certPolicyId"), // // // the properties below are optional // PolicyQualifiers: []interface{}{ // &PolicyQualifierInfoProperty{ // PolicyQualifierId: jsii.String("policyQualifierId"), // Qualifier: &QualifierProperty{ // CpsUri: jsii.String("cpsUri"), // }, // }, // }, // }, // }, // CustomExtensions: []interface{}{ // &CustomExtensionProperty{ // ObjectIdentifier: jsii.String("objectIdentifier"), // Value: jsii.String("value"), // // // the properties below are optional // Critical: jsii.Boolean(false), // }, // }, // ExtendedKeyUsage: []interface{}{ // &ExtendedKeyUsageProperty{ // ExtendedKeyUsageObjectIdentifier: jsii.String("extendedKeyUsageObjectIdentifier"), // ExtendedKeyUsageType: jsii.String("extendedKeyUsageType"), // }, // }, // KeyUsage: &KeyUsageProperty{ // CrlSign: jsii.Boolean(false), // DataEncipherment: jsii.Boolean(false), // DecipherOnly: jsii.Boolean(false), // DigitalSignature: jsii.Boolean(false), // EncipherOnly: jsii.Boolean(false), // KeyAgreement: jsii.Boolean(false), // KeyCertSign: jsii.Boolean(false), // KeyEncipherment: jsii.Boolean(false), // NonRepudiation: jsii.Boolean(false), // }, // SubjectAlternativeNames: []interface{}{ // &GeneralNameProperty{ // DirectoryName: &SubjectProperty{ // CommonName: jsii.String("commonName"), // Country: jsii.String("country"), // CustomAttributes: []interface{}{ // &CustomAttributeProperty{ // ObjectIdentifier: jsii.String("objectIdentifier"), // Value: jsii.String("value"), // }, // }, // DistinguishedNameQualifier: jsii.String("distinguishedNameQualifier"), // GenerationQualifier: jsii.String("generationQualifier"), // GivenName: jsii.String("givenName"), // Initials: jsii.String("initials"), // Locality: jsii.String("locality"), // Organization: jsii.String("organization"), // OrganizationalUnit: jsii.String("organizationalUnit"), // Pseudonym: jsii.String("pseudonym"), // SerialNumber: jsii.String("serialNumber"), // State: jsii.String("state"), // Surname: jsii.String("surname"), // Title: jsii.String("title"), // }, // DnsName: jsii.String("dnsName"), // EdiPartyName: &EdiPartyNameProperty{ // NameAssigner: jsii.String("nameAssigner"), // PartyName: jsii.String("partyName"), // }, // IpAddress: jsii.String("ipAddress"), // OtherName: &OtherNameProperty{ // TypeId: jsii.String("typeId"), // Value: jsii.String("value"), // }, // RegisteredId: jsii.String("registeredId"), // Rfc822Name: jsii.String("rfc822Name"), // UniformResourceIdentifier: jsii.String("uniformResourceIdentifier"), // }, // }, // }, // Subject: &SubjectProperty{ // CommonName: jsii.String("commonName"), // Country: jsii.String("country"), // CustomAttributes: []interface{}{ // &CustomAttributeProperty{ // ObjectIdentifier: jsii.String("objectIdentifier"), // Value: jsii.String("value"), // }, // }, // DistinguishedNameQualifier: jsii.String("distinguishedNameQualifier"), // GenerationQualifier: jsii.String("generationQualifier"), // GivenName: jsii.String("givenName"), // Initials: jsii.String("initials"), // Locality: jsii.String("locality"), // Organization: jsii.String("organization"), // OrganizationalUnit: jsii.String("organizationalUnit"), // Pseudonym: jsii.String("pseudonym"), // SerialNumber: jsii.String("serialNumber"), // State: jsii.String("state"), // Surname: jsii.String("surname"), // Title: jsii.String("title"), // }, // }, // TemplateArn: jsii.String("templateArn"), // ValidityNotBefore: &ValidityProperty{ // Type: jsii.String("type"), // Value: jsii.Number(123), // }, // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html // type CfnCertificateProps struct { // The Amazon Resource Name (ARN) for the private CA issues the certificate. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificateauthorityarn // CertificateAuthorityArn *string `field:"required" json:"certificateAuthorityArn" yaml:"certificateAuthorityArn"` // The certificate signing request (CSR) for the certificate. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-certificatesigningrequest // CertificateSigningRequest *string `field:"required" json:"certificateSigningRequest" yaml:"certificateSigningRequest"` // The name of the algorithm that will be used to sign the certificate to be issued. // // This parameter should not be confused with the `SigningAlgorithm` parameter used to sign a CSR in the `CreateCertificateAuthority` action. // // > The specified signing algorithm family (RSA or ECDSA) must match the algorithm family of the CA's secret key. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-signingalgorithm // SigningAlgorithm *string `field:"required" json:"signingAlgorithm" yaml:"signingAlgorithm"` // The period of time during which the certificate will be valid. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-validity // Validity interface{} `field:"required" json:"validity" yaml:"validity"` // Specifies X.509 certificate information to be included in the issued certificate. An `APIPassthrough` or `APICSRPassthrough` template variant must be selected, or else this parameter is ignored. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-apipassthrough // ApiPassthrough interface{} `field:"optional" json:"apiPassthrough" yaml:"apiPassthrough"` // Specifies a custom configuration template to use when issuing a certificate. // // If this parameter is not provided, AWS Private CA defaults to the `EndEntityCertificate/V1` template. For more information about AWS Private CA templates, see [Using Templates](https://docs.aws.amazon.com/privateca/latest/userguide/UsingTemplates.html) . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-templatearn // TemplateArn *string `field:"optional" json:"templateArn" yaml:"templateArn"` // Information describing the start of the validity period of the certificate. // // This parameter sets the “Not Before" date for the certificate. // // By default, when issuing a certificate, AWS Private CA sets the "Not Before" date to the issuance time minus 60 minutes. This compensates for clock inconsistencies across computer systems. The `ValidityNotBefore` parameter can be used to customize the “Not Before†value. // // Unlike the `Validity` parameter, the `ValidityNotBefore` parameter is optional. // // The `ValidityNotBefore` value is expressed as an explicit date and time, using the `Validity` type value `ABSOLUTE` . // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-acmpca-certificate.html#cfn-acmpca-certificate-validitynotbefore // ValidityNotBefore interface{} `field:"optional" json:"validityNotBefore" yaml:"validityNotBefore"` }