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
- Create or clone a property.
- Validate domains.
- Create an edge hostname.
- Get a property's rules and make changes.
- Update the property.
- 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-0N7RAC7propertyLink propertyID
------------ ----------
/papi/v1/properties/987654?contractId=C-0N7RAC7&groupID=12345 987654 Returned is a link to your property and the property's ID.
TipUse the default property on a network while you work to customize your rules to apply basic protections to your site's traffic.
- Get your property's rules.
- Add a CP code, an origin hostname, and an edge hostname to the behaviors of your default rule and update your property.
- 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-0N7RAC7propertyLink propertyID
------------ ----------
/papi/v1/properties/987654?contractId=C-0N7RAC7&groupID=12345 987654Returned 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 10propertyLink 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 type | Domain suffix | Example |
|---|---|---|
| Standard TLS | edgesuite.net | example.com.edgesuite.net |
| Enhanced TLS | edgekey.net | example.com.edgekey.net |
| Shared Cert | akamaized.net | example.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 @ParamsedgeHostnameLink edgeHostnameId
---------------- --------------
/papi/v1/edgehostnames/ehn_98765?groupId=grp_12345&contractId=ctr_C-0N7RAC7 ehn_98765For 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 : DEFAULTIf 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 MyPropertyaccountId: 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: 98765accountId: A-CCT1234
contractId: C-0N7RAC7
groupId: 12345
propertyId: 76543
propertyName: MyProperty
latestVersion: 4
stagingVersion: 2
productionVersion:
assetId: 123455. 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
Setcommands.
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 123457. 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 $MyHostnamescnameType : 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 : ADDUpdated about 16 hours ago
