Akamai · Schema

hostname-coverage-match-target

Contains details about a hostname coverage match target.

CDNCloudEdge ComputingNetworksPlatformSecurity

Properties

Name Type Description
apis array The list of API endpoint identifiers and names. This applies only for `api` match targets.
bypassNetworkLists array The network lists' identifiers and names in the match target.
configId integer Uniquely identifies the security configuration.
configVersion integer The security configuration version.
defaultFile string Describes the rule to match on paths. Either `NO_MATCH` not to match on the default file, `BASE_MATCH` to match only requests for top-level hostnames ending in a trailing slash, or `RECURSIVE_MATCH` t
effectiveSecurityControls object __Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy.
fileExtensions array The list of file extensions to apply the match target to.
filePaths array The list of file paths to apply the match target to.
hostnames array The list of hostnames to protect.
isNegativeFileExtensionMatch boolean Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found.
isNegativePathMatch boolean Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found.
securityPolicy object The security policy associated with the match target.
sequence integer The match target's position in the sequence of match targets.
targetId integer Uniquely identifies the match target.
type string The type of match target. Either `website` or `api`.
validations object __Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource.
View JSON Schema on GitHub

JSON Schema

akamai-hostname-coverage-match-target-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/hostname-coverage-match-target",
  "title": "hostname-coverage-match-target",
  "additionalProperties": false,
  "description": "Contains details about a hostname coverage match target.",
  "properties": {
    "apis": {
      "description": "The list of API endpoint identifiers and names. This applies only for `api` match targets.",
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "Uniquely identifies the API endpoint.",
            "type": "integer"
          },
          "name": {
            "description": "The API endpoint name.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "bypassNetworkLists": {
      "description": "The network lists' identifiers and names in the match target.",
      "items": {
        "additionalProperties": false,
        "properties": {
          "id": {
            "description": "Uniquely identifies the network list.",
            "type": "string"
          },
          "name": {
            "description": "The name you assigned to the network list.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "type": "array"
    },
    "configId": {
      "description": "Uniquely identifies the security configuration.",
      "type": "integer"
    },
    "configVersion": {
      "description": "The security configuration version.",
      "type": "integer"
    },
    "defaultFile": {
      "default": "NO_MATCH",
      "description": "Describes the rule to match on paths. Either `NO_MATCH` not to match on the default file, `BASE_MATCH` to match only requests for top-level hostnames ending in a trailing slash, or `RECURSIVE_MATCH` to match all requests for paths that end in a trailing slash. The default value is `NO_MATCH`.",
      "enum": [
        "NO_MATCH",
        "BASE_MATCH",
        "RECURSIVE_MATCH"
      ],
      "type": "string"
    },
    "effectiveSecurityControls": {
      "additionalProperties": false,
      "description": "__Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy.",
      "properties": {
        "applyApiConstraints": {
          "description": "Whether you enabled API constraints.",
          "type": "boolean"
        },
        "applyApplicationLayerControls": {
          "description": "Whether you enabled application layer controls.",
          "type": "boolean"
        },
        "applyBotmanControls": {
          "description": "Whether you enabled Bot Manager controls.",
          "type": "boolean"
        },
        "applyNetworkLayerControls": {
          "description": "Whether you enabled network layer controls.",
          "type": "boolean"
        },
        "applyRateControls": {
          "description": "Whether you enabled rate controls.",
          "type": "boolean"
        },
        "applyReputationControls": {
          "description": "Whether you enabled reputation controls.",
          "type": "boolean"
        },
        "applySlowPostControls": {
          "description": "Whether you enabled slow post controls.",
          "type": "boolean"
        }
      },
      "readOnly": true,
      "required": [
        "applyApplicationLayerControls",
        "applyNetworkLayerControls",
        "applyRateControls",
        "applyReputationControls",
        "applyBotmanControls",
        "applyApiConstraints",
        "applySlowPostControls"
      ],
      "type": "object",
      "x-akamai": {
        "file-path": "schemas/security-controls.yaml"
      }
    },
    "fileExtensions": {
      "description": "The list of file extensions to apply the match target to.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "filePaths": {
      "description": "The list of file paths to apply the match target to.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "hostnames": {
      "description": "The list of hostnames to protect.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "isNegativeFileExtensionMatch": {
      "description": "Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found.",
      "type": "boolean"
    },
    "isNegativePathMatch": {
      "description": "Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found.",
      "type": "boolean"
    },
    "securityPolicy": {
      "additionalProperties": false,
      "description": "The security policy associated with the match target.",
      "properties": {
        "policyId": {
          "description": "Uniquely identifies the security policy.",
          "type": "string"
        }
      },
      "required": [
        "policyId"
      ],
      "type": "object"
    },
    "sequence": {
      "description": "The match target's position in the sequence of match targets.",
      "type": "integer"
    },
    "targetId": {
      "description": "Uniquely identifies the match target.",
      "type": "integer"
    },
    "type": {
      "description": "The type of match target. Either `website` or `api`.",
      "enum": [
        "website",
        "api"
      ],
      "type": "string"
    },
    "validations": {
      "additionalProperties": false,
      "description": "__Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource.",
      "properties": {
        "errors": {
          "description": "The list of errors.",
          "items": {
            "additionalProperties": false,
            "description": "Contains feedback on validation.",
            "properties": {
              "detail": {
                "description": "The explanation of the error message.",
                "type": "string"
              },
              "fieldName": {
                "description": "The name of the field causing the validation problem.",
                "type": "string"
              },
              "jsonReference": {
                "description": "The JSON reference to the field in the resource.",
                "type": "string"
              },
              "title": {
                "description": "The title for the error.",
                "example": "Not Found",
                "type": "string"
              },
              "type": {
                "description": "The URL for the error type.",
                "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                "type": "string"
              }
            },
            "required": [
              "title",
              "type"
            ],
            "type": "object",
            "x-akamai": {
              "file-path": "schemas/validation.yaml"
            }
          },
          "type": "array"
        },
        "notices": {
          "description": "The list of notices.",
          "items": {
            "additionalProperties": false,
            "description": "Contains feedback on validation.",
            "properties": {
              "detail": {
                "description": "The explanation of the error message.",
                "type": "string"
              },
              "fieldName": {
                "description": "The name of the field causing the validation problem.",
                "type": "string"
              },
              "jsonReference": {
                "description": "The JSON reference to the field in the resource.",
                "type": "string"
              },
              "title": {
                "description": "The title for the error.",
                "example": "Not Found",
                "type": "string"
              },
              "type": {
                "description": "The URL for the error type.",
                "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                "type": "string"
              }
            },
            "required": [
              "title",
              "type"
            ],
            "type": "object",
            "x-akamai": {
              "file-path": "schemas/validation.yaml"
            }
          },
          "type": "array"
        },
        "warnings": {
          "description": "The list of warnings.",
          "items": {
            "additionalProperties": false,
            "description": "Contains feedback on validation.",
            "properties": {
              "detail": {
                "description": "The explanation of the error message.",
                "type": "string"
              },
              "fieldName": {
                "description": "The name of the field causing the validation problem.",
                "type": "string"
              },
              "jsonReference": {
                "description": "The JSON reference to the field in the resource.",
                "type": "string"
              },
              "title": {
                "description": "The title for the error.",
                "example": "Not Found",
                "type": "string"
              },
              "type": {
                "description": "The URL for the error type.",
                "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                "type": "string"
              }
            },
            "required": [
              "title",
              "type"
            ],
            "type": "object",
            "x-akamai": {
              "file-path": "schemas/validation.yaml"
            }
          },
          "type": "array"
        }
      },
      "readOnly": true,
      "required": [
        "notices",
        "errors",
        "warnings"
      ],
      "type": "object",
      "x-akamai": {
        "file-path": "schemas/validations.yaml"
      }
    }
  },
  "required": [
    "type",
    "securityPolicy"
  ],
  "type": "object",
  "x-akamai": {
    "file-path": "schemas/hostname-coverage-match-target.yaml"
  }
}