akamai.EdgeHostName

The akamai.EdgeHostName resource lets you configure a secure edge hostname. Your edge hostname determines how requests for your site, app, or content are mapped to Akamai edge servers.

An edge hostname is the CNAME target you use when directing your end user traffic to Akamai. Each hostname assigned to a property has a corresponding edge hostname.

Akamai supports three types of edge hostnames, depending on the level of security you need for your traffic: Standard TLS, Enhanced TLS, and Shared Certificate. When entering the edge_hostname attribute, you need to include a specific domain suffix for your edge hostname type:

Edge hostname typeDomain suffix
Enhanced TLSedgekey.net
Standard TLSedgesuite.net
Shared Certakamaized.net

For example, if you use Standard TLS and have www.example.com as a hostname, your edge hostname would be www.example.com.edgesuite.net. If you wanted to use Enhanced TLS with the same hostname, your edge hostname would be www.example.com.edgekey.net. See Create a new edge hostname in the Property Manager API (PAPI) for more information.

Attributes reference

This resource returns this attribute:

  • ip_behavior - Returns the IP protocol the hostname will use, either IPV4 for version 4, IPV6_PERFORMANCEfor version 6, orIPV6_COMPLIANCE` for both.

Example Usage

Basic usage

using System.Collections.Generic;
using Pulumi;
using Akamai = Pulumi.Akamai;

return await Deployment.RunAsync(() => 
{
    var provider_demo = new Akamai.EdgeHostName("provider-demo", new()
    {
        ContractId = "ctr_1-AB123",
        EdgeHostname = "www.example.org.edgesuite.net",
        GroupId = "grp_123",
        IpBehavior = "IPV4",
        ProductId = "prd_Object_Delivery",
    });

});
package main

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

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := akamai.NewEdgeHostName(ctx, "provider-demo", &akamai.EdgeHostNameArgs{
			ContractId:   pulumi.String("ctr_1-AB123"),
			EdgeHostname: pulumi.String("www.example.org.edgesuite.net"),
			GroupId:      pulumi.String("grp_123"),
			IpBehavior:   pulumi.String("IPV4"),
			ProductId:    pulumi.String("prd_Object_Delivery"),
		})
		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.akamai.EdgeHostName;
import com.pulumi.akamai.EdgeHostNameArgs;
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 provider_demo = new EdgeHostName("provider-demo", EdgeHostNameArgs.builder()        
            .contractId("ctr_1-AB123")
            .edgeHostname("www.example.org.edgesuite.net")
            .groupId("grp_123")
            .ipBehavior("IPV4")
            .productId("prd_Object_Delivery")
            .build());

    }
}
import pulumi
import pulumi_akamai as akamai

provider_demo = akamai.EdgeHostName("provider-demo",
    contract_id="ctr_1-AB123",
    edge_hostname="www.example.org.edgesuite.net",
    group_id="grp_123",
    ip_behavior="IPV4",
    product_id="prd_Object_Delivery")
import * as pulumi from "@pulumi/pulumi";
import * as akamai from "@pulumi/akamai";

const provider_demo = new akamai.EdgeHostName("provider-demo", {
    contractId: "ctr_1-AB123",
    edgeHostname: "www.example.org.edgesuite.net",
    groupId: "grp_123",
    ipBehavior: "IPV4",
    productId: "prd_Object_Delivery",
});
resources:
  provider-demo:
    type: akamai:EdgeHostName
    properties:
      contractId: ctr_1-AB123
      edgeHostname: www.example.org.edgesuite.net
      groupId: grp_123
      ipBehavior: IPV4
      productId: prd_Object_Delivery

Create EdgeHostName Resource

new EdgeHostName(name: string, args: EdgeHostNameArgs, opts?: CustomResourceOptions);
@overload
def EdgeHostName(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 certificate: Optional[int] = None,
                 contract: Optional[str] = None,
                 contract_id: Optional[str] = None,
                 edge_hostname: Optional[str] = None,
                 group: Optional[str] = None,
                 group_id: Optional[str] = None,
                 ip_behavior: Optional[str] = None,
                 product: Optional[str] = None,
                 product_id: Optional[str] = None,
                 status_update_emails: Optional[Sequence[str]] = None,
                 use_cases: Optional[str] = None)
@overload
def EdgeHostName(resource_name: str,
                 args: EdgeHostNameArgs,
                 opts: Optional[ResourceOptions] = None)
func NewEdgeHostName(ctx *Context, name string, args EdgeHostNameArgs, opts ...ResourceOption) (*EdgeHostName, error)
public EdgeHostName(string name, EdgeHostNameArgs args, CustomResourceOptions? opts = null)
public EdgeHostName(String name, EdgeHostNameArgs args)
public EdgeHostName(String name, EdgeHostNameArgs args, CustomResourceOptions options)
type: akamai:EdgeHostName
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args EdgeHostNameArgs
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 EdgeHostNameArgs
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 EdgeHostNameArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args EdgeHostNameArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args EdgeHostNameArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

EdgeHostName 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 EdgeHostName resource accepts the following input properties:

EdgeHostname string

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

IpBehavior string

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

Certificate int

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

Contract string

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

ContractId string

A contract's unique ID, including the ctr_ prefix.

Group string

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

GroupId string

A group's unique ID, including the grp_ prefix.

Product string

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

ProductId string
StatusUpdateEmails List<string>

Email address that should receive updates on the IP behavior update request. Required for update operation.

UseCases string

A JSON encoded list of use cases.

EdgeHostname string

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

IpBehavior string

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

Certificate int

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

Contract string

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

ContractId string

A contract's unique ID, including the ctr_ prefix.

Group string

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

GroupId string

A group's unique ID, including the grp_ prefix.

Product string

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

ProductId string
StatusUpdateEmails []string

Email address that should receive updates on the IP behavior update request. Required for update operation.

UseCases string

A JSON encoded list of use cases.

edgeHostname String

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

ipBehavior String

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

certificate Integer

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

contract String

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

contractId String

A contract's unique ID, including the ctr_ prefix.

group String

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

groupId String

A group's unique ID, including the grp_ prefix.

product String

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

productId String
statusUpdateEmails List<String>

Email address that should receive updates on the IP behavior update request. Required for update operation.

useCases String

A JSON encoded list of use cases.

edgeHostname string

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

ipBehavior string

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

certificate number

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

contract string

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

contractId string

A contract's unique ID, including the ctr_ prefix.

group string

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

groupId string

A group's unique ID, including the grp_ prefix.

product string

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

productId string
statusUpdateEmails string[]

Email address that should receive updates on the IP behavior update request. Required for update operation.

useCases string

A JSON encoded list of use cases.

edge_hostname str

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

ip_behavior str

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

certificate int

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

contract str

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

contract_id str

A contract's unique ID, including the ctr_ prefix.

group str

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

group_id str

A group's unique ID, including the grp_ prefix.

product str

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

product_id str
status_update_emails Sequence[str]

Email address that should receive updates on the IP behavior update request. Required for update operation.

use_cases str

A JSON encoded list of use cases.

edgeHostname String

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

ipBehavior String

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

certificate Number

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

contract String

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

contractId String

A contract's unique ID, including the ctr_ prefix.

group String

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

groupId String

A group's unique ID, including the grp_ prefix.

product String

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

productId String
statusUpdateEmails List<String>

Email address that should receive updates on the IP behavior update request. Required for update operation.

useCases String

A JSON encoded list of use cases.

Outputs

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

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing EdgeHostName Resource

Get an existing EdgeHostName 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?: EdgeHostNameState, opts?: CustomResourceOptions): EdgeHostName
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        certificate: Optional[int] = None,
        contract: Optional[str] = None,
        contract_id: Optional[str] = None,
        edge_hostname: Optional[str] = None,
        group: Optional[str] = None,
        group_id: Optional[str] = None,
        ip_behavior: Optional[str] = None,
        product: Optional[str] = None,
        product_id: Optional[str] = None,
        status_update_emails: Optional[Sequence[str]] = None,
        use_cases: Optional[str] = None) -> EdgeHostName
func GetEdgeHostName(ctx *Context, name string, id IDInput, state *EdgeHostNameState, opts ...ResourceOption) (*EdgeHostName, error)
public static EdgeHostName Get(string name, Input<string> id, EdgeHostNameState? state, CustomResourceOptions? opts = null)
public static EdgeHostName get(String name, Output<String> id, EdgeHostNameState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
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.
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:
Certificate int

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

Contract string

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

ContractId string

A contract's unique ID, including the ctr_ prefix.

EdgeHostname string

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

Group string

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

GroupId string

A group's unique ID, including the grp_ prefix.

IpBehavior string

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

Product string

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

ProductId string
StatusUpdateEmails List<string>

Email address that should receive updates on the IP behavior update request. Required for update operation.

UseCases string

A JSON encoded list of use cases.

Certificate int

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

Contract string

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

ContractId string

A contract's unique ID, including the ctr_ prefix.

EdgeHostname string

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

Group string

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

GroupId string

A group's unique ID, including the grp_ prefix.

IpBehavior string

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

Product string

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

ProductId string
StatusUpdateEmails []string

Email address that should receive updates on the IP behavior update request. Required for update operation.

UseCases string

A JSON encoded list of use cases.

certificate Integer

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

contract String

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

contractId String

A contract's unique ID, including the ctr_ prefix.

edgeHostname String

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

group String

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

groupId String

A group's unique ID, including the grp_ prefix.

ipBehavior String

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

product String

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

productId String
statusUpdateEmails List<String>

Email address that should receive updates on the IP behavior update request. Required for update operation.

useCases String

A JSON encoded list of use cases.

certificate number

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

contract string

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

contractId string

A contract's unique ID, including the ctr_ prefix.

edgeHostname string

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

group string

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

groupId string

A group's unique ID, including the grp_ prefix.

ipBehavior string

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

product string

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

productId string
statusUpdateEmails string[]

Email address that should receive updates on the IP behavior update request. Required for update operation.

useCases string

A JSON encoded list of use cases.

certificate int

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

contract str

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

contract_id str

A contract's unique ID, including the ctr_ prefix.

edge_hostname str

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

group str

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

group_id str

A group's unique ID, including the grp_ prefix.

ip_behavior str

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

product str

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

product_id str
status_update_emails Sequence[str]

Email address that should receive updates on the IP behavior update request. Required for update operation.

use_cases str

A JSON encoded list of use cases.

certificate Number

Required only when creating an Enhanced TLS edge hostname. This argument sets the certificate enrollment ID. Edge hostnames for Enhanced TLS end in edgekey.net. You can retrieve this ID from the Certificate Provisioning Service CLI .

contract String

Replaced by contract_id. Maintained for legacy purposes.

Deprecated:

The setting "contract" has been deprecated.

contractId String

A contract's unique ID, including the ctr_ prefix.

edgeHostname String

One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.

group String

Replaced by group_id. Maintained for legacy purposes.

Deprecated:

The setting "group" has been deprecated.

groupId String

A group's unique ID, including the grp_ prefix.

ipBehavior String

Which version of the IP protocol to use: IPV4 for version 4 only, IPV6_PERFORMANCE for version 6 only, or IPV6_COMPLIANCE for both 4 and 6.

product String

Replaced by product_id. Maintained for legacy purposes.

Deprecated:

The setting "product" has been deprecated.

productId String
statusUpdateEmails List<String>

Email address that should receive updates on the IP behavior update request. Required for update operation.

useCases String

A JSON encoded list of use cases.

Import

Basic Usagehcl resource “akamai_edge_hostname” “example” {

(resource arguments) } You can import Akamai edge hostnames using a comma-delimited string of edge hostname, contract ID, and group ID. You have to enter the values in this order:

edge_hostname, contract_id, group_id For example

 $ pulumi import akamai:index/edgeHostName:EdgeHostName example ehn_123,ctr_1-AB123,grp_123

Package Details

Repository
Akamai pulumi/pulumi-akamai
License
Apache-2.0
Notes

This Pulumi package is based on the akamai Terraform Provider.