How To Use the Akamai Plugin¶
This plugin works against the Akamai Edge DNS provider (formerly known as Fast DNS). It is assumed that you already have an account and one or more primary zones hosted.
Setup¶
You will need a set of tokens associated with what Akamai calls an "API Client". If you are a Control Center administrator, you should be able to create this for yourself in the Identity Management section using the instructions here. You will need Read/Write access to DNS Zones and Records.
The end of this process should generate a set of four values: host
, client_token
, client_secret
, and access_token
. If you are not the Control Center administrator, your administrator should be able to provide these values to you after creating an API client on your behalf.
Depending on how you want to use the plugin, you can either add the values to a .edgerc
file and reference that file path with the plugin or just reference the values directly. Details on those options are provided below.
Using the Plugin¶
Akamai is one of the few DNS providers with an API to check whether changes have propagated to the authoritative nameservers for your zones and this plugin will use it automatically. What this means is that if all of the names in your certificate are using the Akamai plugin, you may want to decrease the default DNSSleep
parameter from 120 seconds down to something small like 10 seconds because the changes should be propagated by the time the sleep timer would normally start. The examples below will demonstrate.
Explicit API Options¶
Specify API values individually using AKHost
, AKClientToken
, and AKAccessToken
as string values and AKClientSecret
as a SecureString value
Warning
The AKClientSecretInsecure
parameter is deprecated and will be removed in the next major module version. If you are using it, please migrate to the Secure parameter set.
$pArgs = @{
AKHost = 'myhost.akamaiapis.net'
AKClientToken = 'xxxxxxxxxxxx'
AKClientSecret = (Read-Host "Client Secret" -AsSecureString)
AKAccessToken = 'yyyyyyyyyyyy'
}
New-PACertificate example.com -Plugin Akamai -PluginArgs $pArgs -DNSSleep 10
.edgerc Options¶
If your API client values are stored in a .edgerc
file, you can use the AKUseEdgeRC
parameter rather than specifying all the values explicitly. Use the AKEdgeRCFile
and AKEdgeRCSection
parameters if your file is not in the default ~\.edgerc
location or the [default]
section. Make sure the user who will be running the commands has read access to this file.
# default location and section
New-PACertificate example.com -Plugin Akamai -PluginArgs @{AKUseEdgeRC=$true} -DNSSleep 10
# alternate location and section
$pArgs = @{
AKUseEdgeRC= $true
AKEdgeRCFile = 'C:\ProgramData\.edgerc'
AKEdgeRCSection = 'poshacme'
}
New-PACertificate example.com -Plugin Akamai -PluginArgs $pArgs -DNSSleep 10