{
  "id": "@itentialopensource/adapter-akamai_gtm",
  "type": "Adapter",
  "export": "AkamaiGtm",
  "title": "Akamai_gtm",
  "src": "adapter.js",
  "roles": [
    "admin"
  ],
  "methods": [
    {
      "name": "iapUpdateAdapterConfiguration",
      "summary": "Updates the adapter configuration",
      "description": "Updates the adapter configuration file with the provided changes",
      "input": [
        {
          "name": "configFile",
          "type": "string",
          "info": "The name of the file to change",
          "required": true,
          "schema": {
            "title": "configFile",
            "type": "string"
          }
        },
        {
          "name": "changes",
          "type": "object",
          "info": "JSON object containing the configuration changes",
          "required": true,
          "schema": {
            "title": "changes",
            "type": "object"
          }
        },
        {
          "name": "entity",
          "type": "string",
          "info": "The entity in which the changes are being made",
          "required": false,
          "schema": {
            "title": "entity",
            "type": "string"
          }
        },
        {
          "name": "type",
          "type": "string",
          "info": "The type of file to change - action, schema, or mock",
          "required": false,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "action",
          "type": "string",
          "info": "The action to be changed",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        },
        {
          "name": "replace",
          "type": "boolean",
          "info": "True to replace entire mock data, false to merge/append",
          "required": false,
          "schema": {
            "title": "replace",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUpdateAdapterConfiguration"
      },
      "task": true
    },
    {
      "name": "iapSuspendAdapter",
      "summary": "Suspends the adapter",
      "description": "Suspends the adapter",
      "input": [
        {
          "name": "mode",
          "type": "enum",
          "enumerals": [
            "pause",
            "error"
          ],
          "info": "How incoming requests are handled. Defaults to 'pause'",
          "description": "How incoming requests are handled. Defaults to 'pause'",
          "schema": {
            "title": "mode",
            "type": "string"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapSuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapUnsuspendAdapter",
      "summary": "Unsuspends the adapter",
      "description": "Unsuspends the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUnsuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterQueue",
      "summary": "Return the requests that are waiting in the queue if throttling is enabled",
      "description": "Return the requests that are waiting in the queue if throttling is enabled",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter queue",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetAdapterQueue"
      },
      "task": true
    },
    {
      "name": "iapFindAdapterPath",
      "summary": "Provides the ability to see if a particular API path is supported by the adapter",
      "description": "Provides the ability to see if a particular API path is supported by the adapter",
      "input": [
        {
          "name": "apiPath",
          "type": "string",
          "info": "The API Path you want to check - make sure to not include base path and version",
          "description": "The API Path you want to check - make sure to not include base path and version",
          "schema": {
            "title": "apiPath",
            "type": "string"
          },
          "required": true
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapFindAdapterPath"
      },
      "task": true
    },
    {
      "name": "iapTroubleshootAdapter",
      "summary": "Runs troubleshoot script for adapter",
      "description": "Runs troubleshoot script for adapter",
      "input": [
        {
          "name": "props",
          "type": "object",
          "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
          "required": true,
          "schema": {
            "title": "props",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapTroubleshootAdapter"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterHealthcheck",
      "summary": "Runs healthcheck script for adapter",
      "description": "Runs healthcheck script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "Whether healthcheck passed or failed",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterHealthcheck"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterConnectivity",
      "summary": "Runs connectivity check script for adapter",
      "description": "Runs connectivity check script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterConnectivity"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterBasicGet",
      "summary": "Runs basicGet script for adapter",
      "description": "Runs basicGet script for adapter",
      "input": [
        {
          "name": "maxCalls",
          "required": false,
          "type": "number",
          "info": "How many GET endpoints to test (defaults to 5)",
          "schema": {
            "title": "maxCalls",
            "type": "number",
            "default": 5
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterBasicGet"
      },
      "task": true
    },
    {
      "name": "iapMoveAdapterEntitiesToDB",
      "summary": "Moves entities from an adapter into the Itential Platform database",
      "description": "Moves entities from an adapter into the Itential Platform database",
      "input": [],
      "output": {
        "name": "res",
        "type": "object",
        "description": "A JSON Object containing status, code and the response from the mongo transaction",
        "schema": {
          "title": "res",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapMoveAdapterEntitiesToDB"
      },
      "task": true
    },
    {
      "name": "iapDeactivateTasks",
      "summary": "Deactivate the inputted tasks",
      "description": "Deactivate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to deactivate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapDeactivateTasks"
      },
      "task": true
    },
    {
      "name": "iapActivateTasks",
      "summary": "Activate the inputted tasks",
      "description": "activate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to activate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapActivateTasks"
      },
      "task": true
    },
    {
      "name": "iapPopulateEntityCache",
      "summary": "Populate the cache for the given entities",
      "description": "Populate the cache for the given entities",
      "input": [
        {
          "name": "entityTypes",
          "type": "array",
          "info": "the entity type(s) to populate",
          "required": true,
          "schema": {
            "title": "entityTypes",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapPopulateEntityCache"
      },
      "task": true
    },
    {
      "name": "iapRetrieveEntitiesCache",
      "summary": "Retrieves data from cache for specified entity type",
      "description": "Retrieves data from cache for specified entity type",
      "input": [
        {
          "name": "entityType",
          "type": "string",
          "info": "entity of which to retrieve",
          "required": true,
          "schema": {
            "title": "entityType",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "settings of which data to return and how to return it",
          "required": false,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRetrieveEntitiesCache"
      },
      "task": true
    },
    {
      "name": "getDevice",
      "summary": "Get the Appliance",
      "description": "Get the Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevice"
      },
      "task": false
    },
    {
      "name": "getDevicesFiltered",
      "summary": "Get Appliances that match the filter",
      "description": "Get Appliances that match the filter",
      "input": [
        {
          "name": "options",
          "type": "object",
          "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
          "required": true,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "array",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "array"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevicesFiltered"
      },
      "task": false
    },
    {
      "name": "isAlive",
      "summary": "Checks the status for the provided Appliance",
      "description": "Checks the status for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/isAlive"
      },
      "task": false
    },
    {
      "name": "getConfig",
      "summary": "Gets a config for the provided Appliance",
      "description": "Gets a config for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The format to be returned - this is ignored as we always return json",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getConfig"
      },
      "task": false
    },
    {
      "name": "iapGetDeviceCount",
      "summary": "Gets a device count from the system",
      "description": "Gets a device count from the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetDeviceCount"
      },
      "task": false
    },
    {
      "name": "iapExpandedGenericAdapterRequest",
      "summary": "Makes the requested generic call with additional options",
      "description": "Makes the requested generic call with additional options via metadata",
      "input": [
        {
          "name": "metadata",
          "type": "object",
          "info": "metadata for the call (optional)",
          "description": "metadata for the call - allows for many enhancements (optional)",
          "schema": {
            "title": "metadata",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "pathVars",
          "type": "object",
          "info": "the parameters to be put within the url path (optional)",
          "description": "the parameters to be put within the url path (optional)",
          "schema": {
            "title": "pathVars",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapExpandedGenericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequest",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequestNoBasePath",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequestNoBasePath"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterLint",
      "summary": "Run the adapter lint script to return the results",
      "description": "Run the adapter lint script to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "string",
        "description": "A string containing the run results",
        "schema": {
          "title": "result",
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterLint"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterTests",
      "summary": "Run the adapter test scripts (baseunit and unit) to return the results",
      "description": "Run the adapter test scripts (baseunit and unit) to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterTests"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterInventory",
      "summary": "Provide inventory information abbout the adapter",
      "description": "Provide inventory information abbout the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapGetAdapterInventory"
      },
      "task": true
    },
    {
      "name": "getDomainNameAsMaps",
      "summary": "List AS maps: Returns a list of AS maps.",
      "description": "List AS maps: Returns a list of AS maps.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": ": string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameAsMaps"
      },
      "task": true
    },
    {
      "name": "getDomainNameAsMapsMapName",
      "summary": "Get an AS map: Returns information for a specific AS map.",
      "description": "Get an AS map: Returns information for a specific AS map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the AS map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the AS map configured for the property.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "assignments": {
              "type": "array",
              "items": {
                "description": "Contains information about the AS zone groupings of AS IDs.",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "asNumbers": {
                    "type": "array",
                    "items": {
                      "minimum": 1,
                      "maximum": 4294967295,
                      "description": "Specifies an array of AS numbers.",
                      "type": "integer"
                    }
                  },
                  "datacenterId": {
                    "description": "A unique identifier for an existing data center in the domain.",
                    "type": "integer"
                  },
                  "nickname": {
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "A descriptive label for the group.",
                    "type": "string"
                  }
                },
                "required": [
                  "asNumbers",
                  "datacenterId",
                  "nickname"
                ]
              }
            },
            "defaultDatacenter": {
              "description": "A placeholder for all other AS zones, AS IDs not found in these AS zones. Note that an AS map can't have the same AS ID in multiple AS zones.",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "datacenterId": {
                  "description": "For each property, an identifier for all other AS zones' CNAME. For example, 5400.",
                  "type": "integer"
                },
                "nickname": {
                  "minLength": 1,
                  "maxLength": 128,
                  "description": "A descriptive label for all other AS zones, up to 128 characters. If the value is empty or `null`, the default is `Default Mapping`.",
                  "type": "string"
                }
              },
              "required": [
                "datacenterId",
                "nickname"
              ]
            },
            "name": {
              "minLength": 1,
              "maxLength": 128,
              "description": "A descriptive label for the AS map. Properties set up for asmapping can use this as reference.",
              "type": "string"
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Specifies the URL path that allows direct navigation to the As map."
              }
            }
          },
          "required": [
            "assignments",
            "defaultDatacenter",
            "name"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameAsMapsMapName"
      },
      "task": true
    },
    {
      "name": "putDomainNameAsMapsMapName",
      "summary": "Create or update an AS map: Run this operation to create or\nupdate an AS map.",
      "description": "Create or update an AS map: Run this operation to create or\nupdate an AS map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the AS map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"assignments\": [{\"asNumbers\": \"array\", \"datacenterId\": 123, \"nickname\": \"string\"}], \"defaultDatacenter\": {\"datacenterId\": 123, \"nickname\": \"string\"}, \"name\": \"string\", \"links\": \"array\"}",
          "required": false,
          "schema": {
            "description": "Contains information about the AS map configured for the property.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "assignments": {
                "type": "array",
                "items": {
                  "description": "Contains information about the AS zone groupings of AS IDs.",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "asNumbers": {
                      "type": "array",
                      "items": {
                        "minimum": 1,
                        "maximum": 4294967295,
                        "description": "Specifies an array of AS numbers.",
                        "type": "integer"
                      }
                    },
                    "datacenterId": {
                      "description": "A unique identifier for an existing data center in the domain.",
                      "type": "integer"
                    },
                    "nickname": {
                      "minLength": 1,
                      "maxLength": 128,
                      "description": "A descriptive label for the group.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "asNumbers",
                    "datacenterId",
                    "nickname"
                  ]
                }
              },
              "defaultDatacenter": {
                "description": "A placeholder for all other AS zones, AS IDs not found in these AS zones. Note that an AS map can't have the same AS ID in multiple AS zones.",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "datacenterId": {
                    "description": "For each property, an identifier for all other AS zones' CNAME. For example, 5400.",
                    "type": "integer"
                  },
                  "nickname": {
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "A descriptive label for all other AS zones, up to 128 characters. If the value is empty or `null`, the default is `Default Mapping`.",
                    "type": "string"
                  }
                },
                "required": [
                  "datacenterId",
                  "nickname"
                ]
              },
              "name": {
                "minLength": 1,
                "maxLength": 128,
                "description": "A descriptive label for the AS map. Properties set up for asmapping can use this as reference.",
                "type": "string"
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Specifies the URL path that allows direct navigation to the As map."
                }
              }
            },
            "required": [
              "assignments",
              "defaultDatacenter",
              "name"
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putDomainNameAsMapsMapName"
      },
      "task": true
    },
    {
      "name": "deleteDomainNameAsMapsMapName",
      "summary": "Remove an AS map: Removes a specific AS map.",
      "description": "Remove an AS map: Removes a specific AS map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the AS map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteDomainNameAsMapsMapName"
      },
      "task": true
    },
    {
      "name": "getDomainNameCidrMaps",
      "summary": "List CIDR maps: Returns a list of CIDR maps.",
      "description": "List CIDR maps: Returns a list of CIDR maps.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameCidrMaps"
      },
      "task": true
    },
    {
      "name": "getDomainNameCidrMapsMapName",
      "summary": "Get a CIDR map: Returns information for a specific CIDR map.",
      "description": "Get a CIDR map: Returns information for a specific CIDR map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the CIDR map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameCidrMapsMapName"
      },
      "task": true
    },
    {
      "name": "putDomainNameCidrMapsMapName",
      "summary": "Create or update a CIDR map: Run this operation to create or update a CIDR map.",
      "description": "Create or update a CIDR map: Run this operation to create or update a CIDR map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the CIDR map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"assignments\": [{\"datacenterId\": 123, \"nickname\": \"string\", \"blocks\": \"array\"}], \"defaultDatacenter\": {\"datacenterId\": 123, \"nickname\": \"string\"}, \"links\": \"array\"}",
          "required": false,
          "schema": {
            "description": "Contains information about the CIDR map configured for the property.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "minLength": 1,
                "maxLength": 255,
                "description": "A descriptive label for the CIDR map, up to 255 characters.",
                "type": "string"
              },
              "assignments": {
                "type": "array",
                "items": {
                  "description": "Contains information about the CIDR zone groupings of CIDR blocks.",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "datacenterId": {
                      "description": "A unique identifier for an existing data center in the domain.",
                      "type": "integer"
                    },
                    "nickname": {
                      "minLength": 1,
                      "maxLength": 256,
                      "description": "A descriptive label for the CIDR zone group, up to 256 characters.",
                      "type": "string"
                    },
                    "blocks": {
                      "type": "array",
                      "items": {
                        "minLength": 1,
                        "maxLength": 256,
                        "description": "Specifies an array of CIDR blocks.",
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "defaultDatacenter": {
                "description": "A placeholder for all other CIDR zones, CIDR blocks not found in these CIDR zones. Note that a CIDR map can't have the same CIDR block in multiple CIDR zones. ",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "datacenterId": {
                    "description": "For each property, an identifier for all other CIDR zones' CNAME. For example, 5400.",
                    "type": "integer"
                  },
                  "nickname": {
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "A descriptive label for the all other CIDR blocks. If omitted, the default is `All Other CIDR Blocks`.",
                    "type": "string"
                  }
                }
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Specifies the URL path that allows direct navigation to the CIDR map."
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putDomainNameCidrMapsMapName"
      },
      "task": true
    },
    {
      "name": "deleteDomainNameCidrMapsMapName",
      "summary": "Remove a CIDR map: Removes a specific CIDR map.",
      "description": "Remove a CIDR map: Removes a specific CIDR map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the CIDR map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteDomainNameCidrMapsMapName"
      },
      "task": true
    },
    {
      "name": "getDomainNameDatacenters",
      "summary": "List data centers: Returns a list of data centers.",
      "description": "List data centers: Returns a list of data centers.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameDatacenters"
      },
      "task": true
    },
    {
      "name": "postDomainNameDatacenters",
      "summary": "Create a data center: Creates a specific data center.",
      "description": "Create a data center: Creates a specific data center.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"city\": \"string\", \"cloneOf\": 123, \"cloudServerTargeting\": \"boolean\", \"continent\": \"Must be one of [AF, AS, EU, NA, OC, OT, SA]\", \"country\": \"string\", \"datacenterId\": 123, \"defaultLoadObject\": {\"loadObject\": \"string\", \"loadObjectPort\": 123, \"loadServers\": \"array\"}, \"latitude\": 123, \"links\": \"array\", \"longitude\": 123, \"nickname\": \"string\", \"stateOrProvince\": \"string\", \"virtual\": \"boolean\"}",
          "required": false,
          "schema": {
            "description": "Contains information about the data centers in the GTM domain.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "city": {
                "description": "The name of the city where the data center is located.",
                "type": "string"
              },
              "cloneOf": {
                "description": "Identifies the data center's `datacenterId` of which this data center is a clone. A data center clone is just like any other data center except that it inherits its geographic attributes (`continent`, `country`, `stateOrProvince`, `city`, `latitude`, and `longitude`) from the data center of which it is a clone.",
                "type": "integer"
              },
              "cloudServerTargeting": {
                "description": "Balances load between two or more servers in a cloud environment. Either `true` if cloud server targeting is enabled or `false` if not.",
                "type": "boolean"
              },
              "continent": {
                "maxLength": 2,
                "description": "A two-letter code that specifies the continent where the data center maps to. If omitted, GTM populates this parameter. Either `AF`, `AS`, `EU`, `NA`, `OC`, `OT`, or `SA`. ",
                "enum": [
                  "AF",
                  "AS",
                  "EU",
                  "NA",
                  "OC",
                  "OT",
                  "SA"
                ],
                "type": "string"
              },
              "country": {
                "maxLength": 2,
                "description": "A two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code that specifies the country where the data center maps to.",
                "type": "string"
              },
              "datacenterId": {
                "description": "A unique identifier for an existing data center in the domain.",
                "type": "integer"
              },
              "defaultLoadObject": {
                "description": "Specifies the load reporting interface between you and the GTM system. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. This default load object is intended to be shared. Individual [Resources](#resource) can specify `useDefaultLoadObject` to use it instead of specifying their own.",
                "type": "object",
                "properties": {
                  "loadObject": {
                    "maxLength": 256,
                    "pattern": "^(?!:).*$",
                    "description": "Specifies the load object that GTM requests. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. The value cannot begin with a `:` character, and is limited to a maximum of 256 characters.",
                    "type": "string"
                  },
                  "loadObjectPort": {
                    "minimum": 0,
                    "maximum": 65535,
                    "description": "Specifies the TCP port to connect to when requesting the load object. A value of `0` means to use the default port, equivalent to either `80` or `443`.",
                    "type": "integer"
                  },
                  "loadServers": {
                    "description": "Specifies a list of servers to request the load object from. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable [RFC 1918](https://tools.ietf.org/html/rfc1918) addresses.",
                    "type": "array",
                    "items": {
                      "maxLength": 256,
                      "type": "string"
                    }
                  }
                }
              },
              "latitude": {
                "description": "Specifies the geographical latitude of the data center's position. See also `longitude` within this object.",
                "type": "number"
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Provides a URL path that allows direct navigation to a data center."
                }
              },
              "longitude": {
                "description": "Specifies the geographic longitude of the data center's position. See also `latitude` within this object.",
                "type": "number"
              },
              "nickname": {
                "maxLength": 256,
                "description": "A descriptive label for the data center.",
                "type": "string"
              },
              "stateOrProvince": {
                "description": "Specifies a two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code for the state or province where the data center is located.",
                "type": "string"
              },
              "virtual": {
                "description": "Indicates whether or not the data center is `virtual` or physical, the latter meaning the data center has an Akamai Network Agent installed, and its physical location (latitude, longitude) is fixed. Either `true` if `virtual` or `false` if physical.",
                "type": "boolean"
              }
            },
            "required": [
              "datacenterId"
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postDomainNameDatacenters"
      },
      "task": true
    },
    {
      "name": "getDomainNameDatacentersDatacenterId",
      "summary": "Get a data center: Returns information for a specific data center.",
      "description": "Get a data center: Returns information for a specific data center.",
      "input": [
        {
          "name": "datacenterId",
          "type": "number",
          "info": "Numeric `id` of the data center.: 123",
          "required": true,
          "schema": {
            "title": "datacenterId",
            "type": "number"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the data centers in the GTM domain.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "city": {
              "description": "The name of the city where the data center is located.",
              "type": "string"
            },
            "cloneOf": {
              "description": "Identifies the data center's `datacenterId` of which this data center is a clone. A data center clone is just like any other data center except that it inherits its geographic attributes (`continent`, `country`, `stateOrProvince`, `city`, `latitude`, and `longitude`) from the data center of which it is a clone.",
              "type": "integer"
            },
            "cloudServerTargeting": {
              "description": "Balances load between two or more servers in a cloud environment. Either `true` if cloud server targeting is enabled or `false` if not.",
              "type": "boolean"
            },
            "continent": {
              "maxLength": 2,
              "description": "A two-letter code that specifies the continent where the data center maps to. If omitted, GTM populates this parameter. Either `AF`, `AS`, `EU`, `NA`, `OC`, `OT`, or `SA`. ",
              "enum": [
                "AF",
                "AS",
                "EU",
                "NA",
                "OC",
                "OT",
                "SA"
              ],
              "type": "string"
            },
            "country": {
              "maxLength": 2,
              "description": "A two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code that specifies the country where the data center maps to.",
              "type": "string"
            },
            "datacenterId": {
              "description": "A unique identifier for an existing data center in the domain.",
              "type": "integer"
            },
            "defaultLoadObject": {
              "description": "Specifies the load reporting interface between you and the GTM system. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. This default load object is intended to be shared. Individual [Resources](#resource) can specify `useDefaultLoadObject` to use it instead of specifying their own.",
              "type": "object",
              "properties": {
                "loadObject": {
                  "maxLength": 256,
                  "pattern": "^(?!:).*$",
                  "description": "Specifies the load object that GTM requests. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. The value cannot begin with a `:` character, and is limited to a maximum of 256 characters.",
                  "type": "string"
                },
                "loadObjectPort": {
                  "minimum": 0,
                  "maximum": 65535,
                  "description": "Specifies the TCP port to connect to when requesting the load object. A value of `0` means to use the default port, equivalent to either `80` or `443`.",
                  "type": "integer"
                },
                "loadServers": {
                  "description": "Specifies a list of servers to request the load object from. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable [RFC 1918](https://tools.ietf.org/html/rfc1918) addresses.",
                  "type": "array",
                  "items": {
                    "maxLength": 256,
                    "type": "string"
                  }
                }
              }
            },
            "latitude": {
              "description": "Specifies the geographical latitude of the data center's position. See also `longitude` within this object.",
              "type": "number"
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Provides a URL path that allows direct navigation to a data center."
              }
            },
            "longitude": {
              "description": "Specifies the geographic longitude of the data center's position. See also `latitude` within this object.",
              "type": "number"
            },
            "nickname": {
              "maxLength": 256,
              "description": "A descriptive label for the data center.",
              "type": "string"
            },
            "stateOrProvince": {
              "description": "Specifies a two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code for the state or province where the data center is located.",
              "type": "string"
            },
            "virtual": {
              "description": "Indicates whether or not the data center is `virtual` or physical, the latter meaning the data center has an Akamai Network Agent installed, and its physical location (latitude, longitude) is fixed. Either `true` if `virtual` or `false` if physical.",
              "type": "boolean"
            }
          },
          "required": [
            "datacenterId"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameDatacentersDatacenterId"
      },
      "task": true
    },
    {
      "name": "putDomainNameDatacentersDatacenterId",
      "summary": "Update a data center: Updates a specific data center.",
      "description": "Update a data center: Updates a specific data center.",
      "input": [
        {
          "name": "datacenterId",
          "type": "number",
          "info": "Numeric `id` of the data center.: 123",
          "required": true,
          "schema": {
            "title": "datacenterId",
            "type": "number"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"city\": \"string\", \"cloneOf\": 123, \"cloudServerTargeting\": \"boolean\", \"continent\": \"Must be one of [AF, AS, EU, NA, OC, OT, SA]\", \"country\": \"string\", \"datacenterId\": 123, \"defaultLoadObject\": {\"loadObject\": \"string\", \"loadObjectPort\": 123, \"loadServers\": \"array\"}, \"latitude\": 123, \"links\": \"array\", \"longitude\": 123, \"nickname\": \"string\", \"stateOrProvince\": \"string\", \"virtual\": \"boolean\"}",
          "required": false,
          "schema": {
            "description": "Contains information about the data centers in the GTM domain.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "city": {
                "description": "The name of the city where the data center is located.",
                "type": "string"
              },
              "cloneOf": {
                "description": "Identifies the data center's `datacenterId` of which this data center is a clone. A data center clone is just like any other data center except that it inherits its geographic attributes (`continent`, `country`, `stateOrProvince`, `city`, `latitude`, and `longitude`) from the data center of which it is a clone.",
                "type": "integer"
              },
              "cloudServerTargeting": {
                "description": "Balances load between two or more servers in a cloud environment. Either `true` if cloud server targeting is enabled or `false` if not.",
                "type": "boolean"
              },
              "continent": {
                "maxLength": 2,
                "description": "A two-letter code that specifies the continent where the data center maps to. If omitted, GTM populates this parameter. Either `AF`, `AS`, `EU`, `NA`, `OC`, `OT`, or `SA`. ",
                "enum": [
                  "AF",
                  "AS",
                  "EU",
                  "NA",
                  "OC",
                  "OT",
                  "SA"
                ],
                "type": "string"
              },
              "country": {
                "maxLength": 2,
                "description": "A two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code that specifies the country where the data center maps to.",
                "type": "string"
              },
              "datacenterId": {
                "description": "A unique identifier for an existing data center in the domain.",
                "type": "integer"
              },
              "defaultLoadObject": {
                "description": "Specifies the load reporting interface between you and the GTM system. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. This default load object is intended to be shared. Individual [Resources](#resource) can specify `useDefaultLoadObject` to use it instead of specifying their own.",
                "type": "object",
                "properties": {
                  "loadObject": {
                    "maxLength": 256,
                    "pattern": "^(?!:).*$",
                    "description": "Specifies the load object that GTM requests. A load object is a file that provides real-time information about the current load, maximum allowable load, and target load on each resource. The value cannot begin with a `:` character, and is limited to a maximum of 256 characters.",
                    "type": "string"
                  },
                  "loadObjectPort": {
                    "minimum": 0,
                    "maximum": 65535,
                    "description": "Specifies the TCP port to connect to when requesting the load object. A value of `0` means to use the default port, equivalent to either `80` or `443`.",
                    "type": "integer"
                  },
                  "loadServers": {
                    "description": "Specifies a list of servers to request the load object from. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable [RFC 1918](https://tools.ietf.org/html/rfc1918) addresses.",
                    "type": "array",
                    "items": {
                      "maxLength": 256,
                      "type": "string"
                    }
                  }
                }
              },
              "latitude": {
                "description": "Specifies the geographical latitude of the data center's position. See also `longitude` within this object.",
                "type": "number"
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Provides a URL path that allows direct navigation to a data center."
                }
              },
              "longitude": {
                "description": "Specifies the geographic longitude of the data center's position. See also `latitude` within this object.",
                "type": "number"
              },
              "nickname": {
                "maxLength": 256,
                "description": "A descriptive label for the data center.",
                "type": "string"
              },
              "stateOrProvince": {
                "description": "Specifies a two-letter [ISO 3166](https://www.iso.org/iso-3166-country-codes.html) country code for the state or province where the data center is located.",
                "type": "string"
              },
              "virtual": {
                "description": "Indicates whether or not the data center is `virtual` or physical, the latter meaning the data center has an Akamai Network Agent installed, and its physical location (latitude, longitude) is fixed. Either `true` if `virtual` or `false` if physical.",
                "type": "boolean"
              }
            },
            "required": [
              "datacenterId"
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putDomainNameDatacentersDatacenterId"
      },
      "task": true
    },
    {
      "name": "deleteDomainNameDatacentersDatacenterId",
      "summary": "Remove a data center: Removes a data center. Removes a data\ncenter, which is only possible when no",
      "description": "Remove a data center: Removes a data center. Removes a data\ncenter, which is only possible when no properties or resources\nare assigned to it.",
      "input": [
        {
          "name": "datacenterId",
          "type": "number",
          "info": "Numeric `id` of the data center.: 123",
          "required": true,
          "schema": {
            "title": "datacenterId",
            "type": "number"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteDomainNameDatacentersDatacenterId"
      },
      "task": true
    },
    {
      "name": "postDomainNameDatacentersDefaultDatacenterForMaps",
      "summary": "Create a default data center: Creates a data center which can be used by map-type properties (CIDR,",
      "description": "Create a default data center: Creates a data center which can be used by map-type properties (CIDR, Geographic or\nAS mapping) as the \"Default Datacenter.\"",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postDomainNameDatacentersDefaultDatacenterForMaps"
      },
      "task": true
    },
    {
      "name": "postDomainNameDatacentersDatacenterForIpVersionSelectorIpv4",
      "summary": "Create an IPv4 datacenter for ip-version-selector: Creates a data center which is solely reserved f",
      "description": "Create an IPv4 datacenter for ip-version-selector: Creates a data center which is solely reserved for use by properties\nof type \"qtr\" (IP Version Selector). The datacenter created by this resource will be assigned the `datacenterId` 5401,\nwhich is interpreted as the target for `A` record requests.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postDomainNameDatacentersDatacenterForIpVersionSelectorIpv4"
      },
      "task": true
    },
    {
      "name": "postDomainNameDatacentersDatacenterForIpVersionSelectorIpv6",
      "summary": "Create an IPv6 datacenter for ip-version-selector: Creates a data center which is solely reserved f",
      "description": "Create an IPv6 datacenter for ip-version-selector: Creates a data center which is solely reserved for use by properties\nof type `qtr` (IP Version Selector). The datacenter created by this resource will be assigned the `datacenterId` 5402,\nwhich is interpreted as the target for `AAAA` record requests.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postDomainNameDatacentersDatacenterForIpVersionSelectorIpv6"
      },
      "task": true
    },
    {
      "name": "postDomains",
      "summary": "Create a domain: Creates a new GTM domain.",
      "description": "Create a domain: Creates a new GTM domain.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"cidrMaps\": \"array\", \"datacenters\": \"array\", \"defaultErrorPenalty\": 123, \"defaultSslClientCertificate\": \"string\", \"defaultSslClientPrivateKey\": \"string\", \"defaultTimeoutPenalty\": 123, \"emailNotificationList\": \"array\", \"lastModified\": \"string\", \"lastModifiedBy\": \"string\", \"loadFeedback\": \"boolean\", \"loadImbalancePercentage\": 123, \"modificationComments\": \"string\", \"name\": \"string\", \"properties\": \"array\", \"resources\": \"array\", \"type\": \"Must be one of [failover-only, static, weighted, basic, full]\", \"status\": \"object\", \"links\": \"array\", \"geographicMaps\": \"array\"}",
          "required": false,
          "schema": {
            "description": "Contains information about the basic building block of a traffic management configuration. Each domain object is a representation of a complete GTM domain such as `example.akadns.net`.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "cidrMaps": {
                "type": "array",
                "items": {
                  "description": "Contains information about the set of CIDR maps assigned to this domain.",
                  "type": "object"
                }
              },
              "datacenters": {
                "type": "array",
                "items": {
                  "description": "Contains information about the set of data centers assigned to this domain."
                }
              },
              "defaultErrorPenalty": {
                "description": "Specifies the download penalty score. If the download encounters an error, the web agent computes a score that is either the download time in seconds or a penalty score. The default penalty is `75`.",
                "type": "integer"
              },
              "defaultSslClientCertificate": {
                "description": "Specifies an optional Base64-encoded certificate that corresponds with the private key for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS). When the liveness test does not contain `sslClientCertificate` and `sslClientPrivateKey` values, use this and the `defaultSslClientPrivateKey` object members to generate a certificate. Note that the private key used to generate a certificate (or the CSR used to request the certificate) for this purpose needs to be throwaway, meaning that it is not used for any other purpose. See also `defaultSslClientPrivateKey` within this object.",
                "type": "string"
              },
              "defaultSslClientPrivateKey": {
                "description": "Specifies an optional Base64-encoded private key that corresponds with the TLS certificate for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS). See also `defaultSslClientCertificate` within this object.",
                "type": "string"
              },
              "defaultTimeoutPenalty": {
                "description": "Specifies the timeout penalty score. The web agent then computes a score that is either the download time in seconds or a penalty score if the download request times out. The default penalty for a time out is `25`.",
                "type": "integer"
              },
              "emailNotificationList": {
                "type": "array",
                "items": {
                  "format": "email",
                  "type": "string",
                  "description": "A list of email addresses to notify when a change is made to the domain."
                }
              },
              "lastModified": {
                "format": "date-time",
                "type": "string",
                "description": "An ISO 8601 timestamp that indicates when the domain was last changed."
              },
              "lastModifiedBy": {
                "maxLength": 256,
                "description": "The email address of the administrator who made the last change to the domain.",
                "type": "string"
              },
              "loadFeedback": {
                "description": "Indicates whether one or more measurements of load (`resources`) are defined by you and supplied by each data center in real time to balance load. The value is `true` if load balance is used.",
                "type": "boolean"
              },
              "loadImbalancePercentage": {
                "minimum": 0,
                "maximum": 1000000,
                "description": "Indicates the percent of load imbalance factor (LIF) for the domain. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage. Zero means no load imbalance is allowed at all. However, internally, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, which is displayed as `10.0` percent. The value ranges from `0` to `1000000` percent.",
                "type": "number"
              },
              "modificationComments": {
                "maxLength": 4000,
                "description": "A descriptive note about changes to the domain. The maximum is 4000 characters.",
                "type": "string"
              },
              "name": {
                "minLength": 1,
                "maxLength": 100,
                "description": "The full GTM domain name that needs to end in `.akadns.net, up to 100 characters.`",
                "type": "string"
              },
              "properties": {
                "type": "array",
                "items": {
                  "description": "Contains information about the properties in the GTM domain."
                }
              },
              "resources": {
                "type": "array",
                "items": {
                  "description": "Contains information about the resources in the GTM domain."
                }
              },
              "type": {
                "description": "Indicates the type of domain available based on your contract. Either `failover-only`, `static`, `weighted`, `basic`, or `full`.",
                "enum": [
                  "failover-only",
                  "static",
                  "weighted",
                  "basic",
                  "full"
                ],
                "type": "string"
              },
              "status": {
                "description": "Specifies the condition of the change in the domain's activation.",
                "type": "object"
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Provides a URL path that allows direct navigation to the domain."
                }
              },
              "geographicMaps": {
                "type": "array",
                "items": {
                  "description": "Contains information about the set of geographic maps assigned to this domain."
                }
              }
            },
            "required": [
              "cidrMaps",
              "datacenters",
              "defaultErrorPenalty",
              "defaultSslClientCertificate",
              "defaultSslClientPrivateKey",
              "defaultTimeoutPenalty",
              "emailNotificationList",
              "geographicMaps",
              "lastModified",
              "lastModifiedBy",
              "loadFeedback",
              "loadImbalancePercentage",
              "modificationComments",
              "name",
              "properties",
              "resources",
              "type"
            ]
          }
        },
        {
          "name": "contractId",
          "type": "string",
          "info": "A unique identifier for the contract. If your GTM client\ncredential has access to more than one contract, you need\nto specify under which contract to provision the domain...(description truncated): string",
          "required": false,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "gid",
          "type": "number",
          "info": "A unique identifier for the group. If your GTM client\ncredential has access to more than one group, you need to\nspecify which group to assign to the domain. For more\ninfo...(description truncated): 123",
          "required": false,
          "schema": {
            "title": "gid",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postDomains"
      },
      "task": true
    },
    {
      "name": "getDomains",
      "summary": "List domains: Returns a list of GTM domains under your contract.",
      "description": "List domains: Returns a list of GTM domains under your contract.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "acgId": {
                    "description": "Contract Id",
                    "type": "string"
                  },
                  "lastModified": {
                    "format": "date-time",
                    "type": "string",
                    "description": "Read-only [date-time](http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.23) value, generated when a change occurs."
                  },
                  "name": {
                    "minLength": 1,
                    "maxLength": 100,
                    "description": "Maximum `100` characters, ending in `.akadns.net.`",
                    "type": "string"
                  },
                  "links": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "status": {
                    "description": "Domain status",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDomains"
      },
      "task": true
    },
    {
      "name": "getDomainsDomainName",
      "summary": "Get a domain: Returns information for a specific GTM domain.",
      "description": "Get a domain: Returns information for a specific GTM domain.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the basic building block of a traffic management configuration. Each domain object is a representation of a complete GTM domain such as `example.akadns.net`.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "cidrMaps": {
              "type": "array",
              "items": {
                "description": "Contains information about the set of CIDR maps assigned to this domain.",
                "type": "object"
              }
            },
            "datacenters": {
              "type": "array",
              "items": {
                "description": "Contains information about the set of data centers assigned to this domain."
              }
            },
            "defaultErrorPenalty": {
              "description": "Specifies the download penalty score. If the download encounters an error, the web agent computes a score that is either the download time in seconds or a penalty score. The default penalty is `75`.",
              "type": "integer"
            },
            "defaultSslClientCertificate": {
              "description": "Specifies an optional Base64-encoded certificate that corresponds with the private key for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS). When the liveness test does not contain `sslClientCertificate` and `sslClientPrivateKey` values, use this and the `defaultSslClientPrivateKey` object members to generate a certificate. Note that the private key used to generate a certificate (or the CSR used to request the certificate) for this purpose needs to be throwaway, meaning that it is not used for any other purpose. See also `defaultSslClientPrivateKey` within this object.",
              "type": "string"
            },
            "defaultSslClientPrivateKey": {
              "description": "Specifies an optional Base64-encoded private key that corresponds with the TLS certificate for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS). See also `defaultSslClientCertificate` within this object.",
              "type": "string"
            },
            "defaultTimeoutPenalty": {
              "description": "Specifies the timeout penalty score. The web agent then computes a score that is either the download time in seconds or a penalty score if the download request times out. The default penalty for a time out is `25`.",
              "type": "integer"
            },
            "emailNotificationList": {
              "type": "array",
              "items": {
                "format": "email",
                "type": "string",
                "description": "A list of email addresses to notify when a change is made to the domain."
              }
            },
            "lastModified": {
              "format": "date-time",
              "type": "string",
              "description": "An ISO 8601 timestamp that indicates when the domain was last changed."
            },
            "lastModifiedBy": {
              "maxLength": 256,
              "description": "The email address of the administrator who made the last change to the domain.",
              "type": "string"
            },
            "loadFeedback": {
              "description": "Indicates whether one or more measurements of load (`resources`) are defined by you and supplied by each data center in real time to balance load. The value is `true` if load balance is used.",
              "type": "boolean"
            },
            "loadImbalancePercentage": {
              "minimum": 0,
              "maximum": 1000000,
              "description": "Indicates the percent of load imbalance factor (LIF) for the domain. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage. Zero means no load imbalance is allowed at all. However, internally, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, which is displayed as `10.0` percent. The value ranges from `0` to `1000000` percent.",
              "type": "number"
            },
            "modificationComments": {
              "maxLength": 4000,
              "description": "A descriptive note about changes to the domain. The maximum is 4000 characters.",
              "type": "string"
            },
            "name": {
              "minLength": 1,
              "maxLength": 100,
              "description": "The full GTM domain name that needs to end in `.akadns.net, up to 100 characters.`",
              "type": "string"
            },
            "properties": {
              "type": "array",
              "items": {
                "description": "Contains information about the properties in the GTM domain."
              }
            },
            "resources": {
              "type": "array",
              "items": {
                "description": "Contains information about the resources in the GTM domain."
              }
            },
            "type": {
              "description": "Indicates the type of domain available based on your contract. Either `failover-only`, `static`, `weighted`, `basic`, or `full`.",
              "enum": [
                "failover-only",
                "static",
                "weighted",
                "basic",
                "full"
              ],
              "type": "string"
            },
            "status": {
              "description": "Specifies the condition of the change in the domain's activation.",
              "type": "object"
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Provides a URL path that allows direct navigation to the domain."
              }
            },
            "geographicMaps": {
              "type": "array",
              "items": {
                "description": "Contains information about the set of geographic maps assigned to this domain."
              }
            }
          },
          "required": [
            "cidrMaps",
            "datacenters",
            "defaultErrorPenalty",
            "defaultSslClientCertificate",
            "defaultSslClientPrivateKey",
            "defaultTimeoutPenalty",
            "emailNotificationList",
            "geographicMaps",
            "lastModified",
            "lastModifiedBy",
            "loadFeedback",
            "loadImbalancePercentage",
            "modificationComments",
            "name",
            "properties",
            "resources",
            "type"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainsDomainName"
      },
      "task": true
    },
    {
      "name": "putDomainsDomainName",
      "summary": "Update a domain: Updates a specific GTM domain.",
      "description": "Update a domain: Updates a specific GTM domain.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"cidrMaps\": \"array\", \"datacenters\": \"array\", \"defaultErrorPenalty\": 123, \"defaultSslClientCertificate\": \"string\", \"defaultSslClientPrivateKey\": \"string\", \"defaultTimeoutPenalty\": 123, \"emailNotificationList\": \"array\", \"lastModified\": \"string\", \"lastModifiedBy\": \"string\", \"loadFeedback\": \"boolean\", \"loadImbalancePercentage\": 123, \"modificationComments\": \"string\", \"name\": \"string\", \"properties\": \"array\", \"resources\": \"array\", \"type\": \"Must be one of [failover-only, static, weighted, basic, full]\", \"status\": \"object\", \"links\": \"array\", \"geographicMaps\": \"array\"}",
          "required": false,
          "schema": {
            "description": "Contains information about the basic building block of a traffic management configuration. Each domain object is a representation of a complete GTM domain such as `example.akadns.net`.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "cidrMaps": {
                "type": "array",
                "items": {
                  "description": "Contains information about the set of CIDR maps assigned to this domain.",
                  "type": "object"
                }
              },
              "datacenters": {
                "type": "array",
                "items": {
                  "description": "Contains information about the set of data centers assigned to this domain."
                }
              },
              "defaultErrorPenalty": {
                "description": "Specifies the download penalty score. If the download encounters an error, the web agent computes a score that is either the download time in seconds or a penalty score. The default penalty is `75`.",
                "type": "integer"
              },
              "defaultSslClientCertificate": {
                "description": "Specifies an optional Base64-encoded certificate that corresponds with the private key for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS). When the liveness test does not contain `sslClientCertificate` and `sslClientPrivateKey` values, use this and the `defaultSslClientPrivateKey` object members to generate a certificate. Note that the private key used to generate a certificate (or the CSR used to request the certificate) for this purpose needs to be throwaway, meaning that it is not used for any other purpose. See also `defaultSslClientPrivateKey` within this object.",
                "type": "string"
              },
              "defaultSslClientPrivateKey": {
                "description": "Specifies an optional Base64-encoded private key that corresponds with the TLS certificate for TLS-based liveness tests (HTTPS, SMTPS, POPS, and TCPS). See also `defaultSslClientCertificate` within this object.",
                "type": "string"
              },
              "defaultTimeoutPenalty": {
                "description": "Specifies the timeout penalty score. The web agent then computes a score that is either the download time in seconds or a penalty score if the download request times out. The default penalty for a time out is `25`.",
                "type": "integer"
              },
              "emailNotificationList": {
                "type": "array",
                "items": {
                  "format": "email",
                  "type": "string",
                  "description": "A list of email addresses to notify when a change is made to the domain."
                }
              },
              "lastModified": {
                "format": "date-time",
                "type": "string",
                "description": "An ISO 8601 timestamp that indicates when the domain was last changed."
              },
              "lastModifiedBy": {
                "maxLength": 256,
                "description": "The email address of the administrator who made the last change to the domain.",
                "type": "string"
              },
              "loadFeedback": {
                "description": "Indicates whether one or more measurements of load (`resources`) are defined by you and supplied by each data center in real time to balance load. The value is `true` if load balance is used.",
                "type": "boolean"
              },
              "loadImbalancePercentage": {
                "minimum": 0,
                "maximum": 1000000,
                "description": "Indicates the percent of load imbalance factor (LIF) for the domain. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage. Zero means no load imbalance is allowed at all. However, internally, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, which is displayed as `10.0` percent. The value ranges from `0` to `1000000` percent.",
                "type": "number"
              },
              "modificationComments": {
                "maxLength": 4000,
                "description": "A descriptive note about changes to the domain. The maximum is 4000 characters.",
                "type": "string"
              },
              "name": {
                "minLength": 1,
                "maxLength": 100,
                "description": "The full GTM domain name that needs to end in `.akadns.net, up to 100 characters.`",
                "type": "string"
              },
              "properties": {
                "type": "array",
                "items": {
                  "description": "Contains information about the properties in the GTM domain."
                }
              },
              "resources": {
                "type": "array",
                "items": {
                  "description": "Contains information about the resources in the GTM domain."
                }
              },
              "type": {
                "description": "Indicates the type of domain available based on your contract. Either `failover-only`, `static`, `weighted`, `basic`, or `full`.",
                "enum": [
                  "failover-only",
                  "static",
                  "weighted",
                  "basic",
                  "full"
                ],
                "type": "string"
              },
              "status": {
                "description": "Specifies the condition of the change in the domain's activation.",
                "type": "object"
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Provides a URL path that allows direct navigation to the domain."
                }
              },
              "geographicMaps": {
                "type": "array",
                "items": {
                  "description": "Contains information about the set of geographic maps assigned to this domain."
                }
              }
            },
            "required": [
              "cidrMaps",
              "datacenters",
              "defaultErrorPenalty",
              "defaultSslClientCertificate",
              "defaultSslClientPrivateKey",
              "defaultTimeoutPenalty",
              "emailNotificationList",
              "geographicMaps",
              "lastModified",
              "lastModifiedBy",
              "loadFeedback",
              "loadImbalancePercentage",
              "modificationComments",
              "name",
              "properties",
              "resources",
              "type"
            ]
          }
        },
        {
          "name": "contractId",
          "type": "string",
          "info": "A unique identifier for the contract. If your GTM client\ncredential has access to more than one contract, you need\nto specify under which contract to provision the domain...(description truncated): string",
          "required": false,
          "schema": {
            "title": "contractId",
            "type": "string"
          }
        },
        {
          "name": "gid",
          "type": "number",
          "info": "A unique identifier for the group. If your GTM client\ncredential has access to more than one group, you need to\nspecify which group to assign to the domain. For more\ninfo...(description truncated): 123",
          "required": false,
          "schema": {
            "title": "gid",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putDomainsDomainName"
      },
      "task": true
    },
    {
      "name": "getDomainNameGeographicMaps",
      "summary": "List geographic maps: Returns a list of geographic maps.",
      "description": "List geographic maps: Returns a list of geographic maps.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameGeographicMaps"
      },
      "task": true
    },
    {
      "name": "getDomainNameGeographicMapsMapName",
      "summary": "Get a geographic map: Returns information for a specific geographic map.",
      "description": "Get a geographic map: Returns information for a specific geographic map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the geographic map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the geographic map configured for the property.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "name": {
              "minLength": 1,
              "maxLength": 128,
              "description": "A descriptive label for the geographic map, up to `128` characters.",
              "type": "string"
            },
            "defaultDatacenter": {
              "description": "A placeholder for all other geographic zones, countries not found in these geographic zones. Note that a geographic map cannot have the same countries in multiple geographic zones.",
              "type": "object",
              "additionalProperties": false,
              "properties": {
                "datacenterId": {
                  "description": "For each property, an identifier for all other geographic zones' CNAME. For example, 5400.",
                  "type": "integer"
                },
                "nickname": {
                  "minLength": 1,
                  "maxLength": 128,
                  "description": "A descriptive label for all other geographic zones. The value ranges from 1 to 128 characters. If omitted, defaults to `Default Mapping`.",
                  "type": "string"
                }
              }
            },
            "assignments": {
              "type": "array",
              "items": {
                "description": "Contains information about the geographic zone groupings of countries.",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "datacenterId": {
                    "description": "A unique identifier for an existing data center in the domain.",
                    "type": "integer"
                  },
                  "nickname": {
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "A descriptive label for the group.",
                    "type": "string"
                  },
                  "countries": {
                    "type": "array",
                    "items": {
                      "minLength": 1,
                      "maxLength": 10,
                      "description": "Specifies an array of two-letter ISO 3166 `country` codes, or for finer subdivisions, the two-letter `country` code and the two-letter `stateOrProvince` code separated by a forward slash. For example, `US/TX`.",
                      "type": "string"
                    }
                  }
                }
              }
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Specifies the URL path that allows direct navigation to the geographic map."
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameGeographicMapsMapName"
      },
      "task": true
    },
    {
      "name": "putDomainNameGeographicMapsMapName",
      "summary": "Create or update a geographic map: Run this operation to\ncreate or update a geographic map.",
      "description": "Create or update a geographic map: Run this operation to\ncreate or update a geographic map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the geographic map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"defaultDatacenter\": {\"datacenterId\": 123, \"nickname\": \"string\"}, \"assignments\": [{\"datacenterId\": 123, \"nickname\": \"string\", \"countries\": \"array\"}], \"links\": \"array\"}",
          "required": false,
          "schema": {
            "description": "Contains information about the geographic map configured for the property.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "name": {
                "minLength": 1,
                "maxLength": 128,
                "description": "A descriptive label for the geographic map, up to `128` characters.",
                "type": "string"
              },
              "defaultDatacenter": {
                "description": "A placeholder for all other geographic zones, countries not found in these geographic zones. Note that a geographic map cannot have the same countries in multiple geographic zones.",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "datacenterId": {
                    "description": "For each property, an identifier for all other geographic zones' CNAME. For example, 5400.",
                    "type": "integer"
                  },
                  "nickname": {
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "A descriptive label for all other geographic zones. The value ranges from 1 to 128 characters. If omitted, defaults to `Default Mapping`.",
                    "type": "string"
                  }
                }
              },
              "assignments": {
                "type": "array",
                "items": {
                  "description": "Contains information about the geographic zone groupings of countries.",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "datacenterId": {
                      "description": "A unique identifier for an existing data center in the domain.",
                      "type": "integer"
                    },
                    "nickname": {
                      "minLength": 1,
                      "maxLength": 128,
                      "description": "A descriptive label for the group.",
                      "type": "string"
                    },
                    "countries": {
                      "type": "array",
                      "items": {
                        "minLength": 1,
                        "maxLength": 10,
                        "description": "Specifies an array of two-letter ISO 3166 `country` codes, or for finer subdivisions, the two-letter `country` code and the two-letter `stateOrProvince` code separated by a forward slash. For example, `US/TX`.",
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Specifies the URL path that allows direct navigation to the geographic map."
                }
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putDomainNameGeographicMapsMapName"
      },
      "task": true
    },
    {
      "name": "deleteDomainNameGeographicMapsMapName",
      "summary": "Remove a geographic map: Removes a geographic map.",
      "description": "Remove a geographic map: Removes a geographic map.",
      "input": [
        {
          "name": "mapName",
          "type": "string",
          "info": "Unique name for the geographic map.: string",
          "required": true,
          "schema": {
            "title": "mapName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteDomainNameGeographicMapsMapName"
      },
      "task": true
    },
    {
      "name": "getIdentity",
      "summary": "Get identity: Returns information about the API client. Run this\noperation for details on the API c",
      "description": "Get identity: Returns information about the API client. Run this\noperation for details on the API client contract such as\navailable load balancing `features` and `permissions` the\nclient has on the domains tied to the contract.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Collects high-level information about the API client for a specific GTM account.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "accountId": {
              "description": "A unique API client identity for a specific account, created in [Control Center](https://control.akamai.com/apps/home-page).",
              "type": "string"
            },
            "active": {
              "description": "Enabled if the account is active.",
              "type": "boolean"
            },
            "contracts": {
              "type": "array",
              "items": {
                "description": "Lists information about each contract under a specific account.",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "contractId": {
                    "description": "A unique identifier for the contract.",
                    "type": "string"
                  },
                  "features": {
                    "type": "array",
                    "items": {
                      "description": "Indicates the available property types for a specific domain. Types include: `FAILOVER`, `QTR`, `ASMAPPING`, `CIDRMAPPING`, `GEOGRAPHIC`, `WEIGHTED_ROUND_ROBIN`, `WEIGHTED_ROUND_ROBIN_LOAD_FEEDBACK`, `WEIGHTED_HASHED`, and `PERFORMANCE`.",
                      "enum": [
                        "FAILOVER",
                        "QTR",
                        "ASMAPPING",
                        "CIDRMAPPING",
                        "GEOGRAPHIC",
                        "WEIGHTED_ROUND_ROBIN",
                        "WEIGHTED_ROUND_ROBIN_LOAD_FEEDBACK",
                        "WEIGHTED_HASHED",
                        "PERFORMANCE"
                      ],
                      "type": "string"
                    }
                  },
                  "permissions": {
                    "type": "array",
                    "items": {
                      "description": "Identifies the privileges set to modify or delete any of the `properties` within a specific domain. Values include: `READ`, `WRITE`, `ADD`, and `ADD_DATACENTER`.",
                      "enum": [
                        "READ",
                        "WRITE",
                        "ADD",
                        "ADD_DATACENTER"
                      ],
                      "type": "string"
                    }
                  }
                }
              }
            },
            "email": {
              "description": "The email address of the client on the account.",
              "type": "string"
            },
            "firstName": {
              "description": "The first name of the client on the account.",
              "type": "string"
            },
            "lastName": {
              "description": "The last name of the client on the account.",
              "type": "string"
            },
            "locale": {
              "description": "Indicates the client's language and country in [RFC 5646](https://tools.ietf.org/html/rfc5646) format.",
              "type": "string"
            },
            "userName": {
              "description": "The username of the client on the account.",
              "type": "string"
            },
            "userTimeZone": {
              "description": "The time zone of the client on the account, which specifies an offset from GTM.",
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getIdentity"
      },
      "task": true
    },
    {
      "name": "getIdentityContracts",
      "summary": "List contracts: Returns a list of API client `contracts`. When\nyou [Create a domain](#postdomains),",
      "description": "List contracts: Returns a list of API client `contracts`. When\nyou [Create a domain](#postdomains), you may need a\n`contractId` under certain circumstances. Run this operation\nto view available values.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Collects information about each contract under a specific GTM account.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "accountId": {
              "description": "A unique identifier for the account where the contract exists.",
              "type": "string"
            },
            "contracts": {
              "type": "array",
              "items": {
                "description": "Collects information about each contract under a specific account.",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "contractId": {
                    "description": "A unique identifier for the contract.",
                    "type": "string"
                  },
                  "contractName": {
                    "description": "A descriptive name for the contract.",
                    "type": "string"
                  },
                  "contractTypeName": {
                    "description": "A descriptive name for the contract type.",
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getIdentityContracts"
      },
      "task": true
    },
    {
      "name": "getIdentityGroups",
      "summary": "List groups: Returns a list of API client `groups` and their\nparameters.  When you [Create a domain",
      "description": "List groups: Returns a list of API client `groups` and their\nparameters.  When you [Create a domain](#postdomains), you may\nneed a `groupId` under certain circumstances. Run this\noperation to view available values.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Collects information about each group under a specific GTM account.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "groups": {
              "type": "array",
              "items": {
                "description": "Collects information about each group under a specific GTM account. For details on how to modify group permissions, see the [Identity Management: User Administration API](https://developer.akamai.com/api/core_features/identity_management_user_admin/v2.html).",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "contractIds": {
                    "type": "array",
                    "items": {
                      "description": "A unique identifier for the contract.",
                      "type": "string"
                    }
                  },
                  "groupId": {
                    "description": "A unique identifier for the group.",
                    "type": "integer"
                  },
                  "groupName": {
                    "description": "A descriptive name for the group.",
                    "type": "string"
                  },
                  "permissions": {
                    "type": "array",
                    "items": {
                      "description": "Identifies the privileges set for each group under the account. These privileges let you create a domain, modify, or delete any of the `properties` within a specific domain. Values include: `READ`, `WRITE`, `ADD`, and `ADD_DATACENTER`.",
                      "enum": [
                        "READ",
                        "WRITE",
                        "ADD",
                        "ADD_DATACENTER"
                      ],
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getIdentityGroups"
      },
      "task": true
    },
    {
      "name": "getDomainNameProperties",
      "summary": "List properties: Returns a list of GTM properties.",
      "description": "List properties: Returns a list of GTM properties.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "items": {
              "type": "array",
              "items": {
                "type": "object"
              }
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameProperties"
      },
      "task": true
    },
    {
      "name": "getDomainNamePropertiesPropertyName",
      "summary": "Get a property: Returns information for a specific GTM property.",
      "description": "Get a property: Returns information for a specific GTM property.",
      "input": [
        {
          "name": "propertyName",
          "type": "string",
          "info": "A unique name for the property that when joined to the\n`domainName` with a dot (`.`) separator, it forms a valid\n[RFC 1123](https://tools.ietf.org/html/rfc1123) hostname....(description truncated): string",
          "required": true,
          "schema": {
            "title": "propertyName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the entire GTM property configuration.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "backupCName": {
              "description": "Specifies a `backupCName`. If GTM declares that all of the servers configured for your property are down, and you configured a `backupCName`, then queries for the property return the `backupCName`. If a `backupCName` is set, do not set a `backupIp`.",
              "type": "string"
            },
            "backupIp": {
              "description": "Specifies a backup IP. When GTM declares that all of the targets are down, the `backupIP` is handed out. The IP type coincides with the property's `iPv6` setting. If a `backupIp` is set, do not set a `backupCName`.",
              "type": "string"
            },
            "balanceByDownloadScore": {
              "description": "Indicates whether download score based load balancing is enabled. GTM estimates the load on your data centers based on how long they take to respond to GTM liveness tests. The advantage: you do not need to implement a load object. The disadvantage: it's a very crude measure of load, and usually highly nonlinear. As load increases, download times do not increase significantly, until there is too much load. When that happens, the download times skyrocket. This can easily cause erratic load balancing or load oscillations.",
              "type": "boolean"
            },
            "cname": {
              "description": "Indicates the fully qualified name aliased to a particular property. The public name of the property.",
              "type": "string"
            },
            "dynamicTTL": {
              "minimum": 30,
              "maximum": 3600,
              "description": "Indicates the TTL in seconds for records that might change dynamically based on liveness and load balancing such as A and AAAA records, and CNAMEs. The value ranges from `30` to `3600` and can change on request. The default is `60`.",
              "type": "integer"
            },
            "failbackDelay": {
              "minimum": 0,
              "description": "Specifies the failback delay in seconds. The minimum value is `0`. If specified, when a server has been down and comes back up, (that is, its liveness test starts succeeding again), GTM only considers it up after the failback delay has elapsed and tests continue to succeed.",
              "type": "integer"
            },
            "failoverDelay": {
              "minimum": 0,
              "description": "Specifies the failover delay in seconds. The minimum value is `0`. If specified, when a server begins failing its liveness test, GTM only considers it down after the failover delay has elapsed and the errors persist.",
              "type": "integer"
            },
            "handoutMode": {
              "description": "Specifies how IPs are returned when more than one IP is alive and available. Either `normal`, `persistent`, `one-ip`, `one-ip-hashed`, or `all-live-ips`. The default is `normal`. Handout mode is relevant only when you have more than one server IP in a data center.",
              "enum": [
                "normal",
                "persistent",
                "one-ip",
                "one-ip-hashed",
                "all-live-ips"
              ],
              "type": "string"
            },
            "healthMax": {
              "description": "Defines the absolute limit beyond which IPs are declared unhealthy. If backup CNAMEs are provided for a property, then it is reasonable for all IPs to be declared unhealthy. The `healthMax` value is multiplied by the smaller of the `timeoutPenalty` and the `errorPenalty`. Any server with a score greater than this product is declared down. The default value is `null`.",
              "type": "number"
            },
            "healthMultiplier": {
              "description": "Configures a cutoff value that is computed from the median scores. Any server with a score over the cutoff value is considered down, and load is not sent to it. The cutoff is computed from the minimum score across all data centers, for a given property and two object members: `healthMultiplier` and `healthThreshold`. The cutoff is either `healthMultiplier` (default value: 1.5) times the minimum score, or the `healthThreshold` (default value: 4), whichever is greater. See also `healthThreshold` within this object. For more information on how to determine server liveness, see the [Global Traffic Management User Guide]({{base.url}}/{{page.language}}/webhelp/global-traffic-management/global-traffic-management-user-guide/).",
              "type": "number"
            },
            "healthThreshold": {
              "description": "Configures a cutoff value that is computed from the median scores. Any server with a score over the cutoff value is considered down, and load is not sent to it. See also `healthMultiplier` within this object. For more information on how to determine server liveness, see the [Global Traffic Management User Guide]({{base.url}}/{{page.language}}/webhelp/global-traffic-management/global-traffic-management-user-guide/).",
              "type": "number"
            },
            "ipv6": {
              "description": "Indicates the type of IP address handed out by a property. A `true` value indicates that all IP addresses specified are IPv6, and all hostnames need to resolve to AAAA records. A `false` value indicates IPv4 addresses, and all hostnames need to resolve to A records.",
              "type": "boolean"
            },
            "livenessTests": {
              "description": "Contains information about the liveness tests, which are run periodically to determine whether your servers respond to requests.",
              "type": "array",
              "items": {
                "description": "Contains information about the liveness tests, which are run periodically to determine whether your servers respond to requests, as discussed in [API concepts](#apiconcepts).",
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "disableNonstandardPortWarning": {
                    "description": "Disables warnings when non-standard ports are used. For example, GTM does not emit a warning to specify port 1234 when the `testObjectProtocol` is `http`, as HTTP typically uses port 80. The default is `false`.",
                    "type": "boolean"
                  },
                  "hostHeader": {
                    "maxLength": 256,
                    "description": "Sent if the `testObjectProtocol` is `http` or `https`, up to 256 non-space, alphanumeric characters.",
                    "type": "string"
                  },
                  "httpError3xx": {
                    "description": "Treats a 3xx HTTP response as a failure if the `testObjectProtocol` is `http`, `https`, or `ftp`.",
                    "type": "boolean"
                  },
                  "httpError4xx": {
                    "description": "Treats a 4xx HTTP response as a failure if the `testObjectProtocol` is `http`, `https`, or `ftp`.",
                    "type": "boolean"
                  },
                  "httpError5xx": {
                    "description": "Treats a 5xx HTTP response as a failure if the `testObjectProtocol` is `http`, `https`, or `ftp`.",
                    "type": "boolean"
                  },
                  "name": {
                    "minLength": 1,
                    "maxLength": 128,
                    "description": "A descriptive name for the liveness test.",
                    "type": "string"
                  },
                  "requestString": {
                    "maxLength": 4000,
                    "description": "Specifies a request string. Required if `testObjectProtocol` is `tcp` or `tcps`. The value is a maximum of 4000 non-space, alphanumeric characters.",
                    "type": "string"
                  },
                  "responseString": {
                    "maxLength": 4000,
                    "description": "Specifies a response string. Required if `testObjectProtocol` is `tcp` or `tcps`. Maximum 4000 characters.",
                    "type": "string"
                  },
                  "sslClientCertificate": {
                    "description": "Indicates a Base64-encoded certificate. SSL client certificates are available for `livenessTests` that use secure protocols.",
                    "type": "string"
                  },
                  "sslClientPrivateKey": {
                    "description": "Indicates a Base64-encoded private key. The private key used to generate or request a certificate for `livenessTests` can't have a passphrase nor be used for any other purpose.",
                    "type": "string"
                  },
                  "testInterval": {
                    "minimum": 10,
                    "description": "Indicates the interval at which the liveness test is run, in seconds. Requires a minimum of 10 seconds.",
                    "type": "integer"
                  },
                  "testObject": {
                    "maxLength": 256,
                    "description": "Specifies the static text that acts as a stand-in for the data that you're sending on the network.",
                    "type": "string"
                  },
                  "testObjectPassword": {
                    "maxLength": 128,
                    "description": "Specifies the test object's password. It is required if `testObjectProtocol` is `ftp`. Maximum is 128 characters.",
                    "type": "string"
                  },
                  "testObjectPort": {
                    "minimum": 1,
                    "maximum": 65535,
                    "description": "Specifies the port number for the `testObject`. Value from `1` to `65535`.",
                    "type": "integer"
                  },
                  "testObjectProtocol": {
                    "description": "Specifies the test protocol. Either`DNS`, `HTTP`, `HTTPS`, `FTP`, `POP`, `POPS`, `SMTP`, `SMTPS`, `TCP`, or `TCPS`. Enable the `testObjectProtocol` for `DNS`. Requires `application/vnd.config-gtm.v1.3+json`.",
                    "enum": [
                      "HTTP",
                      "HTTPS",
                      "FTP",
                      "POP",
                      "POPS",
                      "SMTP",
                      "SMTPS",
                      "TCP",
                      "TCPS"
                    ],
                    "type": "string"
                  },
                  "testObjectUsername": {
                    "maxLength": 512,
                    "description": "A descriptive name for the `testObject`. If `testObjectProtocol` is `ftp`, then `testObjectUsername` is required. The value is a maximum of 256 non-space, alphanumeric characters.",
                    "type": "string"
                  },
                  "testTimeout": {
                    "minimum": 0.001,
                    "description": "Specifies the duration of the liveness test before it fails. The range is from `0.001` to `60` seconds. The default value is `25` seconds.",
                    "type": "number"
                  }
                },
                "required": [
                  "disableNonstandardPortWarning",
                  "hostHeader",
                  "httpError3xx",
                  "httpError4xx",
                  "httpError5xx",
                  "name",
                  "requestString",
                  "responseString",
                  "sslClientCertificate",
                  "sslClientPrivateKey",
                  "testInterval",
                  "testObject",
                  "testObjectPassword",
                  "testObjectPort",
                  "testObjectProtocol",
                  "testObjectUsername",
                  "testTimeout"
                ]
              }
            },
            "loadImbalancePercentage": {
              "minimum": 0,
              "maximum": 1000000,
              "description": "Indicates the percent of load imbalance factor (LIF) for the property. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of `25` percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage; zero means no load imbalance is allowed at all. However, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, which is displayed as `10.0` percent. The allowable range is `0` to `1000000` percent.",
              "type": "number"
            },
            "mapName": {
              "description": "A descriptive label for a [GeographicMap](#geographicmap) or a [CidrMap](#cidrmap) that's required if the property is either  `geographic` or `cidrmapping`, in which case `mapName` needs to reference either an existing [GeographicMap](#geographicmap) or [CidrMap](#cidrmap) in the same domain.",
              "type": "string"
            },
            "maxUnreachablePenalty": {
              "minimum": 0,
              "description": "For `performance` domains, this specifies a penalty value that's added to liveness test scores when data centers show an aggregated loss fraction higher than the penalty value. The penalty value is either `maxUnreachablePenalty` (minimum value is `0` and the default is `null`) or `unreachableThreshold` (decimal between `0` and `1`. A value of 1.0 or `null` disables an unreachable penalty). See also `unreachableThreshold` within this object.",
              "type": "number"
            },
            "mxRecords": {
              "type": "array",
              "items": {
                "description": "Specifies the MX records handed out to `MX` record type queries. Note that mapping and liveness testing aren't done. The same MX records are handed out for every request.",
                "type": "object",
                "properties": {
                  "exchange": {
                    "description": "MX record exchange field",
                    "type": "string"
                  },
                  "preference": {
                    "description": "MX record preference field",
                    "type": "number"
                  }
                },
                "required": [
                  "exchange",
                  "preference"
                ]
              }
            },
            "name": {
              "maxLength": 256,
              "pattern": "^(@|[\\w-]+(\\.[\\w-]+)*)$",
              "description": "The value, together with the full GTM `domainName`, forms the property's hostname. The value should not begin or end with a dot (`.`), and needs to be a valid [RFC 1123](https://tools.ietf.org/html/rfc1123) hostname. Set the name to `@` if the property is to be located at the apex of the domain.",
              "type": "string"
            },
            "scoreAggregationType": {
              "description": "Specifies how GTM aggregates liveness test scores across different tests, when multiple tests are configured. Values are `mean`, `median`, `best`, or the default `worst`.",
              "enum": [
                "mean",
                "median",
                "best",
                "worst"
              ],
              "type": "string"
            },
            "staticTTL": {
              "minimum": 30,
              "maximum": 3600,
              "description": "Specifies the TTL in seconds for static resource records that do not change based on the requesting name server IP. This includes MX, TXT, and SPF records.",
              "type": "integer"
            },
            "stickinessBonusPercentage": {
              "minimum": 0,
              "maximum": 100,
              "description": "Specifies a percentage used to configure data center affinity. This only applies if the property `type` is `performance` and the domain `type` is `full`. The value ranges from `0` to `100`. See also `stickinessBonusConstant` within this object. To learn more about how these object members relate to each other, see [API concepts](#apiconcepts).",
              "type": "integer"
            },
            "stickinessBonusConstant": {
              "minimum": 0,
              "maximum": 30000,
              "description": "Specifies a constant used to configure data center affinity. This only applies if the property `type` is `performance` and the domain `type` is `full`. The value ranges from `0` to `30000`. See also `stickinessBonusPercentage` within this object. To learn more about how these object members relate to each other, see [API concepts](#apiconcepts).",
              "type": "integer"
            },
            "trafficTargets": {
              "type": "array",
              "items": {
                "description": "Contains information about where to direct data center traffic. For geographic mapped properties, it is always a `cname`. For mirror failover properties, it can be any set of servers. For load balanced properties, this is a set of servers that are all within the same data center. You can have multiple traffic targets associated with the same data center.",
                "type": "object",
                "properties": {
                  "datacenterId": {
                    "description": "A unique identifier for an existing data center in the domain.",
                    "type": "integer"
                  },
                  "enabled": {
                    "description": "Indicates whether the traffic target is used. You can also omit the traffic target, which has the same result as the `false` value. However, when the value is `false`, GTM continues to store the other traffic target fields in the database. There's no need to store them locally should you want to use the traffic target at a later time.",
                    "type": "boolean"
                  },
                  "handoutCName": {
                    "maxLength": 255,
                    "description": "Specifies an optional data center for the property. The `handoutCName` is used when there are no servers configured for the property. Maximum 63 characters for the labels, 255 characters overall. May contain alphanumeric, hyphens, and underscores, but not literal IP addresses. Leading or trailing hyphens are not allowed.",
                    "type": "string"
                  },
                  "weight": {
                    "minimum": 0,
                    "description": "Specifies the traffic weight for the target. This parameter is required when the enclosing property is `failover`, `weighted`, `weighted-with-load-feedback`, or `performance`. The sum of this value, for all enabled targets, needs to add up to 100. For `failover` properties, set this value to `1` for the traffic target you want to mark as _primary_. For `weighted`, `weighted-with-load-feedback` or `performance`, set this to the percentage of the total load.",
                    "type": "number"
                  },
                  "servers": {
                    "type": "array",
                    "items": {
                      "description": "Identifies the IP address or the hostnames of the servers. For hostnames that return IP addresses, all IP addresses are tested for liveness.",
                      "type": "string"
                    }
                  },
                  "name": {
                    "description": "An alternative label for the traffic target.",
                    "type": "string"
                  }
                }
              }
            },
            "type": {
              "description": "Specifies the load balancing behavior for the property. Either `failover`, `geographic`, `cidrmapping`, `weighted-round-robin`, `weighted-hashed`, `weighted-round-robin-load-feedback`, `qtr`, or `performance`. An additional value of `asmapping` requires the `application/vnd.config-gtm.v1.1+json` media type. See [API versioning](#versioning) for more information.",
              "enum": [
                "failover",
                "geographic",
                "cidrmapping",
                "weighted-round-robin",
                "weighted-hashed",
                "weighted-round-robin-load-feedback",
                "qtr",
                "performance"
              ],
              "type": "string"
            },
            "unreachableThreshold": {
              "minimum": 0,
              "maximum": 1,
              "description": "For `performance` domains, this specifies a penalty value that's added to liveness test scores when data centers have an aggregated loss fraction higher than this value. The value is a decimal between `0` and `1`. A value of `1.0` or `null` disables an unreachable penalty. See also `maxUnreachablePenalty` within this object.",
              "type": "number"
            },
            "useComputedTargets": {
              "description": "For `load-feedback` domains only, this specifies that you want GTM to automatically compute target load. Report only the current load objects, either by omission, or by using non-XML load objects.",
              "type": "boolean"
            },
            "lastModified": {
              "format": "date-time",
              "description": "An ISO 8601 timestamp that indicates when the property was last changed.",
              "type": "string"
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Provides a URL path that allows direct navigation to the property."
              }
            }
          },
          "required": [
            "backupCName",
            "backupIp",
            "balanceByDownloadScore",
            "cname",
            "dynamicTTL",
            "failbackDelay",
            "failoverDelay",
            "handoutMode",
            "healthMax",
            "healthMultiplier",
            "healthThreshold",
            "ipv6",
            "livenessTests",
            "loadImbalancePercentage",
            "mapName",
            "maxUnreachablePenalty",
            "mxRecords",
            "name",
            "scoreAggregationType",
            "staticTTL",
            "stickinessBonusPercentage",
            "stickinessBonusConstant",
            "trafficTargets",
            "type",
            "unreachableThreshold",
            "useComputedTargets",
            "lastModified"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNamePropertiesPropertyName"
      },
      "task": true
    },
    {
      "name": "putDomainNamePropertiesPropertyName",
      "summary": "Create or update a property: Run this operation to create or\nupdate a GTM property.",
      "description": "Create or update a property: Run this operation to create or\nupdate a GTM property.",
      "input": [
        {
          "name": "propertyName",
          "type": "string",
          "info": "A unique name for the property that when joined to the\n`domainName` with a dot (`.`) separator, it forms a valid\n[RFC 1123](https://tools.ietf.org/html/rfc1123) hostname....(description truncated): string",
          "required": true,
          "schema": {
            "title": "propertyName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"backupCName\": \"string\", \"backupIp\": \"string\", \"balanceByDownloadScore\": \"boolean\", \"cname\": \"string\", \"dynamicTTL\": 123, \"failbackDelay\": 123, \"failoverDelay\": 123, \"handoutMode\": \"Must be one of [normal, persistent, one-ip, one-ip-hashed, all-live-ips]\", \"healthMax\": 123, \"healthMultiplier\": 123, \"healthThreshold\": 123, \"ipv6\": \"boolean\", \"livenessTests\": [{\"disableNonstandardPortWarning\": \"boolean\", \"hostHeader\": \"string\", \"httpError3xx\": \"boolean\", \"httpError4xx\": \"boolean\", \"httpError5xx\": \"boolean\", \"name\": \"string\", \"requestString\": \"string\", \"responseString\": \"string\", \"sslClientCertificate\": \"string\", \"sslClientPrivateKey\": \"string\", \"testInterval\": 123, \"testObject\": \"string\", \"testObjectPassword\": \"string\", \"testObjectPort\": 123, \"testObjectProtocol\": \"Must be one of [HTTP, HTTPS, FTP, POP, POPS, SMTP, SMTPS, TCP, TCPS]\", \"testObjectUsername\": \"string\", \"testTimeout\": 123}], \"loadImbalancePercentage\": 123, \"mapName\": \"string\", \"maxUnreachablePenalty\": 123, \"mxRecords\": [{\"exchange\": \"string\", \"preference\": 123}], \"name\": \"string\", \"scoreAggregationType\": \"Must be one of [mean, median, best, worst]\", \"staticTTL\": 123, \"stickinessBonusPercentage\": 123, \"stickinessBonusConstant\": 123, \"trafficTargets\": [{\"datacenterId\": 123, \"enabled\": \"boolean\", \"handoutCName\": \"string\", \"weight\": 123, \"servers\": \"array\", \"name\": \"string\"}], \"type\": \"Must be one of [failover, geographic, cidrmapping, weighted-round-robin, weighted-hashed, weighted-round-robin-load-feedback, qtr, performance]\", \"unreachableThreshold\": 123, \"useComputedTargets\": \"boolean\", \"lastModified\": \"string\", \"links\": \"array\"}",
          "required": false,
          "schema": {
            "description": "Contains information about the entire GTM property configuration.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "backupCName": {
                "description": "Specifies a `backupCName`. If GTM declares that all of the servers configured for your property are down, and you configured a `backupCName`, then queries for the property return the `backupCName`. If a `backupCName` is set, do not set a `backupIp`.",
                "type": "string"
              },
              "backupIp": {
                "description": "Specifies a backup IP. When GTM declares that all of the targets are down, the `backupIP` is handed out. The IP type coincides with the property's `iPv6` setting. If a `backupIp` is set, do not set a `backupCName`.",
                "type": "string"
              },
              "balanceByDownloadScore": {
                "description": "Indicates whether download score based load balancing is enabled. GTM estimates the load on your data centers based on how long they take to respond to GTM liveness tests. The advantage: you do not need to implement a load object. The disadvantage: it's a very crude measure of load, and usually highly nonlinear. As load increases, download times do not increase significantly, until there is too much load. When that happens, the download times skyrocket. This can easily cause erratic load balancing or load oscillations.",
                "type": "boolean"
              },
              "cname": {
                "description": "Indicates the fully qualified name aliased to a particular property. The public name of the property.",
                "type": "string"
              },
              "dynamicTTL": {
                "minimum": 30,
                "maximum": 3600,
                "description": "Indicates the TTL in seconds for records that might change dynamically based on liveness and load balancing such as A and AAAA records, and CNAMEs. The value ranges from `30` to `3600` and can change on request. The default is `60`.",
                "type": "integer"
              },
              "failbackDelay": {
                "minimum": 0,
                "description": "Specifies the failback delay in seconds. The minimum value is `0`. If specified, when a server has been down and comes back up, (that is, its liveness test starts succeeding again), GTM only considers it up after the failback delay has elapsed and tests continue to succeed.",
                "type": "integer"
              },
              "failoverDelay": {
                "minimum": 0,
                "description": "Specifies the failover delay in seconds. The minimum value is `0`. If specified, when a server begins failing its liveness test, GTM only considers it down after the failover delay has elapsed and the errors persist.",
                "type": "integer"
              },
              "handoutMode": {
                "description": "Specifies how IPs are returned when more than one IP is alive and available. Either `normal`, `persistent`, `one-ip`, `one-ip-hashed`, or `all-live-ips`. The default is `normal`. Handout mode is relevant only when you have more than one server IP in a data center.",
                "enum": [
                  "normal",
                  "persistent",
                  "one-ip",
                  "one-ip-hashed",
                  "all-live-ips"
                ],
                "type": "string"
              },
              "healthMax": {
                "description": "Defines the absolute limit beyond which IPs are declared unhealthy. If backup CNAMEs are provided for a property, then it is reasonable for all IPs to be declared unhealthy. The `healthMax` value is multiplied by the smaller of the `timeoutPenalty` and the `errorPenalty`. Any server with a score greater than this product is declared down. The default value is `null`.",
                "type": "number"
              },
              "healthMultiplier": {
                "description": "Configures a cutoff value that is computed from the median scores. Any server with a score over the cutoff value is considered down, and load is not sent to it. The cutoff is computed from the minimum score across all data centers, for a given property and two object members: `healthMultiplier` and `healthThreshold`. The cutoff is either `healthMultiplier` (default value: 1.5) times the minimum score, or the `healthThreshold` (default value: 4), whichever is greater. See also `healthThreshold` within this object. For more information on how to determine server liveness, see the [Global Traffic Management User Guide]({{base.url}}/{{page.language}}/webhelp/global-traffic-management/global-traffic-management-user-guide/).",
                "type": "number"
              },
              "healthThreshold": {
                "description": "Configures a cutoff value that is computed from the median scores. Any server with a score over the cutoff value is considered down, and load is not sent to it. See also `healthMultiplier` within this object. For more information on how to determine server liveness, see the [Global Traffic Management User Guide]({{base.url}}/{{page.language}}/webhelp/global-traffic-management/global-traffic-management-user-guide/).",
                "type": "number"
              },
              "ipv6": {
                "description": "Indicates the type of IP address handed out by a property. A `true` value indicates that all IP addresses specified are IPv6, and all hostnames need to resolve to AAAA records. A `false` value indicates IPv4 addresses, and all hostnames need to resolve to A records.",
                "type": "boolean"
              },
              "livenessTests": {
                "description": "Contains information about the liveness tests, which are run periodically to determine whether your servers respond to requests.",
                "type": "array",
                "items": {
                  "description": "Contains information about the liveness tests, which are run periodically to determine whether your servers respond to requests, as discussed in [API concepts](#apiconcepts).",
                  "type": "object",
                  "additionalProperties": false,
                  "properties": {
                    "disableNonstandardPortWarning": {
                      "description": "Disables warnings when non-standard ports are used. For example, GTM does not emit a warning to specify port 1234 when the `testObjectProtocol` is `http`, as HTTP typically uses port 80. The default is `false`.",
                      "type": "boolean"
                    },
                    "hostHeader": {
                      "maxLength": 256,
                      "description": "Sent if the `testObjectProtocol` is `http` or `https`, up to 256 non-space, alphanumeric characters.",
                      "type": "string"
                    },
                    "httpError3xx": {
                      "description": "Treats a 3xx HTTP response as a failure if the `testObjectProtocol` is `http`, `https`, or `ftp`.",
                      "type": "boolean"
                    },
                    "httpError4xx": {
                      "description": "Treats a 4xx HTTP response as a failure if the `testObjectProtocol` is `http`, `https`, or `ftp`.",
                      "type": "boolean"
                    },
                    "httpError5xx": {
                      "description": "Treats a 5xx HTTP response as a failure if the `testObjectProtocol` is `http`, `https`, or `ftp`.",
                      "type": "boolean"
                    },
                    "name": {
                      "minLength": 1,
                      "maxLength": 128,
                      "description": "A descriptive name for the liveness test.",
                      "type": "string"
                    },
                    "requestString": {
                      "maxLength": 4000,
                      "description": "Specifies a request string. Required if `testObjectProtocol` is `tcp` or `tcps`. The value is a maximum of 4000 non-space, alphanumeric characters.",
                      "type": "string"
                    },
                    "responseString": {
                      "maxLength": 4000,
                      "description": "Specifies a response string. Required if `testObjectProtocol` is `tcp` or `tcps`. Maximum 4000 characters.",
                      "type": "string"
                    },
                    "sslClientCertificate": {
                      "description": "Indicates a Base64-encoded certificate. SSL client certificates are available for `livenessTests` that use secure protocols.",
                      "type": "string"
                    },
                    "sslClientPrivateKey": {
                      "description": "Indicates a Base64-encoded private key. The private key used to generate or request a certificate for `livenessTests` can't have a passphrase nor be used for any other purpose.",
                      "type": "string"
                    },
                    "testInterval": {
                      "minimum": 10,
                      "description": "Indicates the interval at which the liveness test is run, in seconds. Requires a minimum of 10 seconds.",
                      "type": "integer"
                    },
                    "testObject": {
                      "maxLength": 256,
                      "description": "Specifies the static text that acts as a stand-in for the data that you're sending on the network.",
                      "type": "string"
                    },
                    "testObjectPassword": {
                      "maxLength": 128,
                      "description": "Specifies the test object's password. It is required if `testObjectProtocol` is `ftp`. Maximum is 128 characters.",
                      "type": "string"
                    },
                    "testObjectPort": {
                      "minimum": 1,
                      "maximum": 65535,
                      "description": "Specifies the port number for the `testObject`. Value from `1` to `65535`.",
                      "type": "integer"
                    },
                    "testObjectProtocol": {
                      "description": "Specifies the test protocol. Either`DNS`, `HTTP`, `HTTPS`, `FTP`, `POP`, `POPS`, `SMTP`, `SMTPS`, `TCP`, or `TCPS`. Enable the `testObjectProtocol` for `DNS`. Requires `application/vnd.config-gtm.v1.3+json`.",
                      "enum": [
                        "HTTP",
                        "HTTPS",
                        "FTP",
                        "POP",
                        "POPS",
                        "SMTP",
                        "SMTPS",
                        "TCP",
                        "TCPS"
                      ],
                      "type": "string"
                    },
                    "testObjectUsername": {
                      "maxLength": 512,
                      "description": "A descriptive name for the `testObject`. If `testObjectProtocol` is `ftp`, then `testObjectUsername` is required. The value is a maximum of 256 non-space, alphanumeric characters.",
                      "type": "string"
                    },
                    "testTimeout": {
                      "minimum": 0.001,
                      "description": "Specifies the duration of the liveness test before it fails. The range is from `0.001` to `60` seconds. The default value is `25` seconds.",
                      "type": "number"
                    }
                  },
                  "required": [
                    "disableNonstandardPortWarning",
                    "hostHeader",
                    "httpError3xx",
                    "httpError4xx",
                    "httpError5xx",
                    "name",
                    "requestString",
                    "responseString",
                    "sslClientCertificate",
                    "sslClientPrivateKey",
                    "testInterval",
                    "testObject",
                    "testObjectPassword",
                    "testObjectPort",
                    "testObjectProtocol",
                    "testObjectUsername",
                    "testTimeout"
                  ]
                }
              },
              "loadImbalancePercentage": {
                "minimum": 0,
                "maximum": 1000000,
                "description": "Indicates the percent of load imbalance factor (LIF) for the property. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of `25` percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage; zero means no load imbalance is allowed at all. However, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, which is displayed as `10.0` percent. The allowable range is `0` to `1000000` percent.",
                "type": "number"
              },
              "mapName": {
                "description": "A descriptive label for a [GeographicMap](#geographicmap) or a [CidrMap](#cidrmap) that's required if the property is either  `geographic` or `cidrmapping`, in which case `mapName` needs to reference either an existing [GeographicMap](#geographicmap) or [CidrMap](#cidrmap) in the same domain.",
                "type": "string"
              },
              "maxUnreachablePenalty": {
                "minimum": 0,
                "description": "For `performance` domains, this specifies a penalty value that's added to liveness test scores when data centers show an aggregated loss fraction higher than the penalty value. The penalty value is either `maxUnreachablePenalty` (minimum value is `0` and the default is `null`) or `unreachableThreshold` (decimal between `0` and `1`. A value of 1.0 or `null` disables an unreachable penalty). See also `unreachableThreshold` within this object.",
                "type": "number"
              },
              "mxRecords": {
                "type": "array",
                "items": {
                  "description": "Specifies the MX records handed out to `MX` record type queries. Note that mapping and liveness testing aren't done. The same MX records are handed out for every request.",
                  "type": "object",
                  "properties": {
                    "exchange": {
                      "description": "MX record exchange field",
                      "type": "string"
                    },
                    "preference": {
                      "description": "MX record preference field",
                      "type": "number"
                    }
                  },
                  "required": [
                    "exchange",
                    "preference"
                  ]
                }
              },
              "name": {
                "maxLength": 256,
                "pattern": "^(@|[\\w-]+(\\.[\\w-]+)*)$",
                "description": "The value, together with the full GTM `domainName`, forms the property's hostname. The value should not begin or end with a dot (`.`), and needs to be a valid [RFC 1123](https://tools.ietf.org/html/rfc1123) hostname. Set the name to `@` if the property is to be located at the apex of the domain.",
                "type": "string"
              },
              "scoreAggregationType": {
                "description": "Specifies how GTM aggregates liveness test scores across different tests, when multiple tests are configured. Values are `mean`, `median`, `best`, or the default `worst`.",
                "enum": [
                  "mean",
                  "median",
                  "best",
                  "worst"
                ],
                "type": "string"
              },
              "staticTTL": {
                "minimum": 30,
                "maximum": 3600,
                "description": "Specifies the TTL in seconds for static resource records that do not change based on the requesting name server IP. This includes MX, TXT, and SPF records.",
                "type": "integer"
              },
              "stickinessBonusPercentage": {
                "minimum": 0,
                "maximum": 100,
                "description": "Specifies a percentage used to configure data center affinity. This only applies if the property `type` is `performance` and the domain `type` is `full`. The value ranges from `0` to `100`. See also `stickinessBonusConstant` within this object. To learn more about how these object members relate to each other, see [API concepts](#apiconcepts).",
                "type": "integer"
              },
              "stickinessBonusConstant": {
                "minimum": 0,
                "maximum": 30000,
                "description": "Specifies a constant used to configure data center affinity. This only applies if the property `type` is `performance` and the domain `type` is `full`. The value ranges from `0` to `30000`. See also `stickinessBonusPercentage` within this object. To learn more about how these object members relate to each other, see [API concepts](#apiconcepts).",
                "type": "integer"
              },
              "trafficTargets": {
                "type": "array",
                "items": {
                  "description": "Contains information about where to direct data center traffic. For geographic mapped properties, it is always a `cname`. For mirror failover properties, it can be any set of servers. For load balanced properties, this is a set of servers that are all within the same data center. You can have multiple traffic targets associated with the same data center.",
                  "type": "object",
                  "properties": {
                    "datacenterId": {
                      "description": "A unique identifier for an existing data center in the domain.",
                      "type": "integer"
                    },
                    "enabled": {
                      "description": "Indicates whether the traffic target is used. You can also omit the traffic target, which has the same result as the `false` value. However, when the value is `false`, GTM continues to store the other traffic target fields in the database. There's no need to store them locally should you want to use the traffic target at a later time.",
                      "type": "boolean"
                    },
                    "handoutCName": {
                      "maxLength": 255,
                      "description": "Specifies an optional data center for the property. The `handoutCName` is used when there are no servers configured for the property. Maximum 63 characters for the labels, 255 characters overall. May contain alphanumeric, hyphens, and underscores, but not literal IP addresses. Leading or trailing hyphens are not allowed.",
                      "type": "string"
                    },
                    "weight": {
                      "minimum": 0,
                      "description": "Specifies the traffic weight for the target. This parameter is required when the enclosing property is `failover`, `weighted`, `weighted-with-load-feedback`, or `performance`. The sum of this value, for all enabled targets, needs to add up to 100. For `failover` properties, set this value to `1` for the traffic target you want to mark as _primary_. For `weighted`, `weighted-with-load-feedback` or `performance`, set this to the percentage of the total load.",
                      "type": "number"
                    },
                    "servers": {
                      "type": "array",
                      "items": {
                        "description": "Identifies the IP address or the hostnames of the servers. For hostnames that return IP addresses, all IP addresses are tested for liveness.",
                        "type": "string"
                      }
                    },
                    "name": {
                      "description": "An alternative label for the traffic target.",
                      "type": "string"
                    }
                  }
                }
              },
              "type": {
                "description": "Specifies the load balancing behavior for the property. Either `failover`, `geographic`, `cidrmapping`, `weighted-round-robin`, `weighted-hashed`, `weighted-round-robin-load-feedback`, `qtr`, or `performance`. An additional value of `asmapping` requires the `application/vnd.config-gtm.v1.1+json` media type. See [API versioning](#versioning) for more information.",
                "enum": [
                  "failover",
                  "geographic",
                  "cidrmapping",
                  "weighted-round-robin",
                  "weighted-hashed",
                  "weighted-round-robin-load-feedback",
                  "qtr",
                  "performance"
                ],
                "type": "string"
              },
              "unreachableThreshold": {
                "minimum": 0,
                "maximum": 1,
                "description": "For `performance` domains, this specifies a penalty value that's added to liveness test scores when data centers have an aggregated loss fraction higher than this value. The value is a decimal between `0` and `1`. A value of `1.0` or `null` disables an unreachable penalty. See also `maxUnreachablePenalty` within this object.",
                "type": "number"
              },
              "useComputedTargets": {
                "description": "For `load-feedback` domains only, this specifies that you want GTM to automatically compute target load. Report only the current load objects, either by omission, or by using non-XML load objects.",
                "type": "boolean"
              },
              "lastModified": {
                "format": "date-time",
                "description": "An ISO 8601 timestamp that indicates when the property was last changed.",
                "type": "string"
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Provides a URL path that allows direct navigation to the property."
                }
              }
            },
            "required": [
              "backupCName",
              "backupIp",
              "balanceByDownloadScore",
              "cname",
              "dynamicTTL",
              "failbackDelay",
              "failoverDelay",
              "handoutMode",
              "healthMax",
              "healthMultiplier",
              "healthThreshold",
              "ipv6",
              "livenessTests",
              "loadImbalancePercentage",
              "mapName",
              "maxUnreachablePenalty",
              "mxRecords",
              "name",
              "scoreAggregationType",
              "staticTTL",
              "stickinessBonusPercentage",
              "stickinessBonusConstant",
              "trafficTargets",
              "type",
              "unreachableThreshold",
              "useComputedTargets",
              "lastModified"
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putDomainNamePropertiesPropertyName"
      },
      "task": true
    },
    {
      "name": "deleteDomainNamePropertiesPropertyName",
      "summary": "Remove a property: Removes a specific GTM property.",
      "description": "Remove a property: Removes a specific GTM property.",
      "input": [
        {
          "name": "propertyName",
          "type": "string",
          "info": "A unique name for the property that when joined to the\n`domainName` with a dot (`.`) separator, it forms a valid\n[RFC 1123](https://tools.ietf.org/html/rfc1123) hostname....(description truncated): string",
          "required": true,
          "schema": {
            "title": "propertyName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteDomainNamePropertiesPropertyName"
      },
      "task": true
    },
    {
      "name": "getDomainNameResources",
      "summary": "List resources: Returns a list of resources created within the\ndomain that constrain one or more pr",
      "description": "List resources: Returns a list of resources created within the\ndomain that constrain one or more properties in a data center.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the resources in the GTM domain.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "aggregationType": {
              "maxLength": 15,
              "description": "Specifies how GTM handles different load numbers when multiple load servers are used for a data center or property. Either `sum`, `median`, or `latest`. For test time load feedback, consider `median`. (Akamai conducts tests from multiple locations, so you can ignore outlying values.) For load feedback with manual targets or dynamic targets, consider `latest` because all load servers normally report similar numbers.",
              "enum": [
                "sum",
                "median",
                "latest"
              ],
              "type": "string"
            },
            "constrainedProperty": {
              "maxLength": 256,
              "description": "Specifies the name of the property that this resource constrains, or `**` to constrain all properties.",
              "type": "string"
            },
            "decayRate": {
              "minimum": 0,
              "maximum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "description": {
              "maxLength": 256,
              "description": "A descriptive note to help you track what the resource constrains. For example, `aggregate bandwidth for all properties`. A maximum of 256 characters.",
              "type": "string"
            },
            "hostHeader": {
              "maxLength": 255,
              "description": "Optionally specifies the host header used when fetching the load object.",
              "type": "string"
            },
            "leaderString": {
              "maxLength": 256,
              "description": "Specifies the text that comes before the `loadObject`. GTM assumes that the current load is the first number to appear after this text, minus any white space. The value is a maximum of 256 characters. The default is `null`. For example, suppose your `loadObject` file contains, _This is a load object. TheLoadIs:497. This is the end of the load object_. Then GTM reads the current load as _497_ if the `leaderString` is set to _TheLoadIs_.",
              "type": "string"
            },
            "leastSquaresDecay": {
              "minimum": 0,
              "maximum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Specifies the URL path that allows direct navigation to the resource."
              }
            },
            "loadImbalancePercentage": {
              "minimum": 0,
              "maximum": 1000000,
              "description": "Indicates the percent of load imbalance factor (LIF) for the property. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage; zero means no load imbalance is allowed at all. However, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, and displayed as 10.0 percent. The allowable range is 0 to 1000000 percent.",
              "type": "number"
            },
            "maxUMultiplicativeIncrement": {
              "minimum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "name": {
              "maxLength": 150,
              "pattern": "^((?!\\s).)*$",
              "description": "A descriptive label for the resource. A maximum 150 non-space characters.",
              "type": "string"
            },
            "resourceInstances": {
              "type": "array",
              "items": {
                "description": "Contains information about the `resources` that constrain the `properties` within the data center.",
                "type": "object",
                "properties": {
                  "datacenterId": {
                    "description": "A unique identifier for an existing data center in the domain.",
                    "type": "integer"
                  },
                  "useDefaultLoadObject": {
                    "description": "Indicates whether a default `loadObject` is used for the resources.",
                    "type": "boolean"
                  },
                  "loadServers": {
                    "type": "array",
                    "items": {
                      "description": "Specifies a list of servers from which to request the load object. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable [RFC 1918](https://tools.ietf.org/html/rfc1918) addresses.",
                      "type": "string"
                    }
                  },
                  "loadObject": {
                    "maxLength": 256,
                    "pattern": "^(?!:).*$",
                    "description": "Identifies the load object file used to report real-time information about the current load, maximum allowable load, and target load on each resource. The maximum permitted length is 256 characters. [Learn more]({{base.url}}/{{page.language}}/webhelp/global-traffic-management/global-traffic-management-user-guide/).",
                    "type": "string"
                  },
                  "loadObjectPort": {
                    "minimum": 0,
                    "maximum": 65535,
                    "description": "Specifies the TCP port of the `loadObject`. The value ranges from `0` to `65535`. If the value is `0`, the default port is either `80` or `443`.",
                    "type": "integer"
                  }
                },
                "required": [
                  "datacenterId"
                ]
              }
            },
            "type": {
              "description": "Indicates the kind of `loadObject` format used to determine the load on the resource. Either `XML load object via HTTP`, `XML load object via HTTPS`, `Non-XML load object via HTTP`, `Non-XML load object via HTTPS`, `Download score`, or `Push API`.",
              "enum": [
                "XML load object via HTTP",
                "XML load object via HTTPS",
                "Non-XML load object via HTTP",
                "Non-XML load object via HTTPS",
                "Download score",
                "Push API"
              ],
              "type": "string"
            },
            "upperBound": {
              "description": "An optional sanity check that specifies the maximum allowed value for any component of the load object. If the `loadObject` contains a number that exceeds this value, the entire load object is rejected as invalid and GTM continues to use the load values from the most recently acquired `loadObject`. To receive an alert when a load object is rejected, log in to [Control Center](https://control.akamai.com), from the Common Services category select Alerts, then create a Load Object File Invalid or Cannot be Fetched alert. [Learn more]({{base.url}}/{{page.language}}/webhelp/alerts/alerts/index.html).",
              "type": "integer"
            }
          },
          "required": [
            "aggregationType",
            "name",
            "type"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameResources"
      },
      "task": true
    },
    {
      "name": "getDomainNameResourcesResourceName",
      "summary": "Get a resource: Returns information for a specific resource.",
      "description": "Get a resource: Returns information for a specific resource.",
      "input": [
        {
          "name": "resourceName",
          "type": "string",
          "info": "Name of the `resource` to create or update.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the resources in the GTM domain.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "aggregationType": {
              "maxLength": 15,
              "description": "Specifies how GTM handles different load numbers when multiple load servers are used for a data center or property. Either `sum`, `median`, or `latest`. For test time load feedback, consider `median`. (Akamai conducts tests from multiple locations, so you can ignore outlying values.) For load feedback with manual targets or dynamic targets, consider `latest` because all load servers normally report similar numbers.",
              "enum": [
                "sum",
                "median",
                "latest"
              ],
              "type": "string"
            },
            "constrainedProperty": {
              "maxLength": 256,
              "description": "Specifies the name of the property that this resource constrains, or `**` to constrain all properties.",
              "type": "string"
            },
            "decayRate": {
              "minimum": 0,
              "maximum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "description": {
              "maxLength": 256,
              "description": "A descriptive note to help you track what the resource constrains. For example, `aggregate bandwidth for all properties`. A maximum of 256 characters.",
              "type": "string"
            },
            "hostHeader": {
              "maxLength": 255,
              "description": "Optionally specifies the host header used when fetching the load object.",
              "type": "string"
            },
            "leaderString": {
              "maxLength": 256,
              "description": "Specifies the text that comes before the `loadObject`. GTM assumes that the current load is the first number to appear after this text, minus any white space. The value is a maximum of 256 characters. The default is `null`. For example, suppose your `loadObject` file contains, _This is a load object. TheLoadIs:497. This is the end of the load object_. Then GTM reads the current load as _497_ if the `leaderString` is set to _TheLoadIs_.",
              "type": "string"
            },
            "leastSquaresDecay": {
              "minimum": 0,
              "maximum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Specifies the URL path that allows direct navigation to the resource."
              }
            },
            "loadImbalancePercentage": {
              "minimum": 0,
              "maximum": 1000000,
              "description": "Indicates the percent of load imbalance factor (LIF) for the property. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage; zero means no load imbalance is allowed at all. However, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, and displayed as 10.0 percent. The allowable range is 0 to 1000000 percent.",
              "type": "number"
            },
            "maxUMultiplicativeIncrement": {
              "minimum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "name": {
              "maxLength": 150,
              "pattern": "^((?!\\s).)*$",
              "description": "A descriptive label for the resource. A maximum 150 non-space characters.",
              "type": "string"
            },
            "resourceInstances": {
              "type": "array",
              "items": {
                "description": "Contains information about the `resources` that constrain the `properties` within the data center.",
                "type": "object",
                "properties": {
                  "datacenterId": {
                    "description": "A unique identifier for an existing data center in the domain.",
                    "type": "integer"
                  },
                  "useDefaultLoadObject": {
                    "description": "Indicates whether a default `loadObject` is used for the resources.",
                    "type": "boolean"
                  },
                  "loadServers": {
                    "type": "array",
                    "items": {
                      "description": "Specifies a list of servers from which to request the load object. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable [RFC 1918](https://tools.ietf.org/html/rfc1918) addresses.",
                      "type": "string"
                    }
                  },
                  "loadObject": {
                    "maxLength": 256,
                    "pattern": "^(?!:).*$",
                    "description": "Identifies the load object file used to report real-time information about the current load, maximum allowable load, and target load on each resource. The maximum permitted length is 256 characters. [Learn more]({{base.url}}/{{page.language}}/webhelp/global-traffic-management/global-traffic-management-user-guide/).",
                    "type": "string"
                  },
                  "loadObjectPort": {
                    "minimum": 0,
                    "maximum": 65535,
                    "description": "Specifies the TCP port of the `loadObject`. The value ranges from `0` to `65535`. If the value is `0`, the default port is either `80` or `443`.",
                    "type": "integer"
                  }
                },
                "required": [
                  "datacenterId"
                ]
              }
            },
            "type": {
              "description": "Indicates the kind of `loadObject` format used to determine the load on the resource. Either `XML load object via HTTP`, `XML load object via HTTPS`, `Non-XML load object via HTTP`, `Non-XML load object via HTTPS`, `Download score`, or `Push API`.",
              "enum": [
                "XML load object via HTTP",
                "XML load object via HTTPS",
                "Non-XML load object via HTTP",
                "Non-XML load object via HTTPS",
                "Download score",
                "Push API"
              ],
              "type": "string"
            },
            "upperBound": {
              "description": "An optional sanity check that specifies the maximum allowed value for any component of the load object. If the `loadObject` contains a number that exceeds this value, the entire load object is rejected as invalid and GTM continues to use the load values from the most recently acquired `loadObject`. To receive an alert when a load object is rejected, log in to [Control Center](https://control.akamai.com), from the Common Services category select Alerts, then create a Load Object File Invalid or Cannot be Fetched alert. [Learn more]({{base.url}}/{{page.language}}/webhelp/alerts/alerts/index.html).",
              "type": "integer"
            }
          },
          "required": [
            "aggregationType",
            "name",
            "type"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameResourcesResourceName"
      },
      "task": true
    },
    {
      "name": "putDomainNameResourcesResourceName",
      "summary": "Create or update a resource: Run this operation to create or\nupdate a resource.",
      "description": "Create or update a resource: Run this operation to create or\nupdate a resource.",
      "input": [
        {
          "name": "resourceName",
          "type": "string",
          "info": "Name of the `resource` to create or update.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"aggregationType\": \"Must be one of [sum, median, latest]\", \"constrainedProperty\": \"string\", \"decayRate\": 123, \"description\": \"string\", \"hostHeader\": \"string\", \"leaderString\": \"string\", \"leastSquaresDecay\": 123, \"links\": \"array\", \"loadImbalancePercentage\": 123, \"maxUMultiplicativeIncrement\": 123, \"name\": \"string\", \"resourceInstances\": [{\"datacenterId\": 123, \"useDefaultLoadObject\": \"boolean\", \"loadServers\": \"array\", \"loadObject\": \"string\", \"loadObjectPort\": 123}], \"type\": \"Must be one of [XML load object via HTTP, XML load object via HTTPS, Non-XML load object via HTTP, Non-XML load object via HTTPS, Download score, Push API]\", \"upperBound\": 123}",
          "required": false,
          "schema": {
            "description": "Contains information about the resources in the GTM domain.",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "aggregationType": {
                "maxLength": 15,
                "description": "Specifies how GTM handles different load numbers when multiple load servers are used for a data center or property. Either `sum`, `median`, or `latest`. For test time load feedback, consider `median`. (Akamai conducts tests from multiple locations, so you can ignore outlying values.) For load feedback with manual targets or dynamic targets, consider `latest` because all load servers normally report similar numbers.",
                "enum": [
                  "sum",
                  "median",
                  "latest"
                ],
                "type": "string"
              },
              "constrainedProperty": {
                "maxLength": 256,
                "description": "Specifies the name of the property that this resource constrains, or `**` to constrain all properties.",
                "type": "string"
              },
              "decayRate": {
                "minimum": 0,
                "maximum": 1,
                "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
                "type": "number"
              },
              "description": {
                "maxLength": 256,
                "description": "A descriptive note to help you track what the resource constrains. For example, `aggregate bandwidth for all properties`. A maximum of 256 characters.",
                "type": "string"
              },
              "hostHeader": {
                "maxLength": 255,
                "description": "Optionally specifies the host header used when fetching the load object.",
                "type": "string"
              },
              "leaderString": {
                "maxLength": 256,
                "description": "Specifies the text that comes before the `loadObject`. GTM assumes that the current load is the first number to appear after this text, minus any white space. The value is a maximum of 256 characters. The default is `null`. For example, suppose your `loadObject` file contains, _This is a load object. TheLoadIs:497. This is the end of the load object_. Then GTM reads the current load as _497_ if the `leaderString` is set to _TheLoadIs_.",
                "type": "string"
              },
              "leastSquaresDecay": {
                "minimum": 0,
                "maximum": 1,
                "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
                "type": "number"
              },
              "links": {
                "type": "array",
                "items": {
                  "description": "Specifies the URL path that allows direct navigation to the resource."
                }
              },
              "loadImbalancePercentage": {
                "minimum": 0,
                "maximum": 1000000,
                "description": "Indicates the percent of load imbalance factor (LIF) for the property. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage; zero means no load imbalance is allowed at all. However, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, and displayed as 10.0 percent. The allowable range is 0 to 1000000 percent.",
                "type": "number"
              },
              "maxUMultiplicativeIncrement": {
                "minimum": 1,
                "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
                "type": "number"
              },
              "name": {
                "maxLength": 150,
                "pattern": "^((?!\\s).)*$",
                "description": "A descriptive label for the resource. A maximum 150 non-space characters.",
                "type": "string"
              },
              "resourceInstances": {
                "type": "array",
                "items": {
                  "description": "Contains information about the `resources` that constrain the `properties` within the data center.",
                  "type": "object",
                  "properties": {
                    "datacenterId": {
                      "description": "A unique identifier for an existing data center in the domain.",
                      "type": "integer"
                    },
                    "useDefaultLoadObject": {
                      "description": "Indicates whether a default `loadObject` is used for the resources.",
                      "type": "boolean"
                    },
                    "loadServers": {
                      "type": "array",
                      "items": {
                        "description": "Specifies a list of servers from which to request the load object. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable [RFC 1918](https://tools.ietf.org/html/rfc1918) addresses.",
                        "type": "string"
                      }
                    },
                    "loadObject": {
                      "maxLength": 256,
                      "pattern": "^(?!:).*$",
                      "description": "Identifies the load object file used to report real-time information about the current load, maximum allowable load, and target load on each resource. The maximum permitted length is 256 characters. [Learn more]({{base.url}}/{{page.language}}/webhelp/global-traffic-management/global-traffic-management-user-guide/).",
                      "type": "string"
                    },
                    "loadObjectPort": {
                      "minimum": 0,
                      "maximum": 65535,
                      "description": "Specifies the TCP port of the `loadObject`. The value ranges from `0` to `65535`. If the value is `0`, the default port is either `80` or `443`.",
                      "type": "integer"
                    }
                  },
                  "required": [
                    "datacenterId"
                  ]
                }
              },
              "type": {
                "description": "Indicates the kind of `loadObject` format used to determine the load on the resource. Either `XML load object via HTTP`, `XML load object via HTTPS`, `Non-XML load object via HTTP`, `Non-XML load object via HTTPS`, `Download score`, or `Push API`.",
                "enum": [
                  "XML load object via HTTP",
                  "XML load object via HTTPS",
                  "Non-XML load object via HTTP",
                  "Non-XML load object via HTTPS",
                  "Download score",
                  "Push API"
                ],
                "type": "string"
              },
              "upperBound": {
                "description": "An optional sanity check that specifies the maximum allowed value for any component of the load object. If the `loadObject` contains a number that exceeds this value, the entire load object is rejected as invalid and GTM continues to use the load values from the most recently acquired `loadObject`. To receive an alert when a load object is rejected, log in to [Control Center](https://control.akamai.com), from the Common Services category select Alerts, then create a Load Object File Invalid or Cannot be Fetched alert. [Learn more]({{base.url}}/{{page.language}}/webhelp/alerts/alerts/index.html).",
                "type": "integer"
              }
            },
            "required": [
              "aggregationType",
              "name",
              "type"
            ]
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the resources in the GTM domain.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "aggregationType": {
              "maxLength": 15,
              "description": "Specifies how GTM handles different load numbers when multiple load servers are used for a data center or property. Either `sum`, `median`, or `latest`. For test time load feedback, consider `median`. (Akamai conducts tests from multiple locations, so you can ignore outlying values.) For load feedback with manual targets or dynamic targets, consider `latest` because all load servers normally report similar numbers.",
              "enum": [
                "sum",
                "median",
                "latest"
              ],
              "type": "string"
            },
            "constrainedProperty": {
              "maxLength": 256,
              "description": "Specifies the name of the property that this resource constrains, or `**` to constrain all properties.",
              "type": "string"
            },
            "decayRate": {
              "minimum": 0,
              "maximum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "description": {
              "maxLength": 256,
              "description": "A descriptive note to help you track what the resource constrains. For example, `aggregate bandwidth for all properties`. A maximum of 256 characters.",
              "type": "string"
            },
            "hostHeader": {
              "maxLength": 255,
              "description": "Optionally specifies the host header used when fetching the load object.",
              "type": "string"
            },
            "leaderString": {
              "maxLength": 256,
              "description": "Specifies the text that comes before the `loadObject`. GTM assumes that the current load is the first number to appear after this text, minus any white space. The value is a maximum of 256 characters. The default is `null`. For example, suppose your `loadObject` file contains, _This is a load object. TheLoadIs:497. This is the end of the load object_. Then GTM reads the current load as _497_ if the `leaderString` is set to _TheLoadIs_.",
              "type": "string"
            },
            "leastSquaresDecay": {
              "minimum": 0,
              "maximum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Specifies the URL path that allows direct navigation to the resource."
              }
            },
            "loadImbalancePercentage": {
              "minimum": 0,
              "maximum": 1000000,
              "description": "Indicates the percent of load imbalance factor (LIF) for the property. The LIF controls how imbalanced GTM allows the load to be. That is the factor by which the demand sent to a data center is permitted to exceed the configured value. For example, with a data center traffic allocation of 25 percent and an LIF of 1.5, the demand sent to the data center is allowed to grow to 37.5 percent (25% &times; 1.5) before the load balancer starts shifting load away from it. The LIF is represented as a percentage; zero means no load imbalance is allowed at all. However, GTM adds one to the LIF so that it can be used as a multiplier. The default LIF is 1.1, and displayed as 10.0 percent. The allowable range is 0 to 1000000 percent.",
              "type": "number"
            },
            "maxUMultiplicativeIncrement": {
              "minimum": 1,
              "description": "For internal use only. Unless Akamai indicates otherwise, omit the value or set it to `null`.",
              "type": "number"
            },
            "name": {
              "maxLength": 150,
              "pattern": "^((?!\\s).)*$",
              "description": "A descriptive label for the resource. A maximum 150 non-space characters.",
              "type": "string"
            },
            "resourceInstances": {
              "type": "array",
              "items": {
                "description": "Contains information about the `resources` that constrain the `properties` within the data center.",
                "type": "object",
                "properties": {
                  "datacenterId": {
                    "description": "A unique identifier for an existing data center in the domain.",
                    "type": "integer"
                  },
                  "useDefaultLoadObject": {
                    "description": "Indicates whether a default `loadObject` is used for the resources.",
                    "type": "boolean"
                  },
                  "loadServers": {
                    "type": "array",
                    "items": {
                      "description": "Specifies a list of servers from which to request the load object. The value needs to contain IPv4 or IPv6 addresses, or DNS names that contain A or AAAA records. If a DNS name has both A and AAAA records, then GTM picks one randomly. For IP addresses, do not use non-routable [RFC 1918](https://tools.ietf.org/html/rfc1918) addresses.",
                      "type": "string"
                    }
                  },
                  "loadObject": {
                    "maxLength": 256,
                    "pattern": "^(?!:).*$",
                    "description": "Identifies the load object file used to report real-time information about the current load, maximum allowable load, and target load on each resource. The maximum permitted length is 256 characters. [Learn more]({{base.url}}/{{page.language}}/webhelp/global-traffic-management/global-traffic-management-user-guide/).",
                    "type": "string"
                  },
                  "loadObjectPort": {
                    "minimum": 0,
                    "maximum": 65535,
                    "description": "Specifies the TCP port of the `loadObject`. The value ranges from `0` to `65535`. If the value is `0`, the default port is either `80` or `443`.",
                    "type": "integer"
                  }
                },
                "required": [
                  "datacenterId"
                ]
              }
            },
            "type": {
              "description": "Indicates the kind of `loadObject` format used to determine the load on the resource. Either `XML load object via HTTP`, `XML load object via HTTPS`, `Non-XML load object via HTTP`, `Non-XML load object via HTTPS`, `Download score`, or `Push API`.",
              "enum": [
                "XML load object via HTTP",
                "XML load object via HTTPS",
                "Non-XML load object via HTTP",
                "Non-XML load object via HTTPS",
                "Download score",
                "Push API"
              ],
              "type": "string"
            },
            "upperBound": {
              "description": "An optional sanity check that specifies the maximum allowed value for any component of the load object. If the `loadObject` contains a number that exceeds this value, the entire load object is rejected as invalid and GTM continues to use the load values from the most recently acquired `loadObject`. To receive an alert when a load object is rejected, log in to [Control Center](https://control.akamai.com), from the Common Services category select Alerts, then create a Load Object File Invalid or Cannot be Fetched alert. [Learn more]({{base.url}}/{{page.language}}/webhelp/alerts/alerts/index.html).",
              "type": "integer"
            }
          },
          "required": [
            "aggregationType",
            "name",
            "type"
          ]
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putDomainNameResourcesResourceName"
      },
      "task": true
    },
    {
      "name": "deleteDomainNameResourcesResourceName",
      "summary": "Remove a resource: Removes a specific resource.",
      "description": "Remove a resource: Removes a specific resource.",
      "input": [
        {
          "name": "resourceName",
          "type": "string",
          "info": "Name of the `resource` to create or update.: string",
          "required": true,
          "schema": {
            "title": "resourceName",
            "type": "string"
          }
        },
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "resource": {
              "type": "object"
            },
            "status": {
              "type": "object"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteDomainNameResourcesResourceName"
      },
      "task": true
    },
    {
      "name": "getDomainNameStatusCurrent",
      "summary": "Get current status: Returns information about the current condition of the\nchange in the domain's a",
      "description": "Get current status: Returns information about the current condition of the\nchange in the domain's activation.",
      "input": [
        {
          "name": "domainName",
          "type": "string",
          "info": "The full GTM domain name.: string",
          "required": true,
          "schema": {
            "title": "domainName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Contains information about the condition of the change in the domain's activation. Any change that returns a 200 series response and goes to propagationStatus PENDING, propagates within a few minutes. To query the activation status, run the [Get current status](#getcurrentstatus) operation, which returns information about the current condition of the change in the domain's activation.",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "changeId": {
              "maxLength": 36,
              "description": "A unique identifier that is generated when a change occurs to the domain. The maximum length is 36 characters.",
              "type": "string"
            },
            "links": {
              "type": "array",
              "items": {
                "description": "Specifies the URL path that allows direct navigation to the domain."
              }
            },
            "message": {
              "maxLength": 4000,
              "description": "A notification that is generated when a change occurs to the domain. The maximum length is 4000 characters.",
              "type": "string"
            },
            "propagationStatus": {
              "maxLength": 20,
              "description": "Tracks the status of the domain's propagation state. Either `PENDING`, `COMPLETE`, or `DENIED`. A `DENIED` value indicates that the domain configuration is invalid, and does not propagate until the validation errors are resolved.",
              "enum": [
                "DENIED",
                "PENDING",
                "COMPLETE"
              ],
              "type": "string"
            },
            "propagationStatusDate": {
              "format": "date-time",
              "type": "string",
              "description": "An ISO 8601 timestamp indicating when a change occurs to the domain."
            },
            "passingValidation": {
              "description": "Indicates if the domain validates.",
              "type": "boolean"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDomainNameStatusCurrent"
      },
      "task": true
    },
    {
      "name": "postRunProposedPropertyLivenessTests",
      "summary": "Run proposed liveness tests: Runs liveness test(s) contained by\nproperty and returns the results.",
      "description": "Run proposed liveness tests: Runs liveness test(s) contained by\nproperty and returns the results.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"domainName\": \"string\", \"property\": \"object\"}",
          "required": false,
          "schema": {
            "description": "Run proposed liveness test for a property request",
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "domainName": {
                "description": "The full GTM domain name",
                "type": "string"
              },
              "property": {
                "type": "object"
              }
            }
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "description": "Liveness test results",
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "result": {
              "description": "Liveness Test results",
              "type": "string"
            }
          }
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postRunProposedPropertyLivenessTests"
      },
      "task": true
    }
  ],
  "views": []
}