UNPKG

@pulumi/fastly

Version:

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

146 lines (145 loc) 5.64 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * Use this data source to get the ID of a TLS configuration for use with other resources. * * > **Warning:** The data source's filters are applied using an **AND** boolean operator, so depending on the combination * of filters, they may become mutually exclusive. The exception to this is `id` which must not be specified in combination * with any of the others. * * > **Note:** If more or less than a single match is returned by the search, this provider will fail. Ensure that your search is specific enough to return a single key. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fastly from "@pulumi/fastly"; * * const example = fastly.getTlsConfiguration({ * "default": true, * }); * const exampleTlsActivation = new fastly.TlsActivation("example", {configurationId: example.then(example => example.id)}); * ``` */ export declare function getTlsConfiguration(args?: GetTlsConfigurationArgs, opts?: pulumi.InvokeOptions): Promise<GetTlsConfigurationResult>; /** * A collection of arguments for invoking getTlsConfiguration. */ export interface GetTlsConfigurationArgs { /** * Signifies whether Fastly will use this configuration as a default when creating a new TLS activation. */ default?: boolean; /** * HTTP protocols available on the TLS configuration. */ httpProtocols?: string[]; /** * ID of the TLS configuration obtained from the Fastly API or another data source. Conflicts with all the other filters. */ id?: string; /** * Custom name of the TLS configuration. */ name?: string; /** * TLS protocols available on the TLS configuration. */ tlsProtocols?: string[]; /** * Whether the configuration should support the `PLATFORM` or `CUSTOM` TLS service. */ tlsService?: string; } /** * A collection of values returned by getTlsConfiguration. */ export interface GetTlsConfigurationResult { /** * Timestamp (GMT) when the configuration was created. */ readonly createdAt: string; /** * Signifies whether Fastly will use this configuration as a default when creating a new TLS activation. */ readonly default: boolean; /** * The available DNS addresses that can be used to enable TLS for a domain. DNS must be configured for a domain for TLS handshakes to succeed. If enabling TLS on an apex domain (e.g. `example.com`) you must create four A records (or four AAAA records for IPv6 support) using the displayed global A record's IP addresses with your DNS provider. For subdomains and wildcard domains (e.g. `www.example.com` or `*.example.com`) you will need to create a relevant CNAME record. */ readonly dnsRecords: outputs.GetTlsConfigurationDnsRecord[]; /** * HTTP protocols available on the TLS configuration. */ readonly httpProtocols: string[]; /** * ID of the TLS configuration obtained from the Fastly API or another data source. Conflicts with all the other filters. */ readonly id: string; /** * Custom name of the TLS configuration. */ readonly name: string; /** * TLS protocols available on the TLS configuration. */ readonly tlsProtocols: string[]; /** * Whether the configuration should support the `PLATFORM` or `CUSTOM` TLS service. */ readonly tlsService: string; /** * Timestamp (GMT) when the configuration was last updated. */ readonly updatedAt: string; } /** * Use this data source to get the ID of a TLS configuration for use with other resources. * * > **Warning:** The data source's filters are applied using an **AND** boolean operator, so depending on the combination * of filters, they may become mutually exclusive. The exception to this is `id` which must not be specified in combination * with any of the others. * * > **Note:** If more or less than a single match is returned by the search, this provider will fail. Ensure that your search is specific enough to return a single key. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as fastly from "@pulumi/fastly"; * * const example = fastly.getTlsConfiguration({ * "default": true, * }); * const exampleTlsActivation = new fastly.TlsActivation("example", {configurationId: example.then(example => example.id)}); * ``` */ export declare function getTlsConfigurationOutput(args?: GetTlsConfigurationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTlsConfigurationResult>; /** * A collection of arguments for invoking getTlsConfiguration. */ export interface GetTlsConfigurationOutputArgs { /** * Signifies whether Fastly will use this configuration as a default when creating a new TLS activation. */ default?: pulumi.Input<boolean>; /** * HTTP protocols available on the TLS configuration. */ httpProtocols?: pulumi.Input<pulumi.Input<string>[]>; /** * ID of the TLS configuration obtained from the Fastly API or another data source. Conflicts with all the other filters. */ id?: pulumi.Input<string>; /** * Custom name of the TLS configuration. */ name?: pulumi.Input<string>; /** * TLS protocols available on the TLS configuration. */ tlsProtocols?: pulumi.Input<pulumi.Input<string>[]>; /** * Whether the configuration should support the `PLATFORM` or `CUSTOM` TLS service. */ tlsService?: pulumi.Input<string>; }