UNPKG

@pulumi/fastly

Version:

A Pulumi package for creating and managing fastly cloud resources.. Based on terraform-provider-fastly: version v4

194 lines (193 loc) 9.11 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Enables TLS on a domain using a certificate managed by Fastly. * * DNS records need to be modified on the domain being secured, in order to respond to the ACME domain ownership challenge. * * There are two options for doing this: the `managedDnsChallenges`, which is the default method; and the `managedHttpChallenges`, which points production traffic to Fastly. * * > See the [Fastly documentation](https://docs.fastly.com/en/guides/serving-https-traffic-using-fastly-managed-certificates#verifying-domain-ownership) for more information on verifying domain ownership. * * The examples below demonstrate usage with AWS Route53 to configure DNS, and the `fastly.TlsSubscriptionValidation` resource to wait for validation to complete. * * ## Import * * A subscription can be imported using its Fastly subscription ID, e.g. * * ```sh * $ pulumi import fastly:index/tlsSubscription:TlsSubscription demo xxxxxxxxxxx * ``` */ export declare class TlsSubscription extends pulumi.CustomResource { /** * Get an existing TlsSubscription resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: TlsSubscriptionState, opts?: pulumi.CustomResourceOptions): TlsSubscription; /** * Returns true if the given object is an instance of TlsSubscription. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is TlsSubscription; /** * The entity that issues and certifies the TLS certificates for your subscription. Valid values are `lets-encrypt`, `globalsign` or `certainly`. */ readonly certificateAuthority: pulumi.Output<string>; /** * The certificate ID associated with the subscription. */ readonly certificateId: pulumi.Output<string>; /** * The common name associated with the subscription generated by Fastly TLS. If you do not pass a common name on create, we will default to the first TLS domain included. If provided, the domain chosen as the common name must be included in TLS domains. */ readonly commonName: pulumi.Output<string>; /** * The ID of the set of TLS configuration options that apply to the enabled domains on this subscription. */ readonly configurationId: pulumi.Output<string>; /** * Timestamp (GMT) when the subscription was created. */ readonly createdAt: pulumi.Output<string>; /** * List of domains on which to enable TLS. */ readonly domains: pulumi.Output<string[]>; /** * Force delete the subscription even if it has active domains. Warning: this can disable production traffic if used incorrectly. Defaults to false. */ readonly forceDestroy: pulumi.Output<boolean | undefined>; /** * Force update the subscription even if it has active domains. Warning: this can disable production traffic if used incorrectly. */ readonly forceUpdate: pulumi.Output<boolean | undefined>; /** * The details required to configure DNS to respond to ACME DNS challenge in order to verify domain ownership. * * @deprecated Use 'managed_dns_challenges' attribute instead */ readonly managedDnsChallenge: pulumi.Output<{ [key: string]: string; }>; /** * A list of options for configuring DNS to respond to ACME DNS challenge in order to verify domain ownership. */ readonly managedDnsChallenges: pulumi.Output<outputs.TlsSubscriptionManagedDnsChallenge[]>; /** * A list of options for configuring DNS to respond to ACME HTTP challenge in order to verify domain ownership. Best accessed through a `for` expression to filter the relevant record. */ readonly managedHttpChallenges: pulumi.Output<outputs.TlsSubscriptionManagedHttpChallenge[]>; /** * The current state of the subscription. The list of possible states are: `pending`, `processing`, `issued`, and `renewing`. */ readonly state: pulumi.Output<string>; /** * Timestamp (GMT) when the subscription was updated. */ readonly updatedAt: pulumi.Output<string>; /** * Create a TlsSubscription resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: TlsSubscriptionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering TlsSubscription resources. */ export interface TlsSubscriptionState { /** * The entity that issues and certifies the TLS certificates for your subscription. Valid values are `lets-encrypt`, `globalsign` or `certainly`. */ certificateAuthority?: pulumi.Input<string>; /** * The certificate ID associated with the subscription. */ certificateId?: pulumi.Input<string>; /** * The common name associated with the subscription generated by Fastly TLS. If you do not pass a common name on create, we will default to the first TLS domain included. If provided, the domain chosen as the common name must be included in TLS domains. */ commonName?: pulumi.Input<string>; /** * The ID of the set of TLS configuration options that apply to the enabled domains on this subscription. */ configurationId?: pulumi.Input<string>; /** * Timestamp (GMT) when the subscription was created. */ createdAt?: pulumi.Input<string>; /** * List of domains on which to enable TLS. */ domains?: pulumi.Input<pulumi.Input<string>[]>; /** * Force delete the subscription even if it has active domains. Warning: this can disable production traffic if used incorrectly. Defaults to false. */ forceDestroy?: pulumi.Input<boolean>; /** * Force update the subscription even if it has active domains. Warning: this can disable production traffic if used incorrectly. */ forceUpdate?: pulumi.Input<boolean>; /** * The details required to configure DNS to respond to ACME DNS challenge in order to verify domain ownership. * * @deprecated Use 'managed_dns_challenges' attribute instead */ managedDnsChallenge?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * A list of options for configuring DNS to respond to ACME DNS challenge in order to verify domain ownership. */ managedDnsChallenges?: pulumi.Input<pulumi.Input<inputs.TlsSubscriptionManagedDnsChallenge>[]>; /** * A list of options for configuring DNS to respond to ACME HTTP challenge in order to verify domain ownership. Best accessed through a `for` expression to filter the relevant record. */ managedHttpChallenges?: pulumi.Input<pulumi.Input<inputs.TlsSubscriptionManagedHttpChallenge>[]>; /** * The current state of the subscription. The list of possible states are: `pending`, `processing`, `issued`, and `renewing`. */ state?: pulumi.Input<string>; /** * Timestamp (GMT) when the subscription was updated. */ updatedAt?: pulumi.Input<string>; } /** * The set of arguments for constructing a TlsSubscription resource. */ export interface TlsSubscriptionArgs { /** * The entity that issues and certifies the TLS certificates for your subscription. Valid values are `lets-encrypt`, `globalsign` or `certainly`. */ certificateAuthority: pulumi.Input<string>; /** * The common name associated with the subscription generated by Fastly TLS. If you do not pass a common name on create, we will default to the first TLS domain included. If provided, the domain chosen as the common name must be included in TLS domains. */ commonName?: pulumi.Input<string>; /** * The ID of the set of TLS configuration options that apply to the enabled domains on this subscription. */ configurationId?: pulumi.Input<string>; /** * List of domains on which to enable TLS. */ domains: pulumi.Input<pulumi.Input<string>[]>; /** * Force delete the subscription even if it has active domains. Warning: this can disable production traffic if used incorrectly. Defaults to false. */ forceDestroy?: pulumi.Input<boolean>; /** * Force update the subscription even if it has active domains. Warning: this can disable production traffic if used incorrectly. */ forceUpdate?: pulumi.Input<boolean>; }