awscertificatemanager

package
v2.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2022 License: Apache-2.0 Imports: 10 Imported by: 31

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Certificate_IsConstruct

func Certificate_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Certificate_IsResource

func Certificate_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func CfnAccount_CFN_RESOURCE_TYPE_NAME

func CfnAccount_CFN_RESOURCE_TYPE_NAME() *string

func CfnAccount_IsCfnElement

func CfnAccount_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAccount_IsCfnResource

func CfnAccount_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnAccount_IsConstruct

func CfnAccount_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnCertificate_CFN_RESOURCE_TYPE_NAME

func CfnCertificate_CFN_RESOURCE_TYPE_NAME() *string

func CfnCertificate_IsCfnElement

func CfnCertificate_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnCertificate_IsCfnResource

func CfnCertificate_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource.

func CfnCertificate_IsConstruct

func CfnCertificate_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func DnsValidatedCertificate_IsConstruct

func DnsValidatedCertificate_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func DnsValidatedCertificate_IsResource

func DnsValidatedCertificate_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

func NewCertificate_Override

func NewCertificate_Override(c Certificate, scope constructs.Construct, id *string, props *CertificateProps)

func NewCfnAccount_Override

func NewCfnAccount_Override(c CfnAccount, scope constructs.Construct, id *string, props *CfnAccountProps)

Create a new `AWS::CertificateManager::Account`.

func NewCfnCertificate_Override

func NewCfnCertificate_Override(c CfnCertificate, scope constructs.Construct, id *string, props *CfnCertificateProps)

Create a new `AWS::CertificateManager::Certificate`.

func NewDnsValidatedCertificate_Override

func NewDnsValidatedCertificate_Override(d DnsValidatedCertificate, scope constructs.Construct, id *string, props *DnsValidatedCertificateProps)

func NewPrivateCertificate_Override

func NewPrivateCertificate_Override(p PrivateCertificate, scope constructs.Construct, id *string, props *PrivateCertificateProps)

func PrivateCertificate_IsConstruct

func PrivateCertificate_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func PrivateCertificate_IsResource

func PrivateCertificate_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource.

Types

type Certificate

type Certificate interface {
	awscdk.Resource
	ICertificate
	CertificateArn() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Region() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	MetricDaysToExpiry(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

A certificate managed by AWS Certificate Manager.

TODO: EXAMPLE

func NewCertificate

func NewCertificate(scope constructs.Construct, id *string, props *CertificateProps) Certificate

type CertificateProps

type CertificateProps struct {
	// Fully-qualified domain name to request a certificate for.
	//
	// May contain wildcards, such as “*.domain.com“.
	DomainName *string `json:"domainName" yaml:"domainName"`
	// Alternative domain names on your certificate.
	//
	// Use this to register alternative domain names that represent the same site.
	SubjectAlternativeNames *[]*string `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
	// How to validate this certificate.
	Validation CertificateValidation `json:"validation" yaml:"validation"`
}

Properties for your certificate.

TODO: EXAMPLE

type CertificateValidation

type CertificateValidation interface {
	Method() ValidationMethod
	Props() *CertificationValidationProps
}

How to validate a certificate.

TODO: EXAMPLE

func CertificateValidation_FromDns

func CertificateValidation_FromDns(hostedZone awsroute53.IHostedZone) CertificateValidation

Validate the certificate with DNS.

IMPORTANT: If `hostedZone` is not specified, DNS records must be added manually and the stack will not complete creating until the records are added.

func CertificateValidation_FromDnsMultiZone

func CertificateValidation_FromDnsMultiZone(hostedZones *map[string]awsroute53.IHostedZone) CertificateValidation

Validate the certificate with automatically created DNS records in multiple Amazon Route 53 hosted zones.

func CertificateValidation_FromEmail

func CertificateValidation_FromEmail(validationDomains *map[string]*string) CertificateValidation

Validate the certificate with Email.

IMPORTANT: if you are creating a certificate as part of your stack, the stack will not complete creating until you read and follow the instructions in the email that you will receive.

ACM will send validation emails to the following addresses:

admin@domain.com
administrator@domain.com
hostmaster@domain.com
postmaster@domain.com
webmaster@domain.com

For every domain that you register.

type CertificationValidationProps

type CertificationValidationProps struct {
	// Hosted zone to use for DNS validation.
	HostedZone awsroute53.IHostedZone `json:"hostedZone" yaml:"hostedZone"`
	// A map of hosted zones to use for DNS validation.
	HostedZones *map[string]awsroute53.IHostedZone `json:"hostedZones" yaml:"hostedZones"`
	// Validation method.
	Method ValidationMethod `json:"method" yaml:"method"`
	// Validation domains to use for email validation.
	ValidationDomains *map[string]*string `json:"validationDomains" yaml:"validationDomains"`
}

Properties for certificate validation.

TODO: EXAMPLE

type CfnAccount

type CfnAccount interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrAccountId() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	ExpiryEventsConfiguration() interface{}
	SetExpiryEventsConfiguration(val interface{})
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CertificateManager::Account`.

The `AWS::CertificateManager::Account` resource defines the expiry event configuration that determines the number of days prior to expiry when ACM starts generating EventBridge events.

TODO: EXAMPLE

func NewCfnAccount

func NewCfnAccount(scope constructs.Construct, id *string, props *CfnAccountProps) CfnAccount

Create a new `AWS::CertificateManager::Account`.

type CfnAccountProps

type CfnAccountProps struct {
	// Object containing expiration events options associated with an AWS account .
	//
	// For more information, see [ExpiryEventsConfiguration](https://docs.aws.amazon.com/acm/latest/APIReference/API_ExpiryEventsConfiguration.html) in the API reference.
	ExpiryEventsConfiguration interface{} `json:"expiryEventsConfiguration" yaml:"expiryEventsConfiguration"`
}

Properties for defining a `CfnAccount`.

TODO: EXAMPLE

type CfnAccount_ExpiryEventsConfigurationProperty

type CfnAccount_ExpiryEventsConfigurationProperty struct {
	// This option specifies the number of days prior to certificate expiration when ACM starts generating `EventBridge` events.
	//
	// ACM sends one event per day per certificate until the certificate expires. By default, accounts receive events starting 45 days before certificate expiration.
	DaysBeforeExpiry *float64 `json:"daysBeforeExpiry" yaml:"daysBeforeExpiry"`
}

Object containing expiration events options associated with an AWS account .

For more information, see [ExpiryEventsConfiguration](https://docs.aws.amazon.com/acm/latest/APIReference/API_ExpiryEventsConfiguration.html) in the API reference.

TODO: EXAMPLE

type CfnCertificate

type CfnCertificate interface {
	awscdk.CfnResource
	awscdk.IInspectable
	CertificateAuthorityArn() *string
	SetCertificateAuthorityArn(val *string)
	CertificateTransparencyLoggingPreference() *string
	SetCertificateTransparencyLoggingPreference(val *string)
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	DomainName() *string
	SetDomainName(val *string)
	DomainValidationOptions() interface{}
	SetDomainValidationOptions(val interface{})
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	SubjectAlternativeNames() *[]*string
	SetSubjectAlternativeNames(val *[]*string)
	Tags() awscdk.TagManager
	UpdatedProperites() *map[string]interface{}
	ValidationMethod() *string
	SetValidationMethod(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CertificateManager::Certificate`.

The `AWS::CertificateManager::Certificate` resource requests an AWS Certificate Manager ( ACM ) certificate that you can use to enable secure connections. For example, you can deploy an ACM certificate to an Elastic Load Balancer to enable HTTPS support. For more information, see [RequestCertificate](https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html) in the AWS Certificate Manager API Reference.

> When you use the `AWS::CertificateManager::Certificate` resource in a CloudFormation stack, domain validation is handled automatically if all three of the following are true: The certificate domain is hosted in Amazon Route 53, the domain resides in your AWS account , and you are using DNS validation. > > However, if the certificate uses email validation, or if the domain is not hosted in Route 53, then the stack will remain in the `CREATE_IN_PROGRESS` state. Further stack operations are delayed until you validate the certificate request, either by acting upon the instructions in the validation email, or by adding a CNAME record to your DNS configuration. For more information, see [Option 1: DNS Validation](https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html) and [Option 2: Email Validation](https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html) .

TODO: EXAMPLE

func NewCfnCertificate

func NewCfnCertificate(scope constructs.Construct, id *string, props *CfnCertificateProps) CfnCertificate

Create a new `AWS::CertificateManager::Certificate`.

type CfnCertificateProps

type CfnCertificateProps struct {
	// The fully qualified domain name (FQDN), such as www.example.com, with which you want to secure an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, `*.example.com` protects `www.example.com` , `site.example.com` , and `images.example.com.`.
	DomainName *string `json:"domainName" yaml:"domainName"`
	// The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate.
	//
	// If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the [AWS Certificate Manager Private Certificate Authority (PCA)](https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html) user guide. The ARN must have the following form:
	//
	// `arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012`
	CertificateAuthorityArn *string `json:"certificateAuthorityArn" yaml:"certificateAuthorityArn"`
	// You can opt out of certificate transparency logging by specifying the `DISABLED` option. Opt in by specifying `ENABLED` .
	//
	// If you do not specify a certificate transparency logging preference on a new CloudFormation template, or if you remove the logging preference from an existing template, this is the same as explicitly enabling the preference.
	//
	// Changing the certificate transparency logging preference will update the existing resource by calling `UpdateCertificateOptions` on the certificate. This action will not create a new resource.
	CertificateTransparencyLoggingPreference *string `json:"certificateTransparencyLoggingPreference" yaml:"certificateTransparencyLoggingPreference"`
	// Domain information that domain name registrars use to verify your identity.
	//
	// > In order for a AWS::CertificateManager::Certificate to be provisioned and validated in CloudFormation automatically, the `DomainName` property needs to be identical to one of the `DomainName` property supplied in DomainValidationOptions, if the ValidationMethod is **DNS**. Failing to keep them like-for-like will result in failure to create the domain validation records in Route53.
	DomainValidationOptions interface{} `json:"domainValidationOptions" yaml:"domainValidationOptions"`
	// Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate.
	//
	// For example, you can add www.example.net to a certificate for which the `DomainName` field is www.example.com if users can reach your site by using either name.
	SubjectAlternativeNames *[]*string `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
	// Key-value pairs that can identify the certificate.
	Tags *[]*awscdk.CfnTag `json:"tags" yaml:"tags"`
	// The method you want to use to validate that you own or control the domain associated with a public certificate.
	//
	// You can [validate with DNS](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-dns.html) or [validate with email](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-validate-email.html) . We recommend that you use DNS validation.
	//
	// If not specified, this property defaults to email validation.
	ValidationMethod *string `json:"validationMethod" yaml:"validationMethod"`
}

Properties for defining a `CfnCertificate`.

TODO: EXAMPLE

type CfnCertificate_DomainValidationOptionProperty

type CfnCertificate_DomainValidationOptionProperty struct {
	// A fully qualified domain name (FQDN) in the certificate request.
	DomainName *string `json:"domainName" yaml:"domainName"`
	// The `HostedZoneId` option, which is available if you are using Route 53 as your domain registrar, causes ACM to add your CNAME to the domain record.
	//
	// Your list of `DomainValidationOptions` must contain one and only one of the domain-validation options, and the `HostedZoneId` can be used only when `DNS` is specified as your validation method.
	//
	// Use the Route 53 `ListHostedZones` API to discover IDs for available hosted zones.
	//
	// This option is required for publicly trusted certificates.
	//
	// > The `ListHostedZones` API returns IDs in the format "/hostedzone/Z111111QQQQQQQ", but CloudFormation requires the IDs to be in the format "Z111111QQQQQQQ".
	//
	// When you change your `DomainValidationOptions` , a new resource is created.
	HostedZoneId *string `json:"hostedZoneId" yaml:"hostedZoneId"`
	// The domain name to which you want ACM to send validation emails.
	//
	// This domain name is the suffix of the email addresses that you want ACM to use. This must be the same as the `DomainName` value or a superdomain of the `DomainName` value. For example, if you request a certificate for `testing.example.com` , you can specify `example.com` as this value. In that case, ACM sends domain validation emails to the following five addresses:
	//
	// - admin@example.com
	// - administrator@example.com
	// - hostmaster@example.com
	// - postmaster@example.com
	// - webmaster@example.com
	ValidationDomain *string `json:"validationDomain" yaml:"validationDomain"`
}

`DomainValidationOption` is a property of the [AWS::CertificateManager::Certificate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-certificatemanager-certificate.html) resource that specifies the AWS Certificate Manager ( ACM ) certificate domain to validate. Depending on the chosen validation method, ACM checks the domain's DNS record for a validation CNAME, or it attempts to send a validation email message to the domain owner.

TODO: EXAMPLE

type DnsValidatedCertificate

type DnsValidatedCertificate interface {
	awscdk.Resource
	ICertificate
	awscdk.ITaggable
	CertificateArn() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Region() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	MetricDaysToExpiry(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

A certificate managed by AWS Certificate Manager.

Will be automatically validated using DNS validation against the specified Route 53 hosted zone.

TODO: EXAMPLE

func NewDnsValidatedCertificate

func NewDnsValidatedCertificate(scope constructs.Construct, id *string, props *DnsValidatedCertificateProps) DnsValidatedCertificate

type DnsValidatedCertificateProps

type DnsValidatedCertificateProps struct {
	// Fully-qualified domain name to request a certificate for.
	//
	// May contain wildcards, such as “*.domain.com“.
	DomainName *string `json:"domainName" yaml:"domainName"`
	// Alternative domain names on your certificate.
	//
	// Use this to register alternative domain names that represent the same site.
	SubjectAlternativeNames *[]*string `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
	// How to validate this certificate.
	Validation CertificateValidation `json:"validation" yaml:"validation"`
	// Route 53 Hosted Zone used to perform DNS validation of the request.
	//
	// The zone
	// must be authoritative for the domain name specified in the Certificate Request.
	HostedZone awsroute53.IHostedZone `json:"hostedZone" yaml:"hostedZone"`
	// When set to true, when the DnsValidatedCertificate is deleted, the associated Route53 validation records are removed.
	//
	// CAUTION: If multiple certificates share the same domains (and same validation records),
	// this can cause the other certificates to fail renewal and/or not validate.
	// Not recommended for production use.
	CleanupRoute53Records *bool `json:"cleanupRoute53Records" yaml:"cleanupRoute53Records"`
	// Role to use for the custom resource that creates the validated certificate.
	CustomResourceRole awsiam.IRole `json:"customResourceRole" yaml:"customResourceRole"`
	// AWS region that will host the certificate.
	//
	// This is needed especially
	// for certificates used for CloudFront distributions, which require the region
	// to be us-east-1.
	Region *string `json:"region" yaml:"region"`
	// An endpoint of Route53 service, which is not necessary as AWS SDK could figure out the right endpoints for most regions, but for some regions such as those in aws-cn partition, the default endpoint is not working now, hence the right endpoint need to be specified through this prop.
	//
	// Route53 is not been officially launched in China, it is only available for AWS
	// internal accounts now. To make DnsValidatedCertificate work for internal accounts
	// now, a special endpoint needs to be provided.
	Route53Endpoint *string `json:"route53Endpoint" yaml:"route53Endpoint"`
}

Properties to create a DNS validated certificate managed by AWS Certificate Manager.

TODO: EXAMPLE

type ICertificate

type ICertificate interface {
	awscdk.IResource
	// Return the DaysToExpiry metric for this AWS Certificate Manager Certificate. By default, this is the minimum value over 1 day.
	//
	// This metric is no longer emitted once the certificate has effectively
	// expired, so alarms configured on this metric should probably treat missing
	// data as "breaching".
	MetricDaysToExpiry(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// The certificate's ARN.
	CertificateArn() *string
}

Represents a certificate in AWS Certificate Manager.

func Certificate_FromCertificateArn

func Certificate_FromCertificateArn(scope constructs.Construct, id *string, certificateArn *string) ICertificate

Import a certificate.

func PrivateCertificate_FromCertificateArn

func PrivateCertificate_FromCertificateArn(scope constructs.Construct, id *string, certificateArn *string) ICertificate

Import a certificate.

type PrivateCertificate

type PrivateCertificate interface {
	awscdk.Resource
	ICertificate
	CertificateArn() *string
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Region() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	MetricDaysToExpiry(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	ToString() *string
}

A private certificate managed by AWS Certificate Manager.

TODO: EXAMPLE

func NewPrivateCertificate

func NewPrivateCertificate(scope constructs.Construct, id *string, props *PrivateCertificateProps) PrivateCertificate

type PrivateCertificateProps

type PrivateCertificateProps struct {
	// Private certificate authority (CA) that will be used to issue the certificate.
	CertificateAuthority awsacmpca.ICertificateAuthority `json:"certificateAuthority" yaml:"certificateAuthority"`
	// Fully-qualified domain name to request a private certificate for.
	//
	// May contain wildcards, such as “*.domain.com“.
	DomainName *string `json:"domainName" yaml:"domainName"`
	// Alternative domain names on your private certificate.
	//
	// Use this to register alternative domain names that represent the same site.
	SubjectAlternativeNames *[]*string `json:"subjectAlternativeNames" yaml:"subjectAlternativeNames"`
}

Properties for your private certificate.

TODO: EXAMPLE

type ValidationMethod

type ValidationMethod string

Method used to assert ownership of the domain.

const (
	ValidationMethod_EMAIL ValidationMethod = "EMAIL"
	ValidationMethod_DNS   ValidationMethod = "DNS"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL