🚧

Includes are Limited Availability

This feature is still in Limited Availability. If you're interested and would like to use includes now, contact your Akamai account team.

Some behaviors and products such as Adaptive Media Delivery, IoT Edge Connect, and Progressive Media Download may not be supported with includes yet. Adding them to an include results in an error. To use the unsupported behavior, add it to the parent property's rule tree instead.

Includes are compatible with all security products. However, note that you can't use includes to split up the security configurations maintained outside of Property Manager.

We are continually updating the list of ​Akamai​ products and Property Manager behaviors to make them work in includes. See PAPI documentation for a particular behavior to check whether it's currently allowed in includes.

Overview

Includes are small chunks of a property configuration that you can create, version, and activate independently from the rest of the property's rule tree. Includes are similar to regular properties, also referred to as “parent” properties, but don't have hostnames assigned to them. Instead, includes are executed from the include behavior you add to the parent properties. Includes have their own rules that specify reusable portions of property configurations. The use of includes in your properties is optional.

With includes, you can:

  • split your property configurations into small reusable components,
  • delegate the management of different parts of a single domain to responsible teams,
  • implement common settings and auto-populate changes across multiple properties,
  • update parts of the configuration contained in an include without the need to version an entire property.

Though you may have achieved some of these functionalities through complicated, multi-level nesting in a property's rule tree, includes provide better performance and safety by extensive validation checks against parent properties. Includes come with official support and simplified configuration, and prevent double billing.

Types of includes

There are two types of includes, microservice and common settings, which provide different benefits.

Microservice includes

With microservice includes, you can delegate the management of different parts of a single domain to responsible teams. Includes have a separate activation flow, which allows different teams to work independently of each other. You can control access to an include with groups, so that an application team can only edit the settings within a designated include, having read-only access to the parent property.

Breaking up your configuration into microservice includes improves flexibility and makes it easier to incorporate automation. Developers can push changes to staging or production networks on their own schedule. They no longer have to wait for other teams to approve and test their updates.

In the parent property's rule tree, in order to use the microservice include, you need to add a mutually exclusive path match to the same rule. If you don't set a path match within the same rule or the match isn't mutually exclusive, you'll get a validation error that prevents activation.

You can have up to 300 microservice includes in one parent property. A single microservice include can have up to 3,000 activated parent properties.

Common settings includes

Common settings includes come in useful in configurations that share a significant number of settings, often managed by a central team. By referencing the same common settings include in different parent properties, you ensure there’s a single place to update standardized settings. This helps to improve consistency and avoid duplication of effort. When you update and activate the include, changes take effect immediately across all parent sites.

In the parent property's rule tree, you add the common settings includes to the default rule or rules without any matches.

You can have up to 3 common settings includes in a parent property. A single common settings include can have up to 3,000 activated parent properties.

Restrictions on parent properties and includes

Before you start to create and use includes in your property configurations, you need to be aware of certain requirements and limitations in the parent-include relationship:

  • Parent properties and includes must use the same product.
  • Parent properties and includes must use the same contract, although they can be in different groups.
  • Parent properties and includes must use the same frozen rule format.

❗️

Though latest is the default rule format used in the ​Control Center​'s Property Manager, it's not supported in includes. The rule format is the set of behaviors and criteria you can use in a property's rules to apply to edge content. The rule format is occasionally updated by ​Akamai Technologies, Inc.​. For more information how to set the same frozen rule format for properties and includes, see Add an include to a property and API versioning.

  • A parent property can only reference active includes.
  • If the include is not activated, the parent property returns an error and can't be activated. Also, you cannot deactivate an include if any active parent properties reference it.
  • Activating another version of your include triggers a validation against all its parent properties. Any errors found in the include or parent properties block the activation. You need to resolve all errors to be able to proceed. Warnings note non-blocking, less severe issues that you can ignore.
  • You can only delete deactivated includes that are not pending on either the staging or production networks. If an include gets deleted, all parent properties remove references to this include.
  • You can't activate another version of your include if the parent property's activation is pending. You can only run a validation for an include version in parallel with its parent property's activation.
  • Includes inherit user-defined variables from their parent properties. If you have more than one parent property that uses a specific variable, the include also features this variable and gets its value from the parent it's currently referenced in. See Variables in includes for more details on global and local variables.

Variables in includes

Each include can have its own set of local variables, in addition to the global variables inherited from the parent property's configuration. You can create new local variables that are not available in the parent property. As the include's local variables have different prefixes, there's no risk of overriding or overlapping with the global variables of the same name.

All built-in variables are global in scope and work the same way in parent properties and includes. See Built-in system variables for the list of available predefined variables.

For details on how to set and apply user-defined variables, see respective sections in the general Variables chapter.