---
updatedAt: 2026-07-30T15:31:16.000Z
agentTools:
  siteIndex: https://techdocs.akamai.com/llms.txt
  projectIndex: https://techdocs.akamai.com/powershell/llms.txt
---

# Add a custom cache layer

Provide your customers with a more consistent user experience by implementing a custom caching layer that optimizes the connection between your cloud infrastructure and the Akamai platform.

## What you'll do

Create and activate a Cloud Wrapper configuration and link it to a property.

Currently, you can use Cloud Wrapper with these Akamai products:

* **Media delivery:** Adaptive Media Delivery, Download Delivery, and Object Delivery.
* **Website delivery:** Dynamic Site Accelerator and Ion.

> 📘
>
> Support for Cloud Wrapper with Dynamic Site Accelerator and Ion is currently in *limited-availability*. To request access to these products, talk to your account representative.

## What you need

To use a Cloud Wrapper configuration, you need a property from the Property Manager (PAPI) API, which is actively delivering your media or website content for at least 37 days. This helps ​Akamai​ determine your capacity needs.

Cloud Wrapper has a default object limit of 10,000 objects/GB.

## 1. Create a new wrapper configuration

Get your contract's property IDs and traffic locations and their storage capacity to create a new Cloud Wrapper configuration.

> 🚧
>
> The properties you want to use Cloud Wrapper with must be activated on the production network.

1. Determine which properties to use with your new configuration by running [`Get-CloudWrapperProperty`](https://techdocs.akamai.com/powershell/docs/get-cloudwrapperproperty). Optionally add the `-Unused` switch parameter to return only properties that aren't in use.

   ```powershell Command
   Get-CloudWrapperProperty -ContractIds 'C-0N7RAC7'
   ```
   ```powershell Output
    propertyId   : 12345
    propertyName : my-property-1
    contractId   : C-0N7RAC7
    groupId      : 23456
    type         : MEDIA

    propertyId   : 98765
    propertyName : my-property-2
    contractId   : C-0N7RAC7
    groupId      : 23456
    type         : WEB
   ```

   You need to provide property IDs when you create your Cloud Wrapper configuration.

2. Get your contract's traffic location with [`Get-CloudWrapperLocation`](https://techdocs.akamai.com/powershell/docs/get-cloudwrapperlocation).

   ```powershell Command
   Get-CloudWrapperLocation | Format-List
   ```
   ```powershell Output
    locationId         : 1
    locationName       : US East
    trafficTypes       : {@{trafficTypeId=50; trafficType=WEB_STANDARD_TLS; mapName=cw-s-use}, @{trafficTypeId=1; 
                        trafficType=LIVE; mapName=cw-s-use-live}, @{trafficTypeId=2; trafficType=LIVE_VOD; mapName=cw-s-use}, 
                        @{trafficTypeId=100; trafficType=WEB_OPTIMIZED; mapName=cw-s-use-web}}
    multiCdnLocationId : 018

    locationId         : 2
    locationName       : US West
    trafficTypes       : {@{trafficTypeId=51; trafficType=WEB_STANDARD_TLS; mapName=cw-s-usw}, @{trafficTypeId=3; 
                        trafficType=LIVE_VOD; mapName=cw-s-usw}, @{trafficTypeId=4; trafficType=LIVE; mapName=cw-s-usw-live}, 
                        @{trafficTypeId=101; trafficType=WEB_OPTIMIZED; mapName=cw-s-usw-web}}
    multiCdnLocationId : 020
   ```

   The output returns an Akamai created `trafficTypeId` that represents a location and its traffic type combination. Use the values of this ID when creating the configuration.

3. Find your location's capacity with [`Get-CloudWrapperCapacity`](https://techdocs.akamai.com/powershell/docs/get-cloudwrappercapacity).

   ```powershell Command
   Get-CloudWrapperCapacity -ContractIds 'C-0N7RAC7'
   ```
   ```powershell Output
    locationId         : 1
    locationName       : US East
    contractId         : C-0N7RAC7
    type               : MEDIA
    approvedCapacity   : @{value=100; unit=GB}
    assignedCapacity   : @{value=80; unit=GB}
    unassignedCapacity : @{value=20; unit=GB}

    locationId         : 3
    locationName       : Europe
    contractId         : C-0N7RAC7
    type               : WEB_STANDARD_TLS
    approvedCapacity   : @{value=1; unit=GB}
    assignedCapacity   : @{value=1; unit=GB}
    unassignedCapacity : @{value=0; unit=GB}
   ```

   The output returns a `unit` of measurement, either `GB` or `TB`.

   You also get the `value` for the `unassignedCapacity`. This value represents the difference between the `approvedCapacity` and `assignedCapacity`, giving you the total space you have left for a location.

   You need both the `unit` and a `value` within the limits of your approved capacity to create the wrapper configuration.

4. Create a Cloud Wrapper configuration with [`New-CloudWrapperConfiguration`](https://techdocs.akamai.com/powershell/docs/new-cloudwrapperconfiguration). Provide each location in the `locations` array.

   Optionally, add the `-Activate` switch parameter to activate your configuration upon creation. Otherwise, you can [activate](#2-activate-a-wrapper-configuration) it separately.

   > For a full list of settings you need to pass in the operation, see [Cloud Wrapper configuration](#cloud-wrapper-configuration).

   ```powershell Command: Hashtable
   $MyConfig = @{
       locations = @(
           @{
               capacity = @{
                   unit = "GB"
                   value = 1
               }
               comments = "Real traffic"
               trafficTypeId = 3
           },
       ),
       capacityAlertsThreshold = 50
       comments = "Real traffic"
       configName = "my-config"
       contractId = "C-0N7RAC7"
       propertyIds = @(
           "12345"
       )
       notificationEmails = @(
           "jsmith@example.com"
       )
   }

   $MyConfig | New-CloudWrapperConfiguration
   ```
   ```powershell Command: JSON string
   $MyConfig = '{
       "locations": [
           {
               "capacity": {
                   "unit": "GB",
                   "value": 1
               },
               "comments": "Real traffic",
               "trafficTypeId": 2
           },
       ],
       "capacityAlertsThreshold": 80,
       "comments": "Real traffic",
       "configName": "my-config",
       "contractId": "C-0N7RAC7",
       "propertyIds": [
           "12345"
       ],
       "notificationEmails": [
           "jsmith@example.com"
       ]
   }'

   $MyConfig | New-CloudWrapperConfiguration
   ```
   ```powershell Output
   configId                : 54321
   configName              : my-config
   contractId              : C-0N7RAC7
   propertyIds             : {12345}
   comments                : Real traffic
   status                  : IN_PROGRESS
   retainIdleObjects       : False
   locations               : {@{trafficTypeId=3; comments=Real traffic; capacity=; mapName=cw-s-usw}}
   multiCdnSettings        : 
   capacityAlertsThreshold : 50
   notificationEmails      : {jsmith@example.com}
   lastUpdatedDate         : 3/31/2026 9:39:33 AM
   lastUpdatedBy           : jsmith
   lastActivatedDate       : 
   lastActivatedBy         : 
   ```

### Manage a configuration

#### Update a configuration

> For a full list of settings you need to pass in the update operation, see [Cloud Wrapper configuration](#cloud-wrapper-configuration).

You can update your Cloud Wrapper configuration using one of these ways:

**Method 1**

Save the results of the [`Get-CloudWrapperConfiguration`](https://techdocs.akamai.com/powershell/docs/get-cloudwrapperconfiguration) command in a variable and update specific attributes of your configuration. Then pipe the entire object back to the [`Set-CloudWrapperConfiguration`](https://techdocs.akamai.com/powershell/docs/set-cloudwrapperconfiguration) command to make your changes effective.

```powershell Command
$MyConfig = Get-CloudWrapperConfiguration -ConfigID 54321

$MyConfig.locations[0].trafficTypeId = 1
$MyConfig.locations[0].capacity.value = 3
$MyConfig.propertyIds += "98765"
$MyConfig.notificationEmails = @("jsmith@example.com", "jasmith@example.com")
$MyConfig.capacityAlertsThreshold = 80

$MyConfig | Set-CloudWrapperConfiguration -ConfigID 54321
```
```powershell Output
configId                : 54321
configName              : my-config
contractId              : C-0N7RAC7
propertyIds             : {12345, 98765}
comments                : Real traffic
status                  : SAVED
retainIdleObjects       : False
locations               : {@{trafficTypeId=1; comments=Real traffic; capacity=; mapName=cw-s-use}}
multiCdnSettings        : 
capacityAlertsThreshold : 80
notificationEmails      : {jsmith@example.com, jasmith@example.com}
lastUpdatedDate         : 3/31/2026 10:09:33 AM
lastUpdatedBy           : jsmith
lastActivatedDate       : 
lastActivatedBy         : 
```

**Method 2**

Retrieve your configuration with `Get-CloudWrapperConfiguration`, save its output locally, and edit it as needed.

```powershell Command
Get-CloudWrapperConfiguration -ConfigID 54321 | ConvertTo-Json -Depth 100 | Out-File -FilePath ./myConfig.json
```
```powershell JSON
{
  "configId": 54321,
  "configName": "my-config",
  "contractId": "C-0N7RAC7",
  "propertyIds": [
    "12345"
  ],
  "comments": "Real traffic",
  "status": "SAVED",
  "retainIdleObjects": false,
  "locations": [
    {
      "trafficTypeId": 3,
      "comments": "Real traffic",
      "capacity": {
        "value": 1,
        "unit": "GB"
      },
      "mapName": "cw-s-usw"
    }
  ],
  "multiCdnSettings": null,
  "capacityAlertsThreshold": 50,
  "notificationEmails": [
    "jsmith@example.com"
  ],
  "lastUpdatedDate": "2026-03-31T10:09:33.474Z",
  "lastUpdatedBy": "jsmith",
  "lastActivatedDate": null,
  "lastActivatedBy": null
}
```

Then pipe the updated content to the [`Set-CloudWrapperConfiguration`](https://techdocs.akamai.com/powershell/docs/set-cloudwrapperconfiguration) command along with the required ID.

```powershell Command
$MyConfig = Get-Content ./myConfig.json -Raw

$MyConfig | Set-CloudWrapperConfiguration -ConfigID 54321
```

When updating the configuration with `Set-CloudWrapperConfiguration`, optionally add the `-Activate` switch parameter to activate it.

#### Delete a configuration

Before deleting a configuration, ensure that all the properties that use it have the Cloud Wrapper behavior disabled. To do that, run the `Set-CloudWrapperConfiguration` operation with the `-Deactivate` switch to deactivate it.

Once you disable the Cloud Wrapper, run [`Remove-CloudWrapperConfiguration`](https://techdocs.akamai.com/powershell/docs/remove-cloudwrapperconfiguration) to proceed with the delete.

The delete can take up to three hours to complete.

```powershell Command
Remove-CloudWrapperConfiguration -ConfigID 54321
```

The operation doesn't return any output.

Pass your configuration's ID in the [`Get-CloudWrapperConfiguration`](https://techdocs.akamai.com/powershell/docs/get-cloudwrapperconfiguration) operation to review its deletion status.

```powershell Command
Get-CloudWrapperConfiguration -ConfigID 54321
```
```powershell Output
configId                : 54321
configName              : my-config
contractId              : C-0N7RAC7
propertyIds             : {12345, 98765}
comments                : Real traffic
status                  : DELETE_IN_PROGRESS
retainIdleObjects       : False
locations               : {@{trafficTypeId=1; comments=; capacity=; mapName=cw-s-use}}
multiCdnSettings        : 
capacityAlertsThreshold : 80
notificationEmails      : {jsmith@example.com, jasmith@example.com}
lastUpdatedDate         : 3/31/2026 5:50:26 PM
lastUpdatedBy           : jsmith
lastActivatedDate       : 
lastActivatedBy         : 
```

## 2. Activate a wrapper configuration

If you haven't activated your configuration upon creation, you can activate it separately with [`New-CloudWrapperConfigurationActivation`](https://techdocs.akamai.com/powershell/docs/new-cloudwrapperconfigurationactivation) by passing your Cloud Wrapper's configuration ID. Activating the configuration makes it available for your property.

> 📘
>
> Activation processing takes 3–4 hours.

```powershell Command
New-CloudWrapperConfigurationActivation -ConfigurationIDs 54321
```

The operation doesn't return any output.

You can use your configuration's ID to run the [`Get-CloudWrapperConfiguration`](https://techdocs.akamai.com/powershell/docs/get-cloudwrapperconfiguration) operation and review its status.

```powershell Command
Get-CloudWrapperConfiguration -ConfigID 54321
```
```powershell Output
configId                : 54321
configName              : my-config
contractId              : C-0N7RAC7
propertyIds             : {12345}
comments                : Real traffic
status                  : ACTIVE
retainIdleObjects       : False
locations               : {@{trafficTypeId=3; comments=; capacity=; mapName=cw-s-usw}}
multiCdnSettings        : 
capacityAlertsThreshold : 50
notificationEmails      : {jsmith@example.com}
lastUpdatedDate         : 3/31/2026 4:59:46 PM
lastUpdatedBy           : jsmith
lastActivatedDate       : 4/01/2026 6:14:37 PM
lastActivatedBy         : jsmith
```

You can make changes to your configuration while its activation is in progress. However, those changes won’t be included automatically. To apply them, run the activation again.

## 3. Configure property rules

Once your configuration is active, link it to your property.

1. Get your property's rule tree as JSON snippets. The output is a directory at your current location containing your rule's configurations.

   ```powershell Command
   Get-PropertyRules -PropertyName 'my-property' -PropertyVersion 'latest' -OutputSnippets -OutputDirectory './my-property-rules'
   ```

2. Add a [`cloudWrapper`](https://techdocs.akamai.com/property-mgr/reference/ga-cloud-wrapper) behavior to your property's rule trees, selecting a `location` you've set in your Cloud Wrapper configuration to use its cache space. Additionally, set the trigger [criteria](https://techdocs.akamai.com/property-mgr/reference/ga-criteria).

   > **Notes:**
   >
   > * You can't use the `cloudWrapper` behavior in conjunction with the [`sure​Route`](https://techdocs.akamai.com/property-mgr/reference/ga-sure-route), [`tiered​Distribution`](https://techdocs.akamai.com/property-mgr/reference/ga-tiered-distribution), or [`siteShield`](https://techdocs.akamai.com/property-mgr/reference/ga-site-shield) behavior.
   > * `cloudWrapper` isn't compatible with the [`originTimeout`](https://techdocs.akamai.com/property-mgr/reference/ga-origin-timeout) criterion and can't be used within a rule using this criterion.
   > * Cloud Wrapper doesn't work with Enhanced TLS hosts.

   ```json
   {
       "name": "Cloud Wrapper",
       "children": [],
       "behaviors": [
           {
               "name": "cloudWrapper",
               "options": {
                   "enabled": true,
                   "location": "cw-s-usw"
               }
           }
       ],
       "criteria": [
           {
               "name": "requestHeader",
               "options": {
                   "matchOperator": "IS_ONE_OF",
                   "matchWildcardName": false,
                   "matchWildcardValue": false,
                   "matchCaseSensitiveValue": true,
                   "headerName": "enable-cw",
                   "values": [
                       "true"
                   ]
               }
           }
       ],
       "criteriaMustSatisfy": "all",
       "comments": ""
   }
   ```

3. Add your updated rules to your property, pointing to the appropriate directory.

   <blockquote style="border-left-style: solid; border-left-color: #d9534f; border-width: 0.25em; padding: 1.33rem; background-color: #fdf7f7;"><div style="overflow:auto;"><div>Send your <em><strong>entire</strong></em> rule tree back. Rules not returned are removed from your property.</div></blockquote>

   ```powershell Command
   Set-PropertyRules -PropertyName 'my-property' -PropertyVersion 'latest' -InputDirectory './my-property-rules' -VersionNotes 'Adding a Cloud Wrapper setting'
   ```

   The output returns your rule tree along with any errors or warnings upon upload.

## 4. Activate a property

Reactivate your property to enable your Cloud Wrapper configuration on the production network using the [`New-PropertyActivation`](https://techdocs.akamai.com/powershell/docs/new-propertyactivation) command or its alias `Deploy-Property`.

```powershell Command
Deploy-Property -PropertyName 'my-property' -PropertyVersion 'latest' -Network 'PRODUCTION' -NotifyEmails 'jsmith@email.com'
```
```powershell Output
activationLink                                                                                      activationId
--------------                                                                                      ------------
/papi/v1/properties/prp_12345/activations/atv_67890?contractId=ctr_C-0N7RAC7&groupId=grp_12345      atv_67890
```

## Cloud Wrapper configuration

This provides you with a full list of parameters you need to pass in the `New-CloudWrapperConfiguration` and `Set-CloudWrapperConfiguration` operations.

<table>
    <thead>
        <tr>
            <th>Parameter</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td colspan="2">Required</td>
        </tr>
        <tr>
            <td><code>comments</code></td>
            <td>The descriptive information you've provided about a configuration.</td>
        </tr>
        <tr>
            <td><code>configName</code></td>
            <td><i>Applies only to the <code>New-CloudWrapperConfiguration</code> operation.</i> A configuration's name. This is the <code>propertyName</code> you set when you create the property.</td>
        </tr>
        <tr>
            <td><code>contractId</code></td>
            <td><i>Applies only to the <code>New-CloudWrapperConfiguration</code> operation.</i> Your contract ID.</td>
        </tr>
        <tr>
            <td><code>locations</code></td>
            <td>A list of locations with their traffic settings. Each location record contains:
                <ul>
                    <li><code>capacity</code>. Required. The total amount of space allotted to a given contract in <code>GB</code> or <code>TB</code>. Contains:
                        <ul>
                            <li><code>unit</code>. Required. The data measurement type, either <code>GB</code> or <code>TB</code>.</li>
                            <li><code>value</code>. Required. The total units allotted to your contract.</li>
                        </ul>
                    </li>
                    <li><code>comments</code>. Required. The descriptive information you've provided about a location.</li>
                    <li><code>trafficTypeId</code>. Required. An ID that represents a combination of location and traffic type.</li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><code>propertyIds</code></td>
            <td>A list of the property IDs to which you want to link your Cloud Wrapper configuration.</td>
        </tr>
        <tr>
            <td colspan="2">Optional</td>
        </tr>
        <tr>
            <td><code>capacityAlertsThreshold</code></td>
            <td>The storage limit that triggers a threshold alert. Must be between <code>50</code>–<code>100</code>. Displayed as <code>null</code> if you haven't enabled capacity alerts.</td>
        </tr>
        <tr>
            <td><code>multiCdnSettings</code></td>
            <td>Details about the Multi CDN settings. Displayed as <code>null</code> if Multi CDN isn't defined in your Cloud Wrapper configuration. Contains:
                <ul>
                    <li><code>bocc</code>. Required. Details of diagnostic data beacons. This enables real-time beaconing for <a href="https://www.akamai.com/global-services/services/broadcast-operations-command-center">Broadcast Operations Control Center</a>. Contains:
                        <ul>
                            <li><code>conditionalSamplingFrequency</code>. Required. The conditional sampling frequency of requests and forwards for <code>EDGE</code>, <code>MIDGRESS</code>, and <code>ORIGIN</code> beacons. Set it to <code>ONE_TENTH</code>, or choose <code>ZERO</code> to disable beacons.</li>
                            <li><code>enabled</code>. Required. When <code>true</code>, it enables diagnostic data beacons for consumption by the <a href="https://www.akamai.com/global-services/services/broadcast-operations-command-center">Broadcast Operations Control Center</a>.</li>
                            <li><code>forwardType</code>. Required. The type of forward for which to beacon diagnostics data. Possible values are: <code>ORIGIN_ONLY</code>, <code>MIDGRESS_ONLY</code>, or <code>ORIGIN_AND_MIDGRESS</code></li>
                            <li><code>requestType</code>. Required. The type of request for which to beacon diagnostics data, either <code>EDGE_ONLY</code> or <code>EDGE_AND_MIDGRESS</code>.</li>
                            <li><code>samplingFrequency</code>. Required. The sampling frequency of requests and forwards for <code>EDGE</code>, <code>MIDGRESS</code>, and <code>ORIGIN</code> beacons. Set to <code>ONE_TENTH</code>, or choose <code>ZERO</code> to disable beacons.</li>
                        </ul>
                    </li>
                    <li><code>cdns</code>. Required. A list of CDNs for your configuration. Each CDN record contains:
                        <ul>
                            <li><code>cdnCode</code>. Required. The CDN's ID. Run <a href="doc:get-cloudwrapperprovider"><code>Get-CloudWrapperProvider</code></a> for a list of available CDNs.</li>
                            <li><code>enabled</code>. Required. When <code>true</code>, it enables CDN.</li>
                            <li><code>cdnAuthKeys</code>. A list of authorization keys for the specified CDN. Each key's name needs to be defined in the <code>authKeyName</code> parameter.</li>
                            <li><code>httpsOnly</code>. When <code>true</code>, CDN communication is HTTPS only.</li>
                            <li><code>ipAclCidrs</code>. A list of access controls using IP addresses in CIDR notation.</li>
                        </ul>
                    </li>
                    <li><code>dataStreams</code>. Required. Details of data streams. Contains a list of <code>dataStreamIds</code>.</li>
                    <li><code>origins</code>. Required. Origin servers corresponding to the properties selected in the configuration. Each origin server record contains:
                        <ul>
                            <li><code>hostname</code>. Required. The origin hostname you've set in your property for your <a href="https://techdocs.akamai.com/property-mgr/reference/ga-origin">origin</a> behavior. This only applies if <code>originType</code> is set to <code>CUSTOMER</code>. Akamai edge servers use this to retrieve your content, to include it in your Cloud Wrapper cache.</li>
                            <li><code>originId</code>. Required. The origin ID that's used to generate Multi CDN hostnames.</li>
                            <li><code>propertyId</code>. Required. The property ID you've configured to deliver your media or website content.</li>
                        </ul>
                    </li>
                    <li><code>enableSoftAlerts</code>. When <code>true</code>, you receive alerts based on soft limits of bandwidth usage.</li>
                    <li><code>advancedSettings</code>. Available only to Akamai Global Services Support. Details of advanced settings. See <a href="#advanced-settings-for-multi-cdn">Advanced settings for Multi CDN</a> for a list of parameters.</li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><code>notificationEmails</code></td>
            <td>A list of email addresses that receive change notifications.</td>
        </tr>
        <tr>
            <td><code>retainIdleObjects</code></td>
            <td>When <code>true</code>, it sets retention status beyond the max idle lifetime of 30 days. Default is <code>false</code>. This applies only to locations you've configured with a redundant content <code>type</code>, like <code>LIVE_VOD</code> or <code>WEB_OPTIMIZED</code>.</td>
        </tr>
    </tbody>
</table>

### Advanced settings for Multi CDN

These settings are available only to Akamai Global Services Support.

<table>
    <thead>
        <tr>
            <th>Parameter</th>
            <th>Description</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td colspan="2">Required</td>
        </tr>
        <tr>
            <td><code>denyResponseCode</code></td>
            <td>The code of a deny response, either <code>403</code> or <code>429</code>.</td>
        </tr>
        <tr>
            <td colspan="2">Optional</td>
        </tr>
        <tr>
            <td><code>advancedXmlPost</code></td>
            <td>The text appended to the <a href="https://techdocs.akamai.com/property-mgr/reference/ga-advanced">Advanced Metadata</a> XML</td>
        </tr>
        <tr>
            <td><code>advancedXmlPre</code></td>
            <td>The text prepended to the <a href="https://techdocs.akamai.com/property-mgr/reference/ga-advanced">Advanced Metadata</a> XML.</td>
        </tr>
        <tr>
            <td><code>amdLiveSetting</code></td>
            <td>Settings you've defined in a property to deliver live streaming media using Adaptive Media Delivery (AMD). Displayed as <code>null</code> if the property uses a delivery product other than AMD, or the AMD property isn't configured to deliver live media content. Contains:
                <ul>
                    <li><code>contentCharacteristicsAMD</code>. Required. The <a href="https://techdocs.akamai.com/property-mgr/reference/ga-content-characteristics-amd">characteristics</a> of the delivered content, used by Akamai to optimize your metadata configuration. Displayed as <code>null</code> if you haven't set these characteristics in your property. Contains:
                        <ul>
                            <li><code>segmentDurationDashCustom</code>/<code>segmentDurationHLSCustom</code>/ <code>segmentDurationSmoothCustom</code>. They customize the number of seconds for the segment. Possible values are between <code>1</code> to <code>10</code> seconds.</li>
                            <li><code>segmentSizeDASH</code>/<code>segmentSizeHLS</code>/<code>segmentSizeSmooth</code>. They specify the size of the media object retrieved from the origin. Possible values are:
                                <ul>
                                    <li><code>LESS_THAN_1MB</code></li>
                                    <li><code>ONE_MB_TO_TEN_MB</code></li>
                                    <li><code>TEN_MB_TO_100_MB</code></li>
                                    <li><code>GREATER_THAN_100MB</code></li>
                                    <li><code>OTHER</code></li>
                                    <li><code>UNKNOWN</code></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                    <li><code>readTimeout</code>. Required. Specifies how long the edge server should wait for a response after a requesting forward server has established a connection with an edge server. Displayed as <code>null</code> if you haven't set a <a href="https://techdocs.akamai.com/property-mgr/reference/ga-read-timeout">read timeout</a> in your behavior. Contains:
                        <ul>
                            <li><code>value</code>. Required. A read timeout value followed by <code>s</code> for seconds, <code>m</code> for minutes, <code>h</code> for hours, or <code>d</code> for days. This value should never be zero. Displayed as <code>null</code> if you haven't set it.</li>
                        </ul>
                    </li>
                    <li><code>timeout</code>. Required. The HTTP connection timeout. Displayed as <code>null</code> if you haven't set a <a href="https://techdocs.akamai.com/property-mgr/reference/ga-timeout">connect timeout</a> in your behavior. Contains:
                        <ul>
                            <li><code>value</code>. Required. A connect timeout value followed by <code>s</code> for seconds, <code>m</code> for minutes, <code>h</code> for hours, or <code>d</code> for days. This value should never be zero. Displayed as <code>null</code> if you haven't set it.
                    </li></li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><code>amdVodSetting</code></td>
            <td>Settings you've defined in a property to deliver on-demand streaming media using Adaptive Media Delivery (AMD). Displayed as <code>null</code> if the property uses a delivery product other than AMD, or the AMD property isn't configured to deliver live media content. Contains:
                <ul>
                    <li><code>contentCharacteristicsAMD</code>. Required. The <a href="https://techdocs.akamai.com/property-mgr/reference/ga-content-characteristics-amd">characteristics</a> of the delivered content. Displayed as <code>null</code> if you haven't set these characteristics in your property. Contains:
                        <ul>
                            <li><code>segmentDurationDashCustom</code>/<code>segmentDurationHLSCustom</code>/<code>segmentDurationSmoothCustom</code>. They customize the number of seconds for the segment. Possible values are between <code>1</code> to <code>10</code> seconds.</li>
                            <li><code>segmentSizeDASH</code>/<code>segmentSizeHLS</code>/<code>segmentSizeSmooth</code>. They specify the size of the media object retrieved from the origin. Possible values are:
                                <ul>
                                    <li><code>LESS_THAN_1MB</code></li>
                                    <li><code>ONE_MB_TO_TEN_MB</code></li>
                                    <li><code>TEN_MB_TO_100_MB</code></li>
                                    <li><code>GREATER_THAN_100MB</code></li>
                                    <li><code>OTHER</code></li>
                                    <li><code>UNKNOWN</code></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                    <li><code>readTimeout</code>. Required. Specifies how long the edge server should wait for a response after a requesting forward server has established a connection with an edge server. Displayed as <code>null</code> if you haven't set a <a href="https://techdocs.akamai.com/property-mgr/reference/ga-read-timeout">read timeout</a> in your behavior. Contains:
                        <ul>
                            <li><code>value</code>. Required. A read timeout value followed by <code>s</code> for seconds, <code>m</code> for minutes, <code>h</code> for hours, or <code>d</code> for days. This value should never be zero. Displayed as <code>null</code> if you haven't set it.</li>
                        </ul>
                    </li>
                    <li><code>timeout</code>. Required. The HTTP connection timeout. Displayed as <code>null</code> if you haven't set a <a href="https://techdocs.akamai.com/property-mgr/reference/ga-timeout">connect timeout</a> in your behavior. Contains:
                        <ul>
                            <li><code>value</code>. Required. A connect timeout value followed by <code>s</code> for seconds, <code>m</code> for minutes, <code>h</code> for hours, or <code>d</code> for days. This value should never be zero. Displayed as <code>null</code> if you haven't set it.</li>
                        </ul>
                    </li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><code>baseDirectory</code></td>
            <td>The <a href="https://techdocs.akamai.com/property-mgr/reference/ga-base-directory">base path</a> of content on your origin server. Include the base path in the required <code>value</code> parameter, starting and ending it with a forward slash (<code>/</code>) character.</td>
        </tr>
        <tr>
            <td><code>cacheKeyQueryParams</code></td>
            <td>Cached objects based on specified sets of <a href="https://techdocs.akamai.com/property-mgr/reference/ga-cache-key-query-params">query parameters</a>. Displayed as <code>null</code> if you haven't included these query parameters in your property. Contains:
                <ul>
                    <li><code>behavior</code>. Required. Configures how sets of query string parameters translate to cache keys. Possible values are:
                        <ul>
                            <li><code>IGNORE</code></li>
                            <li><code>IGNORE_ALL</code></li>
                            <li><code>INCLUDE</code></li>
                            <li><code>INCLUDE_ALL_PRESERVE_ORDER</code></li>
                            <li><code>INCLUDE_ALL_ALPHABETIZE_ORDER</code></li>
                        </ul>
                    </li>
                    <li><code>exactMatch</code>. When enabled, <code>parameters</code> need to match exactly. Keep disabled to match string prefixes. You can only apply this if <code>behavior</code> is set to <code>INCLUDE</code> or <code>IGNORE</code>. Displayed as <code>null</code> if <code>behavior</code> is any other value.</li>
                    <li><code>parameters</code>. The set of parameter field names to include in or exclude from the cache key. By default, these match the field names as string prefixes. You can only apply this if <code>behavior</code> is set to <code>INCLUDE</code> or <code>IGNORE</code>. Displayed as <code>null</code> if <code>behavior</code> is any other value.</li>
                </ul></td>
        </tr>
        <tr>
            <td><code>downloadDeliverySetting</code></td>
            <td>Settings you've defined in a property to deliver your content using Download Delivery. Displayed as <code>null</code> if the property uses a delivery product other than Download Delivery. Contains:
                <ul>
                    <li><code>contentCharacteristicsDD</code>. Required. The <a href="https://techdocs.akamai.com/property-mgr/reference/ga-content-characteristics-dd">characteristics</a> of the delivered content, used by Akamai to optimize your metadata configuration. Displayed as <code>null</code> if you haven't set these characteristics in your property. Contains:
                        <ul>
                            <li><code>objectSize</code>. Required. The size of the media object retrieved from the origin. Possible values are:
                                <ul>
                                    <li><code>LESS_THAN_1MB</code></li>
                                    <li><code>ONE_MB_TO_TEN_MB</code></li>
                                    <li><code>TEN_MB_TO_100_MB</code></li>
                                    <li><code>GREATER_THAN_100MB</code></li>
                                    <li><code>OTHER</code></li>
                                    <li><code>UNKNOWN</code></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                    <li><code>readTimeout</code>. Required. Specifies how long the edge server should wait for a response after a requesting forward server has established a connection with an edge server. Displayed as <code>null</code> if you haven't set a <a href="https://techdocs.akamai.com/property-mgr/reference/ga-read-timeout">read timeout</a> in your behavior. Contains:
                        <ul>
                            <li><code>value</code>. Required. A read timeout value followed by <code>s</code> for seconds, <code>m</code> for minutes, <code>h</code> for hours, or <code>d</code> for days. This value should never be zero. Displayed as <code>null</code> if you haven't set it.</li>
                        </ul>
                    </li>
                    <li><code>timeout</code>. Required. The HTTP connection timeout. Displayed as <code>null</code> if you haven't set a <a href="https://techdocs.akamai.com/property-mgr/reference/ga-timeout">connect timeout</a> in your behavior. Contains:
                        <ul>
                            <li><code>value</code>. Required. A connect timeout value followed by <code>s</code> for seconds, <code>m</code> for minutes, <code>h</code> for hours, or <code>d</code> for days. This value should never be zero. Displayed as <code>null</code> if you haven't set it.</li>
                        </ul>
                    </li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><code>objectDeliverySetting</code></td>
            <td>Settings you've defined in a property to deliver your content using Object Delivery. Displayed as <code>null</code> if the property uses a delivery product other than Object Delivery. Contains:
                <ul>
                    <li><code>readTimeout</code>. Required. Specifies how long the edge server should wait for a response after a requesting forward server has established a connection with an edge server. Displayed as <code>null</code> if you haven't set a <a href="https://techdocs.akamai.com/property-mgr/reference/ga-read-timeout">read timeout</a> in your behavior. Contains:
                        <ul>
                            <li><code>value</code>. Required. A read timeout value followed by <code>s</code> for seconds, <code>m</code> for minutes, <code>h</code> for hours, or <code>d</code> for days. This value should never be zero. Displayed as <code>null</code> if you haven't set it.</li>
                        </ul>
                    </li>
                    <li><code>timeout</code>. Required. The HTTP connection timeout. Displayed as <code>null</code> if you haven't set a <a href="https://techdocs.akamai.com/property-mgr/reference/ga-timeout">connect timeout</a> in your behavior. Contains:
                        <ul>
                            <li><code>value</code>. Required. A connect timeout value followed by <code>s</code> for seconds, <code>m</code> for minutes, <code>h</code> for hours, or <code>d</code> for days. This value should never be zero. Displayed as <code>null</code> if you haven't set it.</li>
                        </ul>
                    </li>
                </ul>
            </td>
        </tr>
        <tr>
            <td><code>rewriteUrl</code></td>
            <td>Modifies the <a href="https://techdocs.akamai.com/property-mgr/reference/ga-base-directory">path</a> of incoming requests to forward to your origin server. Displayed as <code>null</code> if you haven't set a <code>baseDirectory</code> in your property. Contains:
                <ul>
                    <li><code>behavior</code>. Required. The action to perform on the path. Possible values are:
                        <ul>
                            <li><code>REPLACE</code></li>
                            <li><code>REMOVE</code></li>
                            <li><code>PREPEND</code></li>
                            <li><code>REWRITE</code></li>
                            <li><code>REGEX_REPLACE</code></li>
                        </ul>
                    </li>
                    <li><code>keepQueryString</code>. When <code>true</code>, it keeps the original path's query parameters. You can't enable this if you've set this behavior to <code>REWRITE</code>. Displayed as <code>null</code> if the original path contains no query parameters.</li>
                    <li><code>match</code>. Specifies the part of the incoming path you'd like to remove or modify. Applies only when the behavior is <code>REMOVE</code> or <code>REPLACE</code>. Displayed as <code>null</code> if the behavior is any other option.</li>
                    <li><code>matchMultiple</code>. When <code>true</code>, it replaces all potential matches rather than only the first match. Applies only when the behavior is <code>REMOVE</code>, <code>REPLACE</code>, or <code>REGEX_REPLACE</code>. Displayed as <code>null</code> if <code>matchMultiple</code> is enabled and the behavior is any other option.</li>
                    <li><code>matchRegex</code>. When <code>true</code>, it specifies the Perl-compatible regular expression to replace with <code>targetRegex</code>. Applies only when the behavior is <code>REGEX_REPLACE</code>. Displayed as <code>null</code> if the behavior is any other option or the <code>targetRegex</code> field is empty.</li>
                    <li><code>targetPath</code>. Specifies the path that replaces whatever the match field matches in the incoming request's path. Applies only when the behavior is set to <code>REPLACE</code>. Displayed as <code>null</code> if the behavior is any other option.</li>
                    <li><code>targetPathPrepend</code>. Specifies a path to prepend to the incoming request's URL. Applies only when the behavior is set to <code>PREPEND</code>. Displayed as <code>null</code> if the behavior is any other option.</li>
                    <li><code>targetRegex</code>. Replaces whatever the <code>matchRegex</code> field matches. Applies only when the behavior is set to <code>REGEX_REPLACE</code>. Displayed as <code>null</code> if the behavior is any other option or the <code>matchRegex</code> field is empty.</li>
                    <li><code>targetUrl</code>.  Specifies the full path to request from the origin. Applies only when the behavior is set to <code>REWRITE</code>. Displayed as <code>null</code> if the behavior is any other option.</li>
                </ul>
            </td>
        </tr>
    </tbody>
</table>

# Sibling pages

* [Function index](https://techdocs.akamai.com/powershell/docs/cw-index.md)
* [Get](https://techdocs.akamai.com/powershell/docs/cw-get.md)
* [New](https://techdocs.akamai.com/powershell/docs/cw-new.md)
* [Remove](https://techdocs.akamai.com/powershell/docs/cw-remove.md)
* [Set](https://techdocs.akamai.com/powershell/docs/cw-set.md)