AddressMap

class AddressMap : KotlinCustomResource

Provides the ability to manage IP addresses that can be used by DNS records when they are proxied through Cloudflare.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
const example = new cloudflare.AddressMap("example", {
accountId: "f037e56e89293a057740de681ac9abbe",
description: "My address map",
defaultSni: "*.example.com",
enabled: true,
ips: [
{
ip: "192.0.2.1",
},
{
ip: "203.0.113.1",
},
],
memberships: [
{
identifier: "92f17202ed8bd63d69a66b86a49a8f6b",
kind: "account",
},
{
identifier: "023e105f4ecef8ad9ca31a8372d0c353",
kind: "zone",
},
],
});
import pulumi
import pulumi_cloudflare as cloudflare
example = cloudflare.AddressMap("example",
account_id="f037e56e89293a057740de681ac9abbe",
description="My address map",
default_sni="*.example.com",
enabled=True,
ips=[
{
"ip": "192.0.2.1",
},
{
"ip": "203.0.113.1",
},
],
memberships=[
{
"identifier": "92f17202ed8bd63d69a66b86a49a8f6b",
"kind": "account",
},
{
"identifier": "023e105f4ecef8ad9ca31a8372d0c353",
"kind": "zone",
},
])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
return await Deployment.RunAsync(() =>
{
var example = new Cloudflare.AddressMap("example", new()
{
AccountId = "f037e56e89293a057740de681ac9abbe",
Description = "My address map",
DefaultSni = "*.example.com",
Enabled = true,
Ips = new[]
{
new Cloudflare.Inputs.AddressMapIpArgs
{
Ip = "192.0.2.1",
},
new Cloudflare.Inputs.AddressMapIpArgs
{
Ip = "203.0.113.1",
},
},
Memberships = new[]
{
new Cloudflare.Inputs.AddressMapMembershipArgs
{
Identifier = "92f17202ed8bd63d69a66b86a49a8f6b",
Kind = "account",
},
new Cloudflare.Inputs.AddressMapMembershipArgs
{
Identifier = "023e105f4ecef8ad9ca31a8372d0c353",
Kind = "zone",
},
},
});
});
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.NewAddressMap(ctx, "example", &cloudflare.AddressMapArgs{
AccountId: pulumi.String("f037e56e89293a057740de681ac9abbe"),
Description: pulumi.String("My address map"),
DefaultSni: pulumi.String("*.example.com"),
Enabled: pulumi.Bool(true),
Ips: cloudflare.AddressMapIpArray{
&cloudflare.AddressMapIpArgs{
Ip: pulumi.String("192.0.2.1"),
},
&cloudflare.AddressMapIpArgs{
Ip: pulumi.String("203.0.113.1"),
},
},
Memberships: cloudflare.AddressMapMembershipArray{
&cloudflare.AddressMapMembershipArgs{
Identifier: pulumi.String("92f17202ed8bd63d69a66b86a49a8f6b"),
Kind: pulumi.String("account"),
},
&cloudflare.AddressMapMembershipArgs{
Identifier: pulumi.String("023e105f4ecef8ad9ca31a8372d0c353"),
Kind: pulumi.String("zone"),
},
},
})
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.AddressMap;
import com.pulumi.cloudflare.AddressMapArgs;
import com.pulumi.cloudflare.inputs.AddressMapIpArgs;
import com.pulumi.cloudflare.inputs.AddressMapMembershipArgs;
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 AddressMap("example", AddressMapArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.description("My address map")
.defaultSni("*.example.com")
.enabled(true)
.ips(
AddressMapIpArgs.builder()
.ip("192.0.2.1")
.build(),
AddressMapIpArgs.builder()
.ip("203.0.113.1")
.build())
.memberships(
AddressMapMembershipArgs.builder()
.identifier("92f17202ed8bd63d69a66b86a49a8f6b")
.kind("account")
.build(),
AddressMapMembershipArgs.builder()
.identifier("023e105f4ecef8ad9ca31a8372d0c353")
.kind("zone")
.build())
.build());
}
}
resources:
example:
type: cloudflare:AddressMap
properties:
accountId: f037e56e89293a057740de681ac9abbe
description: My address map
defaultSni: '*.example.com'
enabled: true
ips:
- ip: 192.0.2.1
- ip: 203.0.113.1
memberships:
- identifier: 92f17202ed8bd63d69a66b86a49a8f6b
kind: account
- identifier: 023e105f4ecef8ad9ca31a8372d0c353
kind: zone

Import

$ pulumi import cloudflare:index/addressMap:AddressMap example <account_id>/<address_map_id>

Properties

Link copied to clipboard
val accountId: Output<String>

The account identifier to target for the resource.

Link copied to clipboard
val canDelete: Output<Boolean>

If set to false, then the Address Map cannot be deleted via API. This is true for Cloudflare-managed maps.

Link copied to clipboard
val canModifyIps: Output<Boolean>

If set to false, then the IPs on the Address Map cannot be modified via the API. This is true for Cloudflare-managed maps.

Link copied to clipboard
val defaultSni: Output<String>?

If you have legacy TLS clients which do not send the TLS server name indicator, then you can specify one default SNI on the map.

Link copied to clipboard
val description: Output<String>?

Description of the address map.

Link copied to clipboard
val enabled: Output<Boolean>

Whether the Address Map is enabled or not.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val ips: Output<List<AddressMapIp>>?

The set of IPs on the Address Map.

Link copied to clipboard

Zones and Accounts which will be assigned IPs on this Address Map.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val urn: Output<String>