import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "./types"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const dedicatedCustomExample = new cloudflare.CertificatePack("dedicated_custom_example", { * hosts: [ * "example.com", * "sub.example.com", * ], * type: "dedicated_custom", * zoneId: "1d5fdc9e88c8a8c4518b068cd94331fe", * }); * // Advanced certificate manager for DigiCert * const advancedExampleForDigicert = new cloudflare.CertificatePack("advanced_example_for_digicert", { * certificateAuthority: "digicert", * cloudflareBranding: false, * hosts: [ * "example.com", * "sub.example.com", * ], * type: "advanced", * validationMethod: "txt", * validityDays: 30, * zoneId: "1d5fdc9e88c8a8c4518b068cd94331fe", * }); * // Advanced certificate manager for Let's Encrypt * const advancedExampleForLetsEncrypt = new cloudflare.CertificatePack("advanced_example_for_lets_encrypt", { * certificateAuthority: "lets_encrypt", * cloudflareBranding: false, * hosts: [ * "example.com", * "*.example.com", * ], * type: "advanced", * validationMethod: "http", * validityDays: 90, * waitForActiveStatus: true, * zoneId: "1d5fdc9e88c8a8c4518b068cd94331fe", * }); * ``` * * ## Import * * Certificate packs can be imported using a composite ID of the zone ID and certificate pack ID. This isn't recommended and it is advised to replace the certificate entirely instead. * * ```sh * $ pulumi import cloudflare:index/certificatePack:CertificatePack example cb029e245cfdd66dc8d2e570d5dd3322/8fda82e2-6af9-4eb2-992a-5ab65b792ef1 * ``` */ export declare class CertificatePack extends pulumi.CustomResource { /** * Get an existing CertificatePack 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, state?: CertificatePackState, opts?: pulumi.CustomResourceOptions): CertificatePack; /** * Returns true if the given object is an instance of CertificatePack. 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 CertificatePack; /** * Which certificate * authority to issue the certificate pack. Allowed values: `"digicert"`, * `"letsEncrypt"`. */ readonly certificateAuthority: pulumi.Output; /** * Whether or not to include * Cloudflare branding. This will add `sni.cloudflaressl.com` as the Common Name * if set to `true`. */ readonly cloudflareBranding: pulumi.Output; /** * List of hostnames to provision the certificate pack for. * The zone name must be included as a host. Note: If using Let's Encrypt, you * cannot use individual subdomains and only a wildcard for subdomain is available. */ readonly hosts: pulumi.Output; /** * Certificate pack configuration type. * Allowed values: `"custom"`, `"dedicatedCustom"`, `"advanced"`. */ readonly type: pulumi.Output; readonly validationErrors: pulumi.Output; /** * Which validation method to * use in order to prove domain ownership. Allowed values: `"txt"`, `"http"`, `"email"`. */ readonly validationMethod: pulumi.Output; readonly validationRecords: pulumi.Output; /** * How long the certificate is valid * for. Note: If using Let's Encrypt, this value can only be 90 days. * Allowed values: 14, 30, 90, 365. */ readonly validityDays: pulumi.Output; /** * Whether or not to wait for a certificate * pack to reach status `active` during creation. Defaults to `false`. */ readonly waitForActiveStatus: pulumi.Output; /** * The DNS zone to which the certificate pack should be added. */ readonly zoneId: pulumi.Output; /** * Create a CertificatePack 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: CertificatePackArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CertificatePack resources. */ export interface CertificatePackState { /** * Which certificate * authority to issue the certificate pack. Allowed values: `"digicert"`, * `"letsEncrypt"`. */ certificateAuthority?: pulumi.Input; /** * Whether or not to include * Cloudflare branding. This will add `sni.cloudflaressl.com` as the Common Name * if set to `true`. */ cloudflareBranding?: pulumi.Input; /** * List of hostnames to provision the certificate pack for. * The zone name must be included as a host. Note: If using Let's Encrypt, you * cannot use individual subdomains and only a wildcard for subdomain is available. */ hosts?: pulumi.Input[]>; /** * Certificate pack configuration type. * Allowed values: `"custom"`, `"dedicatedCustom"`, `"advanced"`. */ type?: pulumi.Input; validationErrors?: pulumi.Input[]>; /** * Which validation method to * use in order to prove domain ownership. Allowed values: `"txt"`, `"http"`, `"email"`. */ validationMethod?: pulumi.Input; validationRecords?: pulumi.Input[]>; /** * How long the certificate is valid * for. Note: If using Let's Encrypt, this value can only be 90 days. * Allowed values: 14, 30, 90, 365. */ validityDays?: pulumi.Input; /** * Whether or not to wait for a certificate * pack to reach status `active` during creation. Defaults to `false`. */ waitForActiveStatus?: pulumi.Input; /** * The DNS zone to which the certificate pack should be added. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a CertificatePack resource. */ export interface CertificatePackArgs { /** * Which certificate * authority to issue the certificate pack. Allowed values: `"digicert"`, * `"letsEncrypt"`. */ certificateAuthority?: pulumi.Input; /** * Whether or not to include * Cloudflare branding. This will add `sni.cloudflaressl.com` as the Common Name * if set to `true`. */ cloudflareBranding?: pulumi.Input; /** * List of hostnames to provision the certificate pack for. * The zone name must be included as a host. Note: If using Let's Encrypt, you * cannot use individual subdomains and only a wildcard for subdomain is available. */ hosts: pulumi.Input[]>; /** * Certificate pack configuration type. * Allowed values: `"custom"`, `"dedicatedCustom"`, `"advanced"`. */ type: pulumi.Input; validationErrors?: pulumi.Input[]>; /** * Which validation method to * use in order to prove domain ownership. Allowed values: `"txt"`, `"http"`, `"email"`. */ validationMethod?: pulumi.Input; validationRecords?: pulumi.Input[]>; /** * How long the certificate is valid * for. Note: If using Let's Encrypt, this value can only be 90 days. * Allowed values: 14, 30, 90, 365. */ validityDays?: pulumi.Input; /** * Whether or not to wait for a certificate * pack to reach status `active` during creation. Defaults to `false`. */ waitForActiveStatus?: pulumi.Input; /** * The DNS zone to which the certificate pack should be added. */ zoneId: pulumi.Input; }