SpectrumApplication

class SpectrumApplication : KotlinCustomResource

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

Link copied to clipboard

Enables Argo Smart Routing.

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 the IP Firewall for this application.

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

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>?

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>

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

Link copied to clipboard
val proxyProtocol: Output<String>

Enables a proxy protocol to the origin. 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>

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

Link copied to clipboard
val trafficType: Output<String>

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

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

The zone identifier to target for the resource.