SpectrumApplication

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

using Pulumi;
using Cloudflare = Pulumi.Cloudflare;

class MyStack : Stack
{
    public MyStack()
    {
        // Define a spectrum application proxies ssh traffic
        var sshProxy = new Cloudflare.SpectrumApplication("sshProxy", new Cloudflare.SpectrumApplicationArgs
        {
            ZoneId = @var.Cloudflare_zone_id,
            Protocol = "tcp/22",
            TrafficType = "direct",
            Dns = new Cloudflare.Inputs.SpectrumApplicationDnsArgs
            {
                Type = "CNAME",
                Name = "ssh.example.com",
            },
            OriginDirects = 
            {
                "tcp://109.151.40.129:22",
            },
        });
    }

}

Coming soon!

import pulumi
import pulumi_cloudflare as cloudflare

# Define a spectrum application proxies ssh traffic
ssh_proxy = cloudflare.SpectrumApplication("sshProxy",
    zone_id=var["cloudflare_zone_id"],
    protocol="tcp/22",
    traffic_type="direct",
    dns={
        "type": "CNAME",
        "name": "ssh.example.com",
    },
    origin_directs=["tcp://109.151.40.129:22"])
import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";

// Define a spectrum application proxies ssh traffic
const sshProxy = new cloudflare.SpectrumApplication("sshProxy", {
    zoneId: _var.cloudflare_zone_id,
    protocol: "tcp/22",
    trafficType: "direct",
    dns: {
        type: "CNAME",
        name: "ssh.example.com",
    },
    originDirects: ["tcp://109.151.40.129:22"],
});

Create a SpectrumApplication Resource

def SpectrumApplication(resource_name, opts=None, argo_smart_routing=None, dns=None, edge_ip_connectivity=None, edge_ips=None, ip_firewall=None, origin_directs=None, origin_dns=None, origin_port=None, protocol=None, proxy_protocol=None, tls=None, traffic_type=None, zone_id=None, __props__=None);
name string
The unique name of the resource.
args SpectrumApplicationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
opts ResourceOptions
A bag of options that control this resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args SpectrumApplicationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args SpectrumApplicationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

SpectrumApplication Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The SpectrumApplication resource accepts the following input properties:

Dns SpectrumApplicationDnsArgs

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

Protocol string

The port configuration at Cloudflare’s edge. e.g. tcp/22.

ZoneId string

The DNS zone ID to add the application to

ArgoSmartRouting bool

. Enables Argo Smart Routing. Defaults to false.

EdgeIpConnectivity string

. Choose which types of IP addresses will be provisioned for this subdomain. Valid values are: all, ipv4, ipv6. Defaults to all.

EdgeIps List<string>

. A list of edge IPs (IPv4 and/or IPv6) to configure Spectrum application to. Requires Bring Your Own IP provisioned.

IpFirewall bool

Enables the IP Firewall for this application. Defaults to true.

OriginDirects List<string>

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

OriginDns SpectrumApplicationOriginDnsArgs

A destination DNS addresses to the origin. Fields documented below.

OriginPort int

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

ProxyProtocol string

Enables a proxy protocol to the origin. Valid values are: off, v1, v2, and simple. Defaults to off.

Tls string

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

TrafficType string

Sets application type. Valid values are: direct, http, https. Defaults to direct.

Dns SpectrumApplicationDns

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

Protocol string

The port configuration at Cloudflare’s edge. e.g. tcp/22.

ZoneId string

The DNS zone ID to add the application to

ArgoSmartRouting bool

. Enables Argo Smart Routing. Defaults to false.

EdgeIpConnectivity string

. Choose which types of IP addresses will be provisioned for this subdomain. Valid values are: all, ipv4, ipv6. Defaults to all.

EdgeIps []string

. A list of edge IPs (IPv4 and/or IPv6) to configure Spectrum application to. Requires Bring Your Own IP provisioned.

IpFirewall bool

Enables the IP Firewall for this application. Defaults to true.

OriginDirects []string

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

OriginDns SpectrumApplicationOriginDns

A destination DNS addresses to the origin. Fields documented below.

OriginPort int

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

ProxyProtocol string

Enables a proxy protocol to the origin. Valid values are: off, v1, v2, and simple. Defaults to off.

Tls string

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

TrafficType string

Sets application type. Valid values are: direct, http, https. Defaults to direct.

dns SpectrumApplicationDns

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

protocol string

The port configuration at Cloudflare’s edge. e.g. tcp/22.

zoneId string

The DNS zone ID to add the application to

argoSmartRouting boolean

. Enables Argo Smart Routing. Defaults to false.

edgeIpConnectivity string

. Choose which types of IP addresses will be provisioned for this subdomain. Valid values are: all, ipv4, ipv6. Defaults to all.

edgeIps string[]

. A list of edge IPs (IPv4 and/or IPv6) to configure Spectrum application to. Requires Bring Your Own IP provisioned.

ipFirewall boolean

Enables the IP Firewall for this application. Defaults to true.

originDirects string[]

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

originDns SpectrumApplicationOriginDns

A destination DNS addresses to the origin. Fields documented below.

originPort number

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

proxyProtocol string

Enables a proxy protocol to the origin. Valid values are: off, v1, v2, and simple. Defaults to off.

tls string

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

trafficType string

Sets application type. Valid values are: direct, http, https. Defaults to direct.

dns Dict[SpectrumApplicationDns]

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

protocol str

The port configuration at Cloudflare’s edge. e.g. tcp/22.

zone_id str

The DNS zone ID to add the application to

argo_smart_routing bool

. Enables Argo Smart Routing. Defaults to false.

edge_ip_connectivity str

. Choose which types of IP addresses will be provisioned for this subdomain. Valid values are: all, ipv4, ipv6. Defaults to all.

edge_ips List[str]

. A list of edge IPs (IPv4 and/or IPv6) to configure Spectrum application to. Requires Bring Your Own IP provisioned.

ip_firewall bool

Enables the IP Firewall for this application. Defaults to true.

origin_directs List[str]

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

origin_dns Dict[SpectrumApplicationOriginDns]

A destination DNS addresses to the origin. Fields documented below.

origin_port float

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

proxy_protocol str

Enables a proxy protocol to the origin. Valid values are: off, v1, v2, and simple. Defaults to off.

tls str

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

traffic_type str

Sets application type. Valid values are: direct, http, https. Defaults to direct.

Outputs

All input properties are implicitly available as output properties. Additionally, the SpectrumApplication resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.

Look up an Existing SpectrumApplication Resource

Get an existing SpectrumApplication resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

static get(resource_name, id, opts=None, argo_smart_routing=None, dns=None, edge_ip_connectivity=None, edge_ips=None, ip_firewall=None, origin_directs=None, origin_dns=None, origin_port=None, protocol=None, proxy_protocol=None, tls=None, traffic_type=None, zone_id=None, __props__=None);
func GetSpectrumApplication(ctx *Context, name string, id IDInput, state *SpectrumApplicationState, opts ...ResourceOption) (*SpectrumApplication, error)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

ArgoSmartRouting bool

. Enables Argo Smart Routing. Defaults to false.

Dns SpectrumApplicationDnsArgs

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

EdgeIpConnectivity string

. Choose which types of IP addresses will be provisioned for this subdomain. Valid values are: all, ipv4, ipv6. Defaults to all.

EdgeIps List<string>

. A list of edge IPs (IPv4 and/or IPv6) to configure Spectrum application to. Requires Bring Your Own IP provisioned.

IpFirewall bool

Enables the IP Firewall for this application. Defaults to true.

OriginDirects List<string>

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

OriginDns SpectrumApplicationOriginDnsArgs

A destination DNS addresses to the origin. Fields documented below.

OriginPort int

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

Protocol string

The port configuration at Cloudflare’s edge. e.g. tcp/22.

ProxyProtocol string

Enables a proxy protocol to the origin. Valid values are: off, v1, v2, and simple. Defaults to off.

Tls string

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

TrafficType string

Sets application type. Valid values are: direct, http, https. Defaults to direct.

ZoneId string

The DNS zone ID to add the application to

ArgoSmartRouting bool

. Enables Argo Smart Routing. Defaults to false.

Dns SpectrumApplicationDns

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

EdgeIpConnectivity string

. Choose which types of IP addresses will be provisioned for this subdomain. Valid values are: all, ipv4, ipv6. Defaults to all.

EdgeIps []string

. A list of edge IPs (IPv4 and/or IPv6) to configure Spectrum application to. Requires Bring Your Own IP provisioned.

IpFirewall bool

Enables the IP Firewall for this application. Defaults to true.

OriginDirects []string

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

OriginDns SpectrumApplicationOriginDns

A destination DNS addresses to the origin. Fields documented below.

OriginPort int

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

Protocol string

The port configuration at Cloudflare’s edge. e.g. tcp/22.

ProxyProtocol string

Enables a proxy protocol to the origin. Valid values are: off, v1, v2, and simple. Defaults to off.

Tls string

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

TrafficType string

Sets application type. Valid values are: direct, http, https. Defaults to direct.

ZoneId string

The DNS zone ID to add the application to

argoSmartRouting boolean

. Enables Argo Smart Routing. Defaults to false.

dns SpectrumApplicationDns

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

edgeIpConnectivity string

. Choose which types of IP addresses will be provisioned for this subdomain. Valid values are: all, ipv4, ipv6. Defaults to all.

edgeIps string[]

. A list of edge IPs (IPv4 and/or IPv6) to configure Spectrum application to. Requires Bring Your Own IP provisioned.

ipFirewall boolean

Enables the IP Firewall for this application. Defaults to true.

originDirects string[]

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

originDns SpectrumApplicationOriginDns

A destination DNS addresses to the origin. Fields documented below.

originPort number

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

protocol string

The port configuration at Cloudflare’s edge. e.g. tcp/22.

proxyProtocol string

Enables a proxy protocol to the origin. Valid values are: off, v1, v2, and simple. Defaults to off.

tls string

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

trafficType string

Sets application type. Valid values are: direct, http, https. Defaults to direct.

zoneId string

The DNS zone ID to add the application to

argo_smart_routing bool

. Enables Argo Smart Routing. Defaults to false.

dns Dict[SpectrumApplicationDns]

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

edge_ip_connectivity str

. Choose which types of IP addresses will be provisioned for this subdomain. Valid values are: all, ipv4, ipv6. Defaults to all.

edge_ips List[str]

. A list of edge IPs (IPv4 and/or IPv6) to configure Spectrum application to. Requires Bring Your Own IP provisioned.

ip_firewall bool

Enables the IP Firewall for this application. Defaults to true.

origin_directs List[str]

A list of destination addresses to the origin. e.g. tcp://192.0.2.1:22.

origin_dns Dict[SpectrumApplicationOriginDns]

A destination DNS addresses to the origin. Fields documented below.

origin_port float

If using origin_dns this is a required attribute. Origin port to proxy traffice to e.g. 22.

protocol str

The port configuration at Cloudflare’s edge. e.g. tcp/22.

proxy_protocol str

Enables a proxy protocol to the origin. Valid values are: off, v1, v2, and simple. Defaults to off.

tls str

TLS configuration option for Cloudflare to connect to your origin. Valid values are: off, flexible, full and strict. Defaults to off.

traffic_type str

Sets application type. Valid values are: direct, http, https. Defaults to direct.

zone_id str

The DNS zone ID to add the application to

Supporting Types

SpectrumApplicationDns

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Name string

Fully qualified domain name of the origin e.g. origin-ssh.example.com.

Type string

The type of DNS record associated with the application. Valid values: CNAME.

Name string

Fully qualified domain name of the origin e.g. origin-ssh.example.com.

Type string

The type of DNS record associated with the application. Valid values: CNAME.

name string

Fully qualified domain name of the origin e.g. origin-ssh.example.com.

type string

The type of DNS record associated with the application. Valid values: CNAME.

name str

Fully qualified domain name of the origin e.g. origin-ssh.example.com.

type str

The type of DNS record associated with the application. Valid values: CNAME.

SpectrumApplicationOriginDns

See the input and output API doc for this type.

See the input and output API doc for this type.

See the input and output API doc for this type.

Name string

Fully qualified domain name of the origin e.g. origin-ssh.example.com.

Name string

Fully qualified domain name of the origin e.g. origin-ssh.example.com.

name string

Fully qualified domain name of the origin e.g. origin-ssh.example.com.

name str

Fully qualified domain name of the origin e.g. origin-ssh.example.com.

Package Details

Repository
https://github.com/pulumi/pulumi-cloudflare
License
Apache-2.0
Notes
This Pulumi package is based on the cloudflare Terraform Provider.