{
  "name": "ListDomainBindings",
  "plane": "control",
  "terraformEligible": true,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudSites.ListDomainBindings",
    "service": "sites"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "maxResults": {
        "default": null,
        "format": "uint32",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "nextToken": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      },
      "siteId": {
        "type": "string"
      }
    },
    "required": [
      "siteId"
    ],
    "title": "ListDomainBindingsRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "AsyncEffectState": {
        "enum": [
          "PENDING",
          "LEASED",
          "APPLIED",
          "TERMINAL_FAILED",
          "BLOCKED_PLATFORM"
        ],
        "type": "string"
      },
      "AsyncOperationStatus": {
        "properties": {
          "commandGeneration": {
            "format": "uint64",
            "minimum": 0.0,
            "type": "integer"
          },
          "detail": {
            "type": [
              "string",
              "null"
            ]
          },
          "edgePropagation": {
            "$ref": "#/definitions/EdgePropagationStatus"
          },
          "effectId": {
            "type": "string"
          },
          "state": {
            "$ref": "#/definitions/AsyncEffectState"
          }
        },
        "required": [
          "commandGeneration",
          "edgePropagation",
          "effectId",
          "state"
        ],
        "type": "object"
      },
      "DomainBindingDescription": {
        "properties": {
          "bindingId": {
            "type": "string"
          },
          "cnameTarget": {
            "type": [
              "string",
              "null"
            ]
          },
          "dnsNotes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "dnsPath": {
            "$ref": "#/definitions/DomainDnsPath"
          },
          "hostname": {
            "type": "string"
          },
          "operation": {
            "anyOf": [
              {
                "$ref": "#/definitions/AsyncOperationStatus"
              },
              {
                "type": "null"
              }
            ]
          },
          "revision": {
            "description": "OCC revision for DeleteDomainBinding / conditional writes.",
            "format": "uint64",
            "minimum": 0.0,
            "type": "integer"
          },
          "siteId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/definitions/DomainBindingStatus"
          },
          "validationRecordName": {
            "type": [
              "string",
              "null"
            ]
          },
          "validationRecordType": {
            "type": [
              "string",
              "null"
            ]
          },
          "validationRecordValue": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "bindingId",
          "dnsPath",
          "hostname",
          "revision",
          "siteId",
          "status"
        ],
        "type": "object"
      },
      "DomainBindingStatus": {
        "enum": [
          "PENDING_VALIDATION",
          "ACTIVE",
          "DEGRADED",
          "FAILED",
          "DELETING",
          "DELETED"
        ],
        "type": "string"
      },
      "DomainDnsPath": {
        "enum": [
          "EXTERNAL_SUBDOMAIN",
          "APEX_ALIAS",
          "DELEGATED_ZONE"
        ],
        "type": "string"
      },
      "EdgePropagationStatus": {
        "enum": [
          "COMPLETE",
          "PENDING",
          "FAILED"
        ],
        "type": "string"
      }
    },
    "properties": {
      "bindings": {
        "items": {
          "$ref": "#/definitions/DomainBindingDescription"
        },
        "type": "array"
      },
      "nextToken": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "bindings"
    ],
    "title": "ListDomainBindingsResponse",
    "type": "object"
  }
}
