import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleSpectrumApplication = cloudflare.getSpectrumApplication({ * zoneId: "023e105f4ecef8ad9ca31a8372d0c353", * appId: "023e105f4ecef8ad9ca31a8372d0c353", * }); * ``` */ export declare function getSpectrumApplication(args: GetSpectrumApplicationArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getSpectrumApplication. */ export interface GetSpectrumApplicationArgs { /** * App identifier. */ appId: string; /** * Zone identifier. */ zoneId: string; } /** * A collection of values returned by getSpectrumApplication. */ export interface GetSpectrumApplicationResult { /** * App identifier. */ readonly appId: string; /** * Enables Argo Smart Routing for this application. * Notes: Only available for TCP applications with trafficType set to "direct". */ readonly argoSmartRouting: boolean; /** * When the Application was created. */ readonly createdOn: string; /** * The name and type of DNS record for the Spectrum application. */ readonly dns: outputs.GetSpectrumApplicationDns; /** * The anycast edge IP configuration for the hostname of this application. */ readonly edgeIps: outputs.GetSpectrumApplicationEdgeIps; /** * App identifier. */ readonly id: string; /** * Enables IP Access Rules for this application. * Notes: Only available for TCP applications. */ readonly ipFirewall: boolean; /** * When the Application was last modified. */ readonly modifiedOn: string; /** * List of origin IP addresses. Array may contain multiple IP addresses for load balancing. */ readonly originDirects: string[]; /** * The name and type of DNS record for the Spectrum application. */ readonly originDns: outputs.GetSpectrumApplicationOriginDns; /** * The destination port at the origin. Only specified in conjunction with origin_dns. May use an integer to specify a single origin port, for example `1000`, or a string to specify a range of origin ports, for example `"1000-2000"`. * Notes: If specifying a port range, the number of ports in the range must match the number of ports specified in the "protocol" field. */ readonly originPort: any; /** * The port configuration at Cloudflare's edge. May specify a single port, for example `"tcp/1000"`, or a range of ports, for example `"tcp/1000-2000"`. */ readonly protocol: string; /** * Enables Proxy Protocol to the origin. Refer to [Enable Proxy protocol](https://developers.cloudflare.com/spectrum/getting-started/proxy-protocol/) for implementation details on PROXY Protocol V1, PROXY Protocol V2, and Simple Proxy Protocol. * Available values: "off", "v1", "v2", "simple". */ readonly proxyProtocol: string; /** * The type of TLS termination associated with the application. * Available values: "off", "flexible", "full", "strict". */ readonly tls: string; /** * Determines how data travels from the edge to your origin. When set to "direct", Spectrum will send traffic directly to your origin, and the application's type is derived from the `protocol`. When set to "http" or "https", Spectrum will apply Cloudflare's HTTP/HTTPS features as it sends traffic to your origin, and the application type matches this property exactly. * Available values: "direct", "http", "https". */ readonly trafficType: string; /** * Zone identifier. */ readonly zoneId: string; } /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as cloudflare from "@pulumi/cloudflare"; * * const exampleSpectrumApplication = cloudflare.getSpectrumApplication({ * zoneId: "023e105f4ecef8ad9ca31a8372d0c353", * appId: "023e105f4ecef8ad9ca31a8372d0c353", * }); * ``` */ export declare function getSpectrumApplicationOutput(args: GetSpectrumApplicationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getSpectrumApplication. */ export interface GetSpectrumApplicationOutputArgs { /** * App identifier. */ appId: pulumi.Input; /** * Zone identifier. */ zoneId: pulumi.Input; }