GtmCidrmap

Use the akamai.GtmCidrmap resource to create, configure, and import a GTM Classless Inter-Domain Routing (CIDR) map. CIDR mapping uses the IP addresses of the requesting name server to provide IP-specific CNAME entries. CNAMEs let you direct internal users to a specific environment or direct them to the origin. This lets you provide different responses to an internal corporate DNS infrastructure, such as internal test environments and another answer for all other name servers (default_datacenter).

CIDR maps split the Internet into multiple CIDR block zones. Properties that use a map can specify a handout CNAME for each zone on the property’s editing page. To configure a property for CIDR mapping, your domain needs at least one CIDR map defined.

Note Import requires an ID with this format: existing_domain_name:existing_map_name.

Argument reference

This resource supports these arguments:

  • domain - (Required) GTM Domain name for the AS Map.
  • name - (Required) A descriptive label for the CIDR map, up to 255 characters.
  • default_datacenter - (Required) A placeholder for all other CIDR zones not found in these CIDR zones. Requires these additional arguments:
    • datacenter_id - (Required) For each property, an identifier for all other CIDR zones.
    • nickname - (Required) A descriptive label for the all other CIDR blocks.
  • wait_on_complete - (Optional) A boolean that, if set to true, waits for transaction to complete.
  • assignment - (Optional) Contains information about the CIDR zone groupings of CIDR blocks. You can have multiple entries with this argument. If used, requires these additional arguments:
    • datacenter_id - (Optional) A unique identifier for an existing data center in the domain.
    • nickname - (Optional) A descriptive label for the CIDR zone group, up to 256 characters.
    • blocks - (Optional, list) Specifies an array of CIDR blocks.

Schema reference

You can download the GTM CIDR Map backing schema from the Global Traffic Management API page.

Example Usage

using Pulumi;
using Akamai = Pulumi.Akamai;

class MyStack : Stack
{
    public MyStack()
    {
        var demoCidrmap = new Akamai.GtmCidrmap("demoCidrmap", new Akamai.GtmCidrmapArgs
        {
            DefaultDatacenter = new Akamai.Inputs.GtmCidrmapDefaultDatacenterArgs
            {
                DatacenterId = 5400,
                Nickname = "All Other CIDR Blocks",
            },
            Domain = "demo_domain.akadns.net",
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-akamai/sdk/v2/go/akamai"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := akamai.NewGtmCidrmap(ctx, "demoCidrmap", &akamai.GtmCidrmapArgs{
			DefaultDatacenter: &GtmCidrmapDefaultDatacenterArgs{
				DatacenterId: pulumi.Int(5400),
				Nickname:     pulumi.String("All Other CIDR Blocks"),
			},
			Domain: pulumi.String("demo_domain.akadns.net"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_akamai as akamai

demo_cidrmap = akamai.GtmCidrmap("demoCidrmap",
    default_datacenter=akamai.GtmCidrmapDefaultDatacenterArgs(
        datacenter_id=5400,
        nickname="All Other CIDR Blocks",
    ),
    domain="demo_domain.akadns.net")
import * as pulumi from "@pulumi/pulumi";
import * as akamai from "@pulumi/akamai";

const demoCidrmap = new akamai.GtmCidrmap("demo_cidrmap", {
    defaultDatacenter: {
        datacenterId: 5400,
        nickname: "All Other CIDR Blocks",
    },
    domain: "demo_domain.akadns.net",
});

Create a GtmCidrmap Resource

new GtmCidrmap(name: string, args: GtmCidrmapArgs, opts?: CustomResourceOptions);
@overload
def GtmCidrmap(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               assignments: Optional[Sequence[GtmCidrmapAssignmentArgs]] = None,
               default_datacenter: Optional[GtmCidrmapDefaultDatacenterArgs] = None,
               domain: Optional[str] = None,
               name: Optional[str] = None,
               wait_on_complete: Optional[bool] = None)
@overload
def GtmCidrmap(resource_name: str,
               args: GtmCidrmapArgs,
               opts: Optional[ResourceOptions] = None)
func NewGtmCidrmap(ctx *Context, name string, args GtmCidrmapArgs, opts ...ResourceOption) (*GtmCidrmap, error)
public GtmCidrmap(string name, GtmCidrmapArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args GtmCidrmapArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args GtmCidrmapArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args GtmCidrmapArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args GtmCidrmapArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

GtmCidrmap Resource Properties

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

Inputs

The GtmCidrmap resource accepts the following input properties:

Outputs

All input properties are implicitly available as output properties. Additionally, the GtmCidrmap 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 GtmCidrmap Resource

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

public static get(name: string, id: Input<ID>, state?: GtmCidrmapState, opts?: CustomResourceOptions): GtmCidrmap
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        assignments: Optional[Sequence[GtmCidrmapAssignmentArgs]] = None,
        default_datacenter: Optional[GtmCidrmapDefaultDatacenterArgs] = None,
        domain: Optional[str] = None,
        name: Optional[str] = None,
        wait_on_complete: Optional[bool] = None) -> GtmCidrmap
func GetGtmCidrmap(ctx *Context, name string, id IDInput, state *GtmCidrmapState, opts ...ResourceOption) (*GtmCidrmap, error)
public static GtmCidrmap Get(string name, Input<string> id, GtmCidrmapState? state, CustomResourceOptions? opts = null)
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:

Supporting Types

GtmCidrmapAssignment

DatacenterId int
Nickname string
Blocks List<string>
DatacenterId int
Nickname string
Blocks []string
datacenterId number
nickname string
blocks string[]
datacenter_id int
nickname str
blocks Sequence[str]

GtmCidrmapDefaultDatacenter

datacenterId number
nickname string

Package Details

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