Spectrum Application
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
Enables Argo Smart Routing for this application. Notes: Only available for TCP applications with traffic_type set to "direct".
The name and type of DNS record for the Spectrum application.
The anycast edge IP configuration for the hostname of this application.
Enables IP Access Rules for this application. Notes: Only available for TCP applications.
When the Application was last modified.
List of origin IP addresses. Array may contain multiple IP addresses for load balancing.
The name and type of DNS record for the Spectrum application.
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.
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".
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".