import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleCustomHostname = new cloudflare.CustomHostname("example_custom_hostname", { * zoneId: "023e105f4ecef8ad9ca31a8372d0c353", * hostname: "app.example.com", * ssl: { * bundleMethod: "ubiquitous", * certificateAuthority: "google", * cloudflareBranding: false, * customCertBundles: [{ * customCertificate: ` -----BEGIN CERTIFICATE----- * MIIDdjCCAl6gAwIBAgIJAPnMg0Fs+/B0MA0GCSqGSIb3DQEBCwUAMFsx... * -----END CERTIFICATE----- * * `, * customKey: ` -----BEGIN PRIVATE KEY----- * MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC/SCB5... * -----END PRIVATE KEY----- * * `, * }], * customCertificate: "-----BEGIN CERTIFICATE-----\\nMIIFJDCCBAygAwIBAgIQD0ifmj/Yi5NP/2gdUySbfzANBgkqhkiG9w0BAQsFADBN\\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E...SzSHfXp5lnu/3V08I72q1QNzOCgY1XeL4GKVcj4or6cT6tX6oJH7ePPmfrBfqI/O\\nOeH8gMJ+FuwtXYEPa4hBf38M5eU5xWG7\\n-----END CERTIFICATE-----\\n", * customKey: ` -----BEGIN RSA PRIVATE KEY----- * MIIEowIBAAKCAQEAwQHoetcl9+5ikGzV6cMzWtWPJHqXT3wpbEkRU9Yz7lgvddmG * dtcGbg/1CGZu0jJGkMoppoUo4c3dts3iwqRYmBikUP77wwY2QGmDZw2FvkJCJlKn * abIRuGvBKwzESIXgKk2016aTP6/dAjEHyo6SeoK8lkIySUvK0fyOVlsiEsCmOpid * tnKX/a+50GjB79CJH4ER2lLVZnhePFR/zUOyPxZQQ4naHf7yu/b5jhO0f8fwt+py * FxIXjbEIdZliWRkRMtzrHOJIhrmJ2A1J7iOrirbbwillwjjNVUWPf3IJ3M12S9pE * ewooaeO2izNTERcG9HzAacbVRn2Y2SWIyT/18QIDAQABAoIBACbhTYXBZYKmYPCb * HBR1IBlCQA2nLGf0qRuJNJZg5iEzXows/6tc8YymZkQE7nolapWsQ+upk2y5Xdp/ * axiuprIs9JzkYK8Ox0r+dlwCG1kSW+UAbX0bQ/qUqlsTvU6muVuMP8vZYHxJ3wmb * +ufRBKztPTQ/rYWaYQcgC0RWI20HTFBMxlTAyNxYNWzX7RKFkGVVyB9RsAtmcc8g * +j4OdosbfNoJPS0HeIfNpAznDfHKdxDk2Yc1tV6RHBrC1ynyLE9+TaflIAdo2MVv * KLMLq51GqYKtgJFIlBRPQqKoyXdz3fGvXrTkf/WY9QNq0J1Vk5ERePZ54mN8iZB7 * 9lwy/AkCgYEA6FXzosxswaJ2wQLeoYc7ceaweX/SwTvxHgXzRyJIIT0eJWgx13Wo * /WA3Iziimsjf6qE+SI/8laxPp2A86VMaIt3Z3mJN/CqSVGw8LK2AQst+OwdPyDMu * iacE8lj/IFGC8mwNUAb9CzGU3JpU4PxxGFjS/eMtGeRXCWkK4NE+G08CgYEA1Kp9 * N2JrVlqUz+gAX+LPmE9OEMAS9WQSQsfCHGogIFDGGcNf7+uwBM7GAaSJIP01zcoe * VAgWdzXCv3FLhsaZoJ6RyLOLay5phbu1iaTr4UNYm5WtYTzMzqh8l1+MFFDl9xDB * vULuCIIrglM5MeS/qnSg1uMoH2oVPj9TVst/ir8CgYEAxrI7Ws9Zc4Bt70N1As+U * lySjaEVZCMkqvHJ6TCuVZFfQoE0r0whdLdRLU2PsLFP+q7qaeZQqgBaNSKeVcDYR * 9B+nY/jOmQoPewPVsp/vQTCnE/R81spu0mp0YI6cIheT1Z9zAy322svcc43JaWB7 * mEbeqyLOP4Z4qSOcmghZBSECgYACvR9Xs0DGn+wCsW4vze/2ei77MD4OQvepPIFX * dFZtlBy5ADcgE9z0cuVB6CiL8DbdK5kwY9pGNr8HUCI03iHkW6Zs+0L0YmihfEVe * PG19PSzK9CaDdhD9KFZSbLyVFmWfxOt50H7YRTTiPMgjyFpfi5j2q348yVT0tEQS * fhRqaQKBgAcWPokmJ7EbYQGeMbS7HC8eWO/RyamlnSffdCdSc7ue3zdVJxpAkQ8W * qu80pEIF6raIQfAf8MXiiZ7auFOSnHQTXUbhCpvDLKi0Mwq3G8Pl07l+2s6dQG6T * lv6XTQaMyf6n1yjzL+fzDrH3qXMxHMO/b13EePXpDMpY7HQpoLDi * -----END RSA PRIVATE KEY----- * * `, * method: "http", * settings: { * ciphers: [ * "ECDHE-RSA-AES128-GCM-SHA256", * "AES128-SHA", * ], * earlyHints: "on", * http2: "on", * minTlsVersion: "1.2", * tls13: "on", * }, * type: "dv", * wildcard: false, * }, * customMetadata: { * foo: "string", * }, * }); * ``` * * ## Import * * ```sh * $ pulumi import cloudflare:index/customHostname:CustomHostname example '/' * ``` */ export declare class CustomHostname extends pulumi.CustomResource { /** * Get an existing CustomHostname 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?: CustomHostnameState, opts?: pulumi.CustomResourceOptions): CustomHostname; /** * Returns true if the given object is an instance of CustomHostname. 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 CustomHostname; /** * This is the time the hostname was created. */ readonly createdAt: pulumi.Output; /** * Unique key/value metadata for this hostname. These are per-hostname (customer) settings. */ readonly customMetadata: pulumi.Output<{ [key: string]: string; } | undefined>; /** * a valid hostname that’s been added to your DNS zone as an A, AAAA, or CNAME record. */ readonly customOriginServer: pulumi.Output; /** * A hostname that will be sent to your custom origin server as SNI for TLS handshake. This can be a valid subdomain of the zone or custom origin server name or the string ':request*host*header:' which will cause the host header in the request to be used as SNI. Not configurable with default/fallback origin server. */ readonly customOriginSni: pulumi.Output; /** * The custom hostname that will point to your hostname via CNAME. */ readonly hostname: pulumi.Output; /** * This is a record which can be placed to activate a hostname. */ readonly ownershipVerification: pulumi.Output; /** * This presents the token to be served by the given http url to activate a hostname. */ readonly ownershipVerificationHttp: pulumi.Output; /** * SSL properties used when creating the custom hostname. */ readonly ssl: pulumi.Output; /** * Status of the hostname's activation. * Available values: "active", "pending", "active*redeploying", "moved", "pending*deletion", "deleted", "pending*blocked", "pending*migration", "pending*provisioned", "test*pending", "test*active", "test*active*apex", "test*blocked", "testFailed", "provisioned", "blocked". */ readonly status: pulumi.Output; /** * These are errors that were encountered while trying to activate a hostname. */ readonly verificationErrors: pulumi.Output; /** * Identifier. */ readonly zoneId: pulumi.Output; /** * Create a CustomHostname 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: CustomHostnameArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CustomHostname resources. */ export interface CustomHostnameState { /** * This is the time the hostname was created. */ createdAt?: pulumi.Input; /** * Unique key/value metadata for this hostname. These are per-hostname (customer) settings. */ customMetadata?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * a valid hostname that’s been added to your DNS zone as an A, AAAA, or CNAME record. */ customOriginServer?: pulumi.Input; /** * A hostname that will be sent to your custom origin server as SNI for TLS handshake. This can be a valid subdomain of the zone or custom origin server name or the string ':request*host*header:' which will cause the host header in the request to be used as SNI. Not configurable with default/fallback origin server. */ customOriginSni?: pulumi.Input; /** * The custom hostname that will point to your hostname via CNAME. */ hostname?: pulumi.Input; /** * This is a record which can be placed to activate a hostname. */ ownershipVerification?: pulumi.Input; /** * This presents the token to be served by the given http url to activate a hostname. */ ownershipVerificationHttp?: pulumi.Input; /** * SSL properties used when creating the custom hostname. */ ssl?: pulumi.Input; /** * Status of the hostname's activation. * Available values: "active", "pending", "active*redeploying", "moved", "pending*deletion", "deleted", "pending*blocked", "pending*migration", "pending*provisioned", "test*pending", "test*active", "test*active*apex", "test*blocked", "testFailed", "provisioned", "blocked". */ status?: pulumi.Input; /** * These are errors that were encountered while trying to activate a hostname. */ verificationErrors?: pulumi.Input[]>; /** * Identifier. */ zoneId?: pulumi.Input; } /** * The set of arguments for constructing a CustomHostname resource. */ export interface CustomHostnameArgs { /** * Unique key/value metadata for this hostname. These are per-hostname (customer) settings. */ customMetadata?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * a valid hostname that’s been added to your DNS zone as an A, AAAA, or CNAME record. */ customOriginServer?: pulumi.Input; /** * A hostname that will be sent to your custom origin server as SNI for TLS handshake. This can be a valid subdomain of the zone or custom origin server name or the string ':request*host*header:' which will cause the host header in the request to be used as SNI. Not configurable with default/fallback origin server. */ customOriginSni?: pulumi.Input; /** * The custom hostname that will point to your hostname via CNAME. */ hostname: pulumi.Input; /** * SSL properties used when creating the custom hostname. */ ssl: pulumi.Input; /** * Identifier. */ zoneId: pulumi.Input; }