{
  "name": "GetDomainName",
  "plane": "control",
  "terraformEligible": true,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudGateway.GetDomainName",
    "service": "gateway"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "hostname": {
        "type": "string"
      }
    },
    "required": [
      "hostname"
    ],
    "title": "GetDomainNameRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "DomainNameStatus": {
        "enum": [
          "PENDING",
          "PENDING_CERTIFICATE",
          "PENDING_VERIFICATION",
          "AVAILABLE",
          "FAILED"
        ],
        "type": "string"
      },
      "OwnershipVerificationStatus": {
        "enum": [
          "PENDING",
          "VERIFIED",
          "FAILED"
        ],
        "type": "string"
      }
    },
    "properties": {
      "acmeDelegationCname": {
        "type": [
          "string",
          "null"
        ]
      },
      "apiId": {
        "type": [
          "string",
          "null"
        ]
      },
      "certificateId": {
        "type": [
          "string",
          "null"
        ]
      },
      "hostname": {
        "type": "string"
      },
      "ownershipVerificationName": {
        "type": [
          "string",
          "null"
        ]
      },
      "ownershipVerificationStatus": {
        "$ref": "#/definitions/OwnershipVerificationStatus"
      },
      "ownershipVerificationType": {
        "type": [
          "string",
          "null"
        ]
      },
      "ownershipVerificationValue": {
        "type": [
          "string",
          "null"
        ]
      },
      "status": {
        "$ref": "#/definitions/DomainNameStatus"
      }
    },
    "required": [
      "hostname",
      "ownershipVerificationStatus",
      "status"
    ],
    "title": "DomainNameDescription",
    "type": "object"
  }
}
