Spectrum Application
Provides a Cloudflare Spectrum Application. You can extend the power of Cloudflare's DDoS, TLS, and IP Firewall to your other TCP-based services.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
const example = new cloudflare.SpectrumApplication("example", {
zoneId: "0da42c8d2132a9ddaf714f9e7c920711",
protocol: "tcp/22",
trafficType: "direct",
dns: {
type: "CNAME",
name: "ssh.example.com",
},
originDirects: ["tcp://192.0.2.1:22"],
edgeIps: {
type: "static",
ips: [
"203.0.113.1",
"203.0.113.2",
],
},
});
import pulumi
import pulumi_cloudflare as cloudflare
example = cloudflare.SpectrumApplication("example",
zone_id="0da42c8d2132a9ddaf714f9e7c920711",
protocol="tcp/22",
traffic_type="direct",
dns={
"type": "CNAME",
"name": "ssh.example.com",
},
origin_directs=["tcp://192.0.2.1:22"],
edge_ips={
"type": "static",
"ips": [
"203.0.113.1",
"203.0.113.2",
],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
return await Deployment.RunAsync(() =>
{
var example = new Cloudflare.SpectrumApplication("example", new()
{
ZoneId = "0da42c8d2132a9ddaf714f9e7c920711",
Protocol = "tcp/22",
TrafficType = "direct",
Dns = new Cloudflare.Inputs.SpectrumApplicationDnsArgs
{
Type = "CNAME",
Name = "ssh.example.com",
},
OriginDirects = new[]
{
"tcp://192.0.2.1:22",
},
EdgeIps = new Cloudflare.Inputs.SpectrumApplicationEdgeIpsArgs
{
Type = "static",
Ips = new[]
{
"203.0.113.1",
"203.0.113.2",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-cloudflare/sdk/v5/go/cloudflare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudflare.NewSpectrumApplication(ctx, "example", &cloudflare.SpectrumApplicationArgs{
ZoneId: pulumi.String("0da42c8d2132a9ddaf714f9e7c920711"),
Protocol: pulumi.String("tcp/22"),
TrafficType: pulumi.String("direct"),
Dns: &cloudflare.SpectrumApplicationDnsArgs{
Type: pulumi.String("CNAME"),
Name: pulumi.String("ssh.example.com"),
},
OriginDirects: pulumi.StringArray{
pulumi.String("tcp://192.0.2.1:22"),
},
EdgeIps: &cloudflare.SpectrumApplicationEdgeIpsArgs{
Type: pulumi.String("static"),
Ips: pulumi.StringArray{
pulumi.String("203.0.113.1"),
pulumi.String("203.0.113.2"),
},
},
})
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 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 example = new SpectrumApplication("example", SpectrumApplicationArgs.builder()
.zoneId("0da42c8d2132a9ddaf714f9e7c920711")
.protocol("tcp/22")
.trafficType("direct")
.dns(SpectrumApplicationDnsArgs.builder()
.type("CNAME")
.name("ssh.example.com")
.build())
.originDirects("tcp://192.0.2.1:22")
.edgeIps(SpectrumApplicationEdgeIpsArgs.builder()
.type("static")
.ips(
"203.0.113.1",
"203.0.113.2")
.build())
.build());
}
}
resources:
example:
type: cloudflare:SpectrumApplication
properties:
zoneId: 0da42c8d2132a9ddaf714f9e7c920711
protocol: tcp/22
trafficType: direct
dns:
type: CNAME
name: ssh.example.com
originDirects:
- tcp://192.0.2.1:22
edgeIps:
type: static
ips:
- 203.0.113.1
- 203.0.113.2
Import
$ pulumi import cloudflare:index/spectrumApplication:SpectrumApplication example <zone_id>/<spectrum_application_id>
Properties
Enables Argo Smart Routing.
The name and type of DNS record for the Spectrum application.
The anycast edge IP configuration for the hostname of this application.
Enables the IP Firewall for this application.
A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22
.
A destination DNS addresses to the origin.
Origin port to proxy traffice to. Conflicts with origin_port_range
.
Origin port range to proxy traffice to. When using a range, the protocol field must also specify a range, e.g. tcp/22-23
. Conflicts with origin_port
.
Enables a proxy protocol to the origin. Available values: off
, v1
, v2
, simple
.
Sets application type. Available values: direct
, http
, https
.