Properties

Configure a property with defined rules, behaviors, and match criteria that trigger the actions that control how edge servers respond to various kinds of requests to your site and its content.

What you'll do

  1. Create or clone a property.
  2. Validate domains.
  3. Create an edge hostname.
  4. Get a property's rules and make changes.
  5. Update the property.
  6. Activate the property.

1. Create a property

Create a new property or a clone an existing property by using your contract, group, and product IDs.

New

New property configurations come with a default set of rules. You can use the default property rules with the addition of information that identifies your site, refine the default rules to fit your needs, or replace the defaults with an existing set of rules.

$NewProperty = New-Property -Name MyNewProperty -ProductID prd_Object_Delivery -GroupID 12345 -ContractID C-0N7RAC7
propertyLink                                                   propertyID
------------                                                   ----------
/papi/v1/properties/987654?contractId=C-0N7RAC7&groupID=12345      987654     

Returned is a link to your property and the property's ID.

👍

Tip

Use the default property on a network while you work to customize your rules to apply basic protections to your site's traffic.

  1. Get your property's rules.
  2. Add a CP code, an origin hostname, and an edge hostname to the behaviors of your default rule and update your property.
  3. Activate your property.

New from clone

Use an existing property's ID or name and a version or version Etag to create a clone of the configuration and rules that you can use as is or update.

To clone the latest version of a property, pass a value of latest for -CloneFromVersion.

$NewProperty = New-Property -ClonePropertyName MyExistingProperty -CloneFromVersion latest -Name MyNewProperty -ProductID  prd_Object_Delivery -GroupID 12345 -ContractID C-0N7RAC7
propertyLink                                                   propertyID
------------                                                   ----------
/papi/v1/properties/987654?contractId=C-0N7RAC7&groupID=12345      987654

Returned is a link to your property and the property's ID.

New property version

Use any version of a property to create a new inactive, editable version. To use the latest version of a property, pass a value of latest for -CreateFromVersion.

New-PropertyVersion -PropertyName MyProperty -CreateFromVersion 10
propertyLink                                                              propertyVersion
------------                                                              ---------------
/papi/v1/properties/12345/versions/11?contractId=C-0N7RAC7&groupId=12345               11 

Returned is a link to your property's new version and the property's version number.

Use the new version to update rules, hostnames, or other settings and then activate it on a network to apply changes to your traffic.

2. Validate your domains

You need to prove ownership of domains you onboard to Akamai to prevent their unauthorized use on the Akamai network.

There are two paths to domain validation, pre-validation and late validation.

📘

Domains used in hostname-bucket type properties require pre-validation before adding them to a property.

  • Pre-validation when you validate domains before setting up a property. This covers exact hostname, domain, and wildcard validation scopes.
  • Late validation when you validate domains after defining them in the property.

3. Create an edge hostname

You need an edge hostname for each hostname you want to add to a property. Akamai supports three types of edge hostnames. Each type supports a different level of security.

Edge hostname typeDomain suffixExample
Standard TLSedgesuite.netexample.com.edgesuite.net
Enhanced TLSedgekey.netexample.com.edgekey.net
Shared Certakamaized.netexample.com.akamaized.net

To create an edge hostname, run New-EdgeHostname.

$Params = @{
  DomainPrefix      = "example.com"
  DomainSuffix      = "edgesuite.net"
  IPVersionBehavior = "IPV4"
  SecureNetwork     = "STANDARD_TLS"
  ProductID         = "prd_Obj_Delivery"
  GroupID           = "12345"
  ContractID        = "C-0N7RAC7"
}

New-EdgeHostname @Params
edgeHostnameLink                                                               edgeHostnameId
----------------                                                               --------------
/papi/v1/edgehostnames/ehn_98765?groupId=grp_12345&contractId=ctr_C-0N7RAC7    ehn_98765

For standard properties, add the hostname in your property with Add-PropertyHostname.

$MyHostnames = @(
  @{
      certProvisioningType = "DEFAULT"
      cnameFrom = "example.com"
      cnameTo = "example.com.edgesuite.net"
  }
)

Add-PropertyHostname -PropertyName 'MyProperty' -PropertyVersion 'latest' -NewHostnames $MyHostnames -GroupID 12345 -ContractId 'C-0N7RAC7'
cnameType                   : EDGE_HOSTNAME
edgeHostnameId              : ehn_98765
cnameFrom                   : example.com
cnameTo                     : example.com.edgesuite.net
certProvisioningType        : DEFAULT

If you're using a hostname bucket, use Add-BucketHostname to add hostnames to your property's bucket.

4. Get properties

Use your group and contract IDs to get a list of all your properties. For a single property, pass a property name or ID.

# Get all
Get-Property -GroupID 12345 -ContractID C-0N7RAC7

# Get one
Get-Property -PropertyName MyProperty
accountId:        A-CCT1234
contractId:       C-0N7RAC7
groupId:          12345
propertyId:       76543
propertyName:     MyProperty
latestVersion:    4
stagingVersion:   2
productionVersion:
assetId:          12345

accountId:        A-CCT1234
contractId:       C-0N7RAC72
groupId:          65432
propertyId:       76543
propertyName:     MyProperty2
latestVersion:    2
stagingVersion:   1
productionVersion:
assetId:          98765
accountId:        A-CCT1234
contractId:       C-0N7RAC7
groupId:          12345
propertyId:       76543
propertyName:     MyProperty
latestVersion:    4
stagingVersion:   2
productionVersion:
assetId:          12345

5. Update a property

How you update a property depends on what you're trying to change.

  • You do not need to create new versions of includes, rules, or properties that have never been activated on staging or production.
  • Until activated, you can continue to make changes to your property and save them upstream using Set commands.
Change typeUpdate path
Includes
  1. Get the include.
  2. Make changes.
  3. Activate the include.
Rules
  1. Get a property's rules.
  2. Make changes.
  3. Create a new property version.
  4. Activate the new version.
Property
  1. Create a new version of your property.
  2. Make changes.
  3. Activate the new version.

6. Activate a property

To apply a property's settings to your traffic, activate the property on a network using its name or ID and version. If you want to activate the latest version of a property, pass a value of latest for -PropertyVersion.

New-PropertyActivation -PropertyName MyProperty -PropertyVersion 11 -Network Staging -NotifyEmails jsmith@email.com
activationLink                                                                   activationId
--------------                                                                   ------------
/papi/v1/properties/786543/activations/12345?contractId=C-0N7RAC7&groupId=12345         12345

7. Add hostnames to a hostname bucket

If you're using a hostname-bucket type property, your final step is adding hostnames to a property that is already active on the staging or production network.

Notes:

  • If any other hostname activation or property version activation is in progress, the operation will fail.
  • You can add up to 1,000 hostnames with a single request, and manage the total of 100,000 hostnames within a single property. If you need to provision more than 1,000 hostnames, you need to split the operation into multiple requests.
$MyHostnames = @(
  @{
      certProvisioningType = "DEFAULT"
      cnameFrom = "example-other.com"
      cnameType = "EDGE_HOSTNAME"
      edgeHostnameId = "98765"
  }
)

Add-BucketHostname -PropertyName "MyProperty" -Network "STAGING" -NewHostnames $MyHostnames
cnameType            : EDGE_HOSTNAME
edgeHostnameId       : ehn_54321
cnameFrom            : example-other.com
cnameTo              : example-other.com.edgesuite.net
certProvisioningType : DEFAULT
certStatus           : @{production=System.Object[]; staging=System.Object[]; validationCname=}
action               : ADD

Did this page help you?