SpectrumApplicationArgs

data class SpectrumApplicationArgs(val argoSmartRouting: Output<Boolean>? = null, val dns: Output<SpectrumApplicationDnsArgs>? = null, val edgeIps: Output<SpectrumApplicationEdgeIpsArgs>? = null, val ipFirewall: Output<Boolean>? = null, val originDirects: Output<List<String>>? = null, val originDns: Output<SpectrumApplicationOriginDnsArgs>? = null, val originPort: Output<Int>? = null, val originPortRange: Output<SpectrumApplicationOriginPortRangeArgs>? = null, val protocol: Output<String>? = null, val proxyProtocol: Output<String>? = null, val tls: Output<String>? = null, val trafficType: Output<String>? = null, val zoneId: Output<String>? = null) : ConvertibleToJava<SpectrumApplicationArgs>

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&#46;0&#46;2&#46;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&#46;0&#46;2&#46;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>

Constructors

Link copied to clipboard
constructor(argoSmartRouting: Output<Boolean>? = null, dns: Output<SpectrumApplicationDnsArgs>? = null, edgeIps: Output<SpectrumApplicationEdgeIpsArgs>? = null, ipFirewall: Output<Boolean>? = null, originDirects: Output<List<String>>? = null, originDns: Output<SpectrumApplicationOriginDnsArgs>? = null, originPort: Output<Int>? = null, originPortRange: Output<SpectrumApplicationOriginPortRangeArgs>? = null, protocol: Output<String>? = null, proxyProtocol: Output<String>? = null, tls: Output<String>? = null, trafficType: Output<String>? = null, zoneId: Output<String>? = null)

Properties

Link copied to clipboard
val argoSmartRouting: Output<Boolean>? = null

Enables Argo Smart Routing.

Link copied to clipboard
val dns: Output<SpectrumApplicationDnsArgs>? = null

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 ipFirewall: Output<Boolean>? = null

Enables the IP Firewall for this application.

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

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

Link copied to clipboard

A destination DNS addresses to the origin.

Link copied to clipboard
val originPort: Output<Int>? = null

Origin port to proxy traffice to. Conflicts with origin_port_range.

Link copied to clipboard

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.

Link copied to clipboard
val protocol: Output<String>? = null

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

Link copied to clipboard
val proxyProtocol: Output<String>? = null

Enables a proxy protocol to the origin. Available values: off, v1, v2, simple.

Link copied to clipboard
val tls: Output<String>? = null

TLS configuration option for Cloudflare to connect to your origin. Available values: off, flexible, full, strict.

Link copied to clipboard
val trafficType: Output<String>? = null

Sets application type. Available values: direct, http, https.

Link copied to clipboard
val zoneId: Output<String>? = null

The zone identifier to target for the resource.

Functions

Link copied to clipboard
open override fun toJava(): SpectrumApplicationArgs