SpectrumApplication

class SpectrumApplication : KotlinCustomResource

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
const exampleSpectrumApplication = new cloudflare.SpectrumApplication("example_spectrum_application", {
zoneId: "023e105f4ecef8ad9ca31a8372d0c353",
dns: {
name: "ssh.example.com",
type: "CNAME",
},
ipFirewall: true,
protocol: "tcp/22",
proxyProtocol: "off",
tls: "off",
trafficType: "direct",
argoSmartRouting: true,
edgeIps: {
connectivity: "all",
type: "dynamic",
},
originDirects: ["tcp://127.0.0.1:8080"],
originDns: {
name: "origin.example.com",
ttl: 600,
type: "",
},
originPort: 22,
});
import pulumi
import pulumi_cloudflare as cloudflare
example_spectrum_application = cloudflare.SpectrumApplication("example_spectrum_application",
zone_id="023e105f4ecef8ad9ca31a8372d0c353",
dns={
"name": "ssh.example.com",
"type": "CNAME",
},
ip_firewall=True,
protocol="tcp/22",
proxy_protocol="off",
tls="off",
traffic_type="direct",
argo_smart_routing=True,
edge_ips={
"connectivity": "all",
"type": "dynamic",
},
origin_directs=["tcp://127.0.0.1:8080"],
origin_dns={
"name": "origin.example.com",
"ttl": 600,
"type": "",
},
origin_port=22)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
return await Deployment.RunAsync(() =>
{
var exampleSpectrumApplication = new Cloudflare.SpectrumApplication("example_spectrum_application", new()
{
ZoneId = "023e105f4ecef8ad9ca31a8372d0c353",
Dns = new Cloudflare.Inputs.SpectrumApplicationDnsArgs
{
Name = "ssh.example.com",
Type = "CNAME",
},
IpFirewall = true,
Protocol = "tcp/22",
ProxyProtocol = "off",
Tls = "off",
TrafficType = "direct",
ArgoSmartRouting = true,
EdgeIps = new Cloudflare.Inputs.SpectrumApplicationEdgeIpsArgs
{
Connectivity = "all",
Type = "dynamic",
},
OriginDirects = new[]
{
"tcp://127.0.0.1:8080",
},
OriginDns = new Cloudflare.Inputs.SpectrumApplicationOriginDnsArgs
{
Name = "origin.example.com",
Ttl = 600,
Type = "",
},
OriginPort = 22,
});
});
package main
import (
"github.com/pulumi/pulumi-cloudflare/sdk/v6/go/cloudflare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudflare.NewSpectrumApplication(ctx, "example_spectrum_application", &cloudflare.SpectrumApplicationArgs{
ZoneId: pulumi.String("023e105f4ecef8ad9ca31a8372d0c353"),
Dns: &cloudflare.SpectrumApplicationDnsArgs{
Name: pulumi.String("ssh.example.com"),
Type: pulumi.String("CNAME"),
},
IpFirewall: pulumi.Bool(true),
Protocol: pulumi.String("tcp/22"),
ProxyProtocol: pulumi.String("off"),
Tls: pulumi.String("off"),
TrafficType: pulumi.String("direct"),
ArgoSmartRouting: pulumi.Bool(true),
EdgeIps: &cloudflare.SpectrumApplicationEdgeIpsArgs{
Connectivity: pulumi.String("all"),
Type: pulumi.String("dynamic"),
},
OriginDirects: pulumi.StringArray{
pulumi.String("tcp://127.0.0.1:8080"),
},
OriginDns: &cloudflare.SpectrumApplicationOriginDnsArgs{
Name: pulumi.String("origin.example.com"),
Ttl: pulumi.Int(600),
Type: pulumi.String(""),
},
OriginPort: pulumi.Any(22),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.SpectrumApplication;
import com.pulumi.cloudflare.SpectrumApplicationArgs;
import com.pulumi.cloudflare.inputs.SpectrumApplicationDnsArgs;
import com.pulumi.cloudflare.inputs.SpectrumApplicationEdgeIpsArgs;
import com.pulumi.cloudflare.inputs.SpectrumApplicationOriginDnsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleSpectrumApplication = new SpectrumApplication("exampleSpectrumApplication", SpectrumApplicationArgs.builder()
.zoneId("023e105f4ecef8ad9ca31a8372d0c353")
.dns(SpectrumApplicationDnsArgs.builder()
.name("ssh.example.com")
.type("CNAME")
.build())
.ipFirewall(true)
.protocol("tcp/22")
.proxyProtocol("off")
.tls("off")
.trafficType("direct")
.argoSmartRouting(true)
.edgeIps(SpectrumApplicationEdgeIpsArgs.builder()
.connectivity("all")
.type("dynamic")
.build())
.originDirects("tcp://127.0.0.1:8080")
.originDns(SpectrumApplicationOriginDnsArgs.builder()
.name("origin.example.com")
.ttl(600)
.type("")
.build())
.originPort(22)
.build());
}
}
resources:
exampleSpectrumApplication:
type: cloudflare:SpectrumApplication
name: example_spectrum_application
properties:
zoneId: 023e105f4ecef8ad9ca31a8372d0c353
dns:
name: ssh.example.com
type: CNAME
ipFirewall: true
protocol: tcp/22
proxyProtocol: off
tls: off
trafficType: direct
argoSmartRouting: true
edgeIps:
connectivity: all
type: dynamic
originDirects:
- tcp://127.0.0.1:8080
originDns:
name: origin.example.com
ttl: 600
type: ""
originPort: 22

Import

$ pulumi import cloudflare:index/spectrumApplication:SpectrumApplication example '<zone_id>/<app_id>'

Properties

Link copied to clipboard

Enables Argo Smart Routing for this application. Notes: Only available for TCP applications with traffic_type set to "direct".

Link copied to clipboard
val createdOn: Output<String>

When the Application was created.

Link copied to clipboard

The name and type of DNS record for the Spectrum application.

Link copied to clipboard

The anycast edge IP configuration for the hostname of this application.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val ipFirewall: Output<Boolean>?

Enables IP Access Rules for this application. Notes: Only available for TCP applications.

Link copied to clipboard
val modifiedOn: Output<String>

When the Application was last modified.

Link copied to clipboard
val originDirects: Output<List<String>>?

List of origin IP addresses. Array may contain multiple IP addresses for load balancing.

Link copied to clipboard

The name and type of DNS record for the Spectrum application.

Link copied to clipboard
val originPort: Output<Any>?

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.

Link copied to clipboard
val protocol: Output<String>

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".

Link copied to clipboard
val proxyProtocol: Output<String>

Enables Proxy Protocol to the origin. Refer to Enable Proxy protocol for implementation details on PROXY Protocol V1, PROXY Protocol V2, and Simple Proxy Protocol. Available values: "off", "v1", "v2", "simple".

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val tls: Output<String>?

The type of TLS termination associated with the application. Available values: "off", "flexible", "full", "strict".

Link copied to clipboard
val trafficType: Output<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".

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val zoneId: Output<String>

Zone identifier.