@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
TypeScript
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>;
}