import * as pulumi from "@pulumi/pulumi"; /** * Provides a Cloudflare Origin CA certificate used to protect traffic to your origin without involving a third party Certificate Authority. * * **This resource requires you use your Origin CA Key as the `apiUserServiceKey`, in conjunction with an `apiToken` or `email` and `apiKey`.** * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as pulumi_cloudflare from "@mapped/pulumi-cloudflare"; * import * as tls from "@pulumi/tls"; * * // Create a CSR and generate a CA certificate * const examplePrivateKey = new tls.PrivateKey("examplePrivateKey", {algorithm: "RSA"}); * const exampleCertRequest = new tls.CertRequest("exampleCertRequest", { * keyAlgorithm: examplePrivateKey.algorithm, * privateKeyPem: examplePrivateKey.privateKeyPem, * subjects: [{ * commonName: "", * organization: "Terraform Test", * }], * }); * const exampleOriginCaCertificate = new cloudflare.OriginCaCertificate("exampleOriginCaCertificate", { * csr: exampleCertRequest.certRequestPem, * hostnames: ["example.com"], * requestType: "origin-rsa", * requestedValidity: 7, * }); * ``` * * ## Import * * Origin CA certificate resource can be imported using an ID, e.g. * * ```sh * $ pulumi import cloudflare:index/originCaCertificate:OriginCaCertificate example 276266538771611802607153687288146423901027769273 * ``` */ export declare class OriginCaCertificate extends pulumi.CustomResource { /** * Get an existing OriginCaCertificate 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?: OriginCaCertificateState, opts?: pulumi.CustomResourceOptions): OriginCaCertificate; /** * Returns true if the given object is an instance of OriginCaCertificate. 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 OriginCaCertificate; /** * The Origin CA certificate */ readonly certificate: pulumi.Output; /** * The Certificate Signing Request. Must be newline-encoded. */ readonly csr: pulumi.Output; /** * The datetime when the certificate will expire. */ readonly expiresOn: pulumi.Output; /** * An array of hostnames or wildcard names bound to the certificate. */ readonly hostnames: pulumi.Output; /** * The signature type desired on the certificate. */ readonly requestType: pulumi.Output; /** * The number of days for which the certificate should be valid. */ readonly requestedValidity: pulumi.Output; /** * Create a OriginCaCertificate 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: OriginCaCertificateArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering OriginCaCertificate resources. */ export interface OriginCaCertificateState { /** * The Origin CA certificate */ certificate?: pulumi.Input; /** * The Certificate Signing Request. Must be newline-encoded. */ csr?: pulumi.Input; /** * The datetime when the certificate will expire. */ expiresOn?: pulumi.Input; /** * An array of hostnames or wildcard names bound to the certificate. */ hostnames?: pulumi.Input[]>; /** * The signature type desired on the certificate. */ requestType?: pulumi.Input; /** * The number of days for which the certificate should be valid. */ requestedValidity?: pulumi.Input; } /** * The set of arguments for constructing a OriginCaCertificate resource. */ export interface OriginCaCertificateArgs { /** * The Certificate Signing Request. Must be newline-encoded. */ csr?: pulumi.Input; /** * An array of hostnames or wildcard names bound to the certificate. */ hostnames: pulumi.Input[]>; /** * The signature type desired on the certificate. */ requestType: pulumi.Input; /** * The number of days for which the certificate should be valid. */ requestedValidity?: pulumi.Input; }