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 the Property Manager API (PAPI) for more information.

Argument reference

This resource supports these arguments:

  • name - (Required) The name of the edge hostname.
  • contract_id - (Required) A contract’s unique ID, including the ctr_ prefix.
  • group_id - (Required) A group’s unique ID, including the grp_ prefix.
  • product_id - (Required) A product’s unique ID, including the prd_ prefix.
  • edge_hostname - (Required) One or more edge hostnames. The number of edge hostnames must be less than or equal to the number of public hostnames.
  • certificate - (Optional) 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 .
  • ip_behavior - (Required) 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. The default value is IPV4.
  • contract - (Deprecated) Replaced by contract_id. Maintained for legacy purposes.
  • group - (Deprecated) Replaced by group_id. Maintained for legacy purposes.
  • product - (Deprecated) Replaced by product_id. Maintained for legacy purposes.

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

using Pulumi;
using Akamai = Pulumi.Akamai;

class MyStack : Stack
{
    public MyStack()
    {
        var provider_demo = new Akamai.EdgeHostName("provider-demo", new Akamai.EdgeHostNameArgs
        {
            ContractId = "ctr_1-AB123",
            EdgeHostname = "www.example.org.edgesuite.net",
            GroupId = "grp_123",
            ProductId = "prd_Object_Delivery",
        });
    }

}
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.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"),
			ProductId:    pulumi.String("prd_Object_Delivery"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
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",
    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",
    productId: "prd_Object_Delivery",
});

Create a 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)
@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)
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.

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
IpBehavior string
Certificate int
Contract string

Deprecated: The setting "contract" has been deprecated.

ContractId string
Group string

Deprecated: The setting "group" has been deprecated.

GroupId string
Product string

Deprecated: The setting "product" has been deprecated.

ProductId string
EdgeHostname string
IpBehavior string
Certificate int
Contract string

Deprecated: The setting "contract" has been deprecated.

ContractId string
Group string

Deprecated: The setting "group" has been deprecated.

GroupId string
Product string

Deprecated: The setting "product" has been deprecated.

ProductId string
edgeHostname string
ipBehavior string
certificate number
contract string

Deprecated: The setting "contract" has been deprecated.

contractId string
group string

Deprecated: The setting "group" has been deprecated.

groupId string
product string

Deprecated: The setting "product" has been deprecated.

productId string
edge_hostname str
ip_behavior str
certificate int
contract str

Deprecated: The setting "contract" has been deprecated.

contract_id str
group str

Deprecated: The setting "group" has been deprecated.

group_id str
product str

Deprecated: The setting "product" has been deprecated.

product_id str

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 str
The provider-assigned unique ID for this managed resource.

Look up an 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) -> 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)
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:

Certificate int
Contract string

Deprecated: The setting "contract" has been deprecated.

ContractId string
EdgeHostname string
Group string

Deprecated: The setting "group" has been deprecated.

GroupId string
IpBehavior string
Product string

Deprecated: The setting "product" has been deprecated.

ProductId string
Certificate int
Contract string

Deprecated: The setting "contract" has been deprecated.

ContractId string
EdgeHostname string
Group string

Deprecated: The setting "group" has been deprecated.

GroupId string
IpBehavior string
Product string

Deprecated: The setting "product" has been deprecated.

ProductId string
certificate number
contract string

Deprecated: The setting "contract" has been deprecated.

contractId string
edgeHostname string
group string

Deprecated: The setting "group" has been deprecated.

groupId string
ipBehavior string
product string

Deprecated: The setting "product" has been deprecated.

productId string
certificate int
contract str

Deprecated: The setting "contract" has been deprecated.

contract_id str
edge_hostname str
group str

Deprecated: The setting "group" has been deprecated.

group_id str
ip_behavior str
product str

Deprecated: The setting "product" has been deprecated.

product_id str

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
https://github.com/pulumi/pulumi-akamai
License
Apache-2.0
Notes
This Pulumi package is based on the akamai Terraform Provider.