Package com.pulumi.aws.acm
Class Certificate
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.acm.Certificate
-
public class Certificate extends com.pulumi.resources.CustomResourceThe ACM certificate resource allows requesting and management of certificates from the Amazon Certificate Manager. ACM certificates can be created in three ways: Amazon-issued, where AWS provides the certificate authority and automatically manages renewal; imported certificates, issued by another certificate authority; and private certificates, issued using an ACM Private Certificate Authority. For Amazon-issued certificates, this resource deals with requesting certificates and managing their attributes and life-cycle. It does not wait for a certificate to be issued — use `aws.acm.CertificateValidation` for that. Most commonly used together with `aws.route53.Record` and `aws.acm.CertificateValidation` to request a DNS validated certificate, deploy the required validation records, and wait for validation to complete. It's recommended to specify `createBeforeDestroy = true` in a lifecycle block to replace a certificate which is currently in use (e.g., by `aws.lb.Listener`). Imported certificates can be used to make certificates created with an external certificate authority available for AWS services. As they are not managed by AWS, imported certificates are not eligible for automatic renewal. New certificate materials can be supplied to an existing imported certificate to update it in place. Private certificates are issued by an ACM Private Certificate Authority, which can be created using `aws.acmpca.CertificateAuthority`. Private certificates created using this resource are eligible for managed renewal if they have been exported or associated with another AWS service. See [managed renewal documentation](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html) for more information. By default, a certificate is valid for 395 days and the managed renewal process will start 60 days before expiration. To renew the certificate earlier than 60 days before expiration, configure `earlyRenewalDuration`. ## Example Usage ### Custom Domain Validation Options
### Existing Certificate Body Importpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.acm.Certificate; import com.pulumi.aws.acm.CertificateArgs; import com.pulumi.aws.acm.inputs.CertificateValidationOptionArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var cert = new Certificate("cert", CertificateArgs.builder() .validationOptions(CertificateValidationOptionArgs.builder() .domainName("testing.example.com") .validationDomain("example.com") .build()) .domainName("testing.example.com") .validationMethod("EMAIL") .build()); } }
### Existing Certificate Body Import With Write-Only Private Keypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.tls.PrivateKey; import com.pulumi.tls.PrivateKeyArgs; import com.pulumi.tls.SelfSignedCert; import com.pulumi.tls.SelfSignedCertArgs; import com.pulumi.aws.acm.Certificate; import com.pulumi.aws.acm.CertificateArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new PrivateKey("example", PrivateKeyArgs.builder() .algorithm("RSA") .build()); var exampleSelfSignedCert = new SelfSignedCert("exampleSelfSignedCert", SelfSignedCertArgs.builder() .subject(com.pulumi.tls.inputs.SelfSignedCertSubjectArgs.builder() .commonName("example.com") .organization("ACME Examples, Inc") .build()) .keyAlgorithm("RSA") .privateKeyPem(example.privateKeyPem()) .validityPeriodHours(12) .allowedUses( "key_encipherment", "digital_signature", "server_auth") .build()); var cert = new Certificate("cert", CertificateArgs.builder() .privateKey(example.privateKeyPem()) .certificateBody(exampleSelfSignedCert.certPem()) .build()); } }
### Referencing domainValidationOptions With forEach Based Resources See the `aws.acm.CertificateValidation` resource for a full example of performing DNS validation. ## Import ### Identity Schema #### Required - `arn` (String) ARN of the certificate. Using `pulumi import`, import certificates using their ARN. For example: ```sh $ pulumi import aws:acm/certificate:Certificate example arn:aws:acm:eu-central-1:123456789012:certificate/7e7a28d2-163f-4b8f-b9cd-822f96c08d6a ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.tls.PrivateKey; import com.pulumi.tls.PrivateKeyArgs; import com.pulumi.tls.SelfSignedCert; import com.pulumi.tls.SelfSignedCertArgs; import com.pulumi.aws.acm.Certificate; import com.pulumi.aws.acm.CertificateArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new PrivateKey("example", PrivateKeyArgs.builder() .algorithm("RSA") .build()); var exampleSelfSignedCert = new SelfSignedCert("exampleSelfSignedCert", SelfSignedCertArgs.builder() .subject(com.pulumi.tls.inputs.SelfSignedCertSubjectArgs.builder() .commonName("example.com") .organization("ACME Examples, Inc") .build()) .keyAlgorithm("RSA") .privateKeyPem(example.privateKeyPem()) .validityPeriodHours(12) .allowedUses( "key_encipherment", "digital_signature", "server_auth") .build()); var cert = new Certificate("cert", CertificateArgs.builder() .privateKeyWo(example.privateKeyPem()) .privateKeyWoVersion(1) .certificateBody(exampleSelfSignedCert.certPem()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Certificate(java.lang.String name)Certificate(java.lang.String name, CertificateArgs args)Certificate(java.lang.String name, CertificateArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.Optional<java.lang.String>>certificateAuthorityArn()com.pulumi.core.Output<java.util.Optional<java.lang.String>>certificateBody()com.pulumi.core.Output<java.util.Optional<java.lang.String>>certificateChain()com.pulumi.core.Output<java.lang.String>domainName()com.pulumi.core.Output<java.util.List<CertificateDomainValidationOption>>domainValidationOptions()com.pulumi.core.Output<java.util.Optional<java.lang.String>>earlyRenewalDuration()static Certificateget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, CertificateState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>keyAlgorithm()com.pulumi.core.Output<java.lang.String>notAfter()com.pulumi.core.Output<java.lang.String>notBefore()com.pulumi.core.Output<CertificateOptions>options()com.pulumi.core.Output<java.lang.Boolean>pendingRenewal()com.pulumi.core.Output<java.util.Optional<java.lang.String>>privateKey()com.pulumi.core.Output<java.util.Optional<java.lang.String>>privateKeyWo()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>privateKeyWoVersion()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.lang.String>renewalEligibility()com.pulumi.core.Output<java.util.List<CertificateRenewalSummary>>renewalSummaries()com.pulumi.core.Output<java.lang.String>status()com.pulumi.core.Output<java.util.List<java.lang.String>>subjectAlternativeNames()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.String>type()com.pulumi.core.Output<java.util.List<java.lang.String>>validationEmails()com.pulumi.core.Output<java.lang.String>validationMethod()com.pulumi.core.Output<java.util.Optional<java.util.List<CertificateValidationOption>>>validationOptions()
-
-
-
Constructor Detail
-
Certificate
public Certificate(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Certificate
public Certificate(java.lang.String name, @Nullable CertificateArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Certificate
public Certificate(java.lang.String name, @Nullable CertificateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the certificate
-
certificateAuthorityArn
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> certificateAuthorityArn()
-
certificateBody
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> certificateBody()
-
certificateChain
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> certificateChain()
-
domainName
public com.pulumi.core.Output<java.lang.String> domainName()
- Returns:
- Domain to be validated
-
domainValidationOptions
public com.pulumi.core.Output<java.util.List<CertificateDomainValidationOption>> domainValidationOptions()
- Returns:
- Set of domain validation objects which can be used to complete certificate validation. Can have more than one element, e.g., if SANs are defined. Only set if `DNS`-validation was used.
-
earlyRenewalDuration
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> earlyRenewalDuration()
-
keyAlgorithm
public com.pulumi.core.Output<java.lang.String> keyAlgorithm()
-
notAfter
public com.pulumi.core.Output<java.lang.String> notAfter()
- Returns:
- Expiration date and time of the certificate.
-
notBefore
public com.pulumi.core.Output<java.lang.String> notBefore()
- Returns:
- Start of the validity period of the certificate.
-
options
public com.pulumi.core.Output<CertificateOptions> options()
-
pendingRenewal
public com.pulumi.core.Output<java.lang.Boolean> pendingRenewal()
- Returns:
- `true` if a Private certificate eligible for managed renewal is within the `earlyRenewalDuration` period.
-
privateKey
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> privateKey()
-
privateKeyWo
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> privateKeyWo()
- Returns:
- **NOTE:** This field is write-only and its value will not be updated in state as part of read operations.
-
privateKeyWoVersion
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> privateKeyWoVersion()
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. * Creating an Amazon issued certificate
-
renewalEligibility
public com.pulumi.core.Output<java.lang.String> renewalEligibility()
- Returns:
- Whether the certificate is eligible for managed renewal.
-
renewalSummaries
public com.pulumi.core.Output<java.util.List<CertificateRenewalSummary>> renewalSummaries()
- Returns:
- Contains information about the status of ACM's [managed renewal](https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) for the certificate.
-
status
public com.pulumi.core.Output<java.lang.String> status()
- Returns:
- Status of the certificate.
-
subjectAlternativeNames
public com.pulumi.core.Output<java.util.List<java.lang.String>> subjectAlternativeNames()
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
type
public com.pulumi.core.Output<java.lang.String> type()
- Returns:
- Source of the certificate.
-
validationEmails
public com.pulumi.core.Output<java.util.List<java.lang.String>> validationEmails()
- Returns:
- List of addresses that received a validation email. Only set if `EMAIL` validation was used.
-
validationMethod
public com.pulumi.core.Output<java.lang.String> validationMethod()
-
validationOptions
public com.pulumi.core.Output<java.util.Optional<java.util.List<CertificateValidationOption>>> validationOptions()
-
get
public static Certificate get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable CertificateState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-