{
  "openapi": "3.0.0",
  "info": {
    "description": "## Introduction to DNS Services API\n\nIBM Cloud DNS Services allow you to:\n\n- Create zones that are collections for holding domain names\n- Create DNS resource records under these zones\n- Specify access controls used for the DNS resolution of resource records on a zone-wide level\n- Create global load balancers to resolve hostnames to different IP addresses based on location policies.\n\nIBM Cloud DNS Services also maintains its own world-wide set of DNS resolvers. Computer machines provisioned under IBM Cloud on an IBM Cloud network can use resource records configured through IBM Cloud DNS Services by querying IBM Cloud DNS Services' resolvers.\n\nPublic endpoints are protected by Cloudflare. TLS termination occurs on the Cloudflare edges.\n\n```sh\nhttps://api.dns-svcs.cloud.ibm.com\n```\n\nThe code examples on this tab use the DNS Services Go SDK.\n\nInstallation\n\n```bash\ngo get -u github.com/IBM/networking-go-sdk\n```\n\nEndpoint URL\n\n```sh\nhttps://api.dns-svcs.cloud.ibm.com\n```\n\nGitHub\n\nhttps://github.com/IBM/networking-go-sdk\n\nThe code examples on this tab use the DNS Services Python SDK.\n\nInstallation\n\n```bash\npip install --upgrade \"ibm-cloud-networking-services\"\n```\nEndpoint URL\n\n```sh\nhttps://api.dns-svcs.cloud.ibm.com/v1/\n```\n\nGitHub\n\nhttps://github.com/IBM/networking-python-sdk\n\nThe code examples on this tab use the DNS Services Java SDK.\n\nMaven\n\n```xml\n        <dependency>\n            <groupId>${project.groupId}</groupId>\n            <artifactId>dns-svcs</artifactId>\n            <version>${project.version}</version>\n        </dependency>\n```\n\nGradle:\n\n```sh\ncompile 'com.ibm.cloud:dns-svcs:X.X.X'\n```\n\nEndpoint URL\n\n```sh\nhttps://api.dns-svcs.cloud.ibm.com\n```\n\nGitHub\n\n[https://github.com/IBM/networking-java-sdk](https://github.com/IBM/networking-java-sdk)\n\n## Error handling\n\nThis API uses standard HTTP response codes to indicate whether a method completed successfully. A `200` response always indicates success. A `400` type response is some sort of failure, and a `500` type response usually indicates an internal system error.\n\n| HTTP error code | Description | Recovery |\n|-----------------|-------------|----------|\n| `200` | Success | The request was successful. |\n| `204` | Success | The resource was deleted successfully. |\n| `400` | Bad Request | The input parameters in the request body are either incomplete or in the wrong format. Be sure to include all required parameters in your request. |\n| `401` | Unauthorized | You are not authorized to make this request.\t|\n| `404` | Not Found | The requested resource could not be found or the API route doesn't exist. |\n| `405` | Method Not Allowed | The HTTP method is not allowed on the API route. |\n| `500` | Internal Server Error | An internal error occurred, your request could not be processed at the moment. Wait a few minutes and try again. |\n\n## Authentication\n\nIBM Cloud Identity and Access Management (IAM) is the primary method to authenticate to the API.\n\nAccess to DNS Services instances for users in your account is controlled by IBM Cloud Identity and Access Management (IAM). Every user that accesses the DNS Services in your account must be assigned an access policy with an IAM role defined. Pass a bearer token in an authorization header. Tokens support authenticated requests without embedding service credentials in every call. For more information, see [\nManaging access with IAM for DNS Services](https://cloud.ibm.com/docs/dns-svcs?topic=dns-svcs-iam).\n\nTo get the IAM access token, replace `{apikey}` with your service credentials.\n\n```sh\ncurl -k -X POST \\\n  --header \"Content-Type: application/x-www-form-urlencoded\" \\\n  --header \"Accept: application/json\" \\\n  --data-urlencode \"grant_type=urn:ibm:params:oauth:grant-type:apikey\" \\\n  --data-urlencode \"apikey={apikey}\" \\\n  \"https://iam.cloud.ibm.com/identity/token\"\n```\n\nUse the obtained access token to make HTTP requests to DNS Services API.\n\nSDK managing the IAM token. Replace `{apikey}` and `{url}`.\n\n```go\nimport (\n  \"github.com/IBM/go-sdk-core/v5/core\"\n  \"github.com/IBM/networking-go-sdk/dnssvcsv1\"\n)\n\nfunc main() {\n  authenticator := &core.IamAuthenticator{\n    ApiKey: \"{apikey}\",\n  }\n\n  options := &dnssvcsv1.DnsSvcsV1Options{\n    Authenticator: authenticator,\n  }\n\n  service, err := dnssvcsv1.NewDnsSvcsV1(options)\n\n  if err != nil {\n    panic(err)\n  }\n\n  service.SetServiceURL(\"{url}\")\n}\n```\n\nSDK managing the IAM token. Replace `{apikey}` and `{url}`.\n\n```python\nfrom ibm_cloud_networking_services import DnsSvcsV1\nfrom ibm_cloud_sdk_core.authenticators import IAMAuthenticator\n\nauthenticator = IAMAuthenticator('{apikey}')\ndnssvc = DnsSvcsV1(\n    authenticator=authenticator\n)\ndnssvc.set_service_url('{url}')\n```\n\nSDK managing the IAM token. Replace `{apikey}`, `{version}`, `{serviceName}`  and `{url}`.\n\n```java\npackage com.ibm.cloud.networking.dns_svcs.v1;\n\nimport com.ibm.cloud.networking.dns_svcs.v1;\n\nIamAuthenticator authenticator = new IamAuthenticator(\"{apikey}\");\nDnsSvcs dnsServiceProvider = new DnsSvcs(\"{version}\", \"{serviceName}\",authenticator);\n```\n\nYou can also access the service credentials from the watsonx Assistant user interface (UI):\nIf you cannot view the API details or the service credentials, you probably do not have Manager access to the service instance. Instead, you can create a personal API key using the [IBM Cloud API keys](https://cloud.ibm.com/iam/apikeys) page. For more information, see [Managing user API keys](https://cloud.ibm.com/docs/account?topic=account-userapikey).",
    "version": "1.0.0",
    "title": "DNS Svcs",
    "x-sdk-supported-languages": [
      "java",
      "go",
      "python",
      "node"
    ],
    "x-github": "https://github.ibm.com/cloud-api-docs/dns-svcs",
    "x-github-issues": "https://github.ibm.com/cloud-api-docs/dns-svcs/issues/new",
    "x-last-updated": "2021-01-05"
  },
  "tags": [
    {
      "name": "DNS Zones",
      "description": "DNS zones"
    },
    {
      "name": "Resource Records",
      "description": "Resource Records"
    },
    {
      "name": "Permitted Network",
      "description": "Permitted Network"
    },
    {
      "name": "Global Load Balancers",
      "description": "Global Load Balancers"
    },
    {
      "name": "Pools",
      "description": "Global Load Balancer Pools"
    },
    {
      "name": "Monitors",
      "description": "Global Load Balancer Monitors"
    },
    {
      "name": "Custom Resolvers",
      "description": "Custom Resolvers for Hybrid DNS"
    },
    {
      "name": "Custom Resolver Locations",
      "description": "Custom Resolver Locations"
    },
    {
      "name": "Forwarding Rules",
      "description": "Forwarding Rules"
    },
    {
      "name": "Secondary Zones",
      "description": "Secondary Zones"
    },
    {
      "name": "Linked Zones",
      "description": "Linked Zones of Cross Account"
    },
    {
      "name": "Access Requests",
      "description": "Access Requests of Cross Account"
    },
    {
      "name": "Permitted Network for Linked Zone",
      "description": "Permitted Network for Linked Zone"
    }
  ],
  "servers": [
    {
      "url": "https://api.dns-svcs.cloud.ibm.com/v1"
    }
  ],
  "security": [
    {
      "iamToken": []
    }
  ],
  "paths": {
    "/instances/{instance_id}/dnszones": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "DNS Zones"
        ],
        "summary": "List DNS zones",
        "operationId": "list_dnszones",
        "description": "List the DNS zones for a given service instance",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/vpc_id"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/list_dnszones"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/1407a753-a93f-4bb0-9784-bcfc269ee1b3/dnszones \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listDnszoneOptions := service.NewListDnszonesOptions(\n",
                      "\t\"d5d53a57-212e-48f8-86d0-9082140de0ac\")\n",
                      "result, response, reqErr := service.ListDnszones(listDnszoneOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Println(\"DNS Zones count: \", *result.TotalCount)\n",
                      "fmt.Println(\"Response: \", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.list_dnszones(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ListDnszonesOptions listDnszonesOptions = new ListDnszonesOptions.Builder()\n",
                      "      .instanceId(\"d633130b-fed5-469c-b67f-aefe4045fde6\")\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .offset(Long.valueOf(\"26\"))\n",
                      "      .limit(Long.valueOf(\"200\"))\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ListDnszones> response = service.listDnszones(listDnszonesOptions).execute();\n",
                      "\n",
                      "      ListDnszones listDnszonesResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const DNSSvcsApisV1 = require('ibm-networking-services/dns-svcs/v1');\n",
                      "const { IamAuthenticator } = require('ibm-cloud-sdk-core');\n",
                      "\n",
                      "const options = {\n",
                      "    authenticator: new IamAuthenticator({\n",
                      "        apikey: ${DNS_SVCS_APIKEY},\n",
                      "        url: ${DNS_SVCS_AUTH_URL},\n",
                      "    }),\n",
                      "    crn: ${DNS_SVCS_CUSTOMER_LOCATION_SUBNET_CRN},\n",
                      "    serviceUrl: ${DNS_SVCS_URL},\n",
                      "    version: ${DNS_SERVICES_API_VERSION},\n",
                      "};\n",
                      "\n",
                      "const dnsSvcsApisV1  = new DNSSvcsApisV1(options);\n",
                      "\n",
                      "const params = {\n",
                      "     instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "};\n",
                      "dnsSvcsApisV1.listDnszones(params)\n",
                      "  .then(response => {\n",
                      "    const dnsZones = response.result;\n",
                      "    console.log(dnsZones);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "DNS Zones"
        ],
        "summary": "Create DNS zone",
        "operationId": "create_dnszone",
        "description": "Create a DNS zone for a given service instance",
        "responses": {
          "200": {
            "description": "DNS zone created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dnszone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/dnszone_input"
              }
            }
          },
          "description": "Create a DNS zone."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/1407a753-a93f-4bb0-9784-bcfc269ee1b3/dnszones \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "\t  \"name\": \"example.com\",\n",
                      "\t  \"description\": \"The DNS zone is used for VPCs in us-east region\",\n",
                      "\t  \"label\": \"us-east\"\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createDnszoneOptions := service.NewCreateDnszoneOptions(\"d5d53a57-212e-48f8-86d0-9082140de0ac\")\n",
                      "createDnszoneOptions.SetName(\"example.com\")\n",
                      "createDnszoneOptions.SetDescription(\"description\")\n",
                      "createDnszoneOptions.SetLabel(\"DNS-Zones\")\n",
                      "result, response, reqErr := service.CreateDnszone(createDnszoneOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.create_dnszone(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    name=\"example.com\", label=\"DNS-Zones\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      CreateDnszoneOptions createDnszoneOptions = new CreateDnszoneOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .name(\"test-java-dns.com\")\n",
                      "      .description(\"Java SDK testing\")\n",
                      "      .label(\"us-east\")\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Dnszone> response = service.createDnszone(createDnszoneOptions).execute();\n",
                      "\n",
                      "      Dnszone dnszoneResult = response.getResult();\n",
                      "      zone_id = dnszoneResult.getId();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    name: \"example.com\",\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.createDnszone(params)\n",
                      "  .then(response => {\n",
                      "    const dnsZone = response.result;\n",
                      "    console.log(dnsZone);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "DNS Zones"
        ],
        "summary": "Delete DNS zone",
        "operationId": "delete_dnszone",
        "description": "Delete a DNS zone",
        "responses": {
          "204": {
            "description": "The DNS zone was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/dnszones/c775e22a-5db5-4614-9c7e-27db0c8dbc13 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteDnszoneOptions := service.NewDeleteDnszoneOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "response, reqErr := service.DeleteDnszone(deleteDnszoneOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_dnszone(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeleteDnszoneOptions deleteDnszoneOptions = new DeleteDnszoneOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Void> response = service.deleteDnszone(deleteDnszoneOptions).execute();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.deleteDnszone(params)\n",
                      "  .then(response => {\n",
                      "    const deletedDnsZone = response.result;\n",
                      "    console.log(deletedDnsZone);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "DNS Zones"
        ],
        "summary": "Get DNS zone",
        "operationId": "get_dnszone",
        "description": "Get details of a DNS zone",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dnszone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/1407a753-a93f-4bb0-9784-bcfc269ee1b3/dnszones/2d0f862b-67cc-41f3-b6a2-59860d0aa90e \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getDnszoneOptions := service.NewGetDnszoneOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "result, response, reqErr := service.GetDnszone(getDnszoneOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_dnszone(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      GetDnszoneOptions getDnszoneOptions = new GetDnszoneOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Dnszone> response = service.getDnszone(getDnszoneOptions).execute();\n",
                      "\n",
                      "      Dnszone dnszoneResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.getDnszone(params)\n",
                      "  .then(response => {\n",
                      "    const dnsZone = response.result;\n",
                      "    console.log(dnsZone);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "DNS Zones"
        ],
        "summary": "Update DNS zone",
        "operationId": "update_dnszone",
        "description": "Update the properties of a DNS zone.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dnszone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/dnszone_update_input"
              }
            }
          },
          "description": "Update a dnszone's properties."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/1407a753-a93f-4bb0-9784-bcfc269ee1b3/dnszones/2d0f862b-67cc-41f3-b6a2-59860d0aa90e \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "\t  \"description\": \"The DNS zone is used for VPCs in us-east region\",\n",
                      "\t  \"label\": \"us-east\"\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateDnszoneOptions := service.NewUpdateDnszoneOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "updateDnszoneOptions.SetDescription(\"description update\")\n",
                      "updateDnszoneOptions.SetLabel(\"DNS-Zones\")\n",
                      "result, response, reqErr := service.UpdateDnszone(updateDnszoneOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_dnszone(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    description=\"description update\", label=\"DNS-Zones\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      UpdateDnszoneOptions updateDnszoneOptions = new UpdateDnszoneOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .description(\"us-east update check\")\n",
                      "      .label(\"us-east\")\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Dnszone> response = service.updateDnszone(updateDnszoneOptions).execute();\n",
                      "\n",
                      "      Dnszone dnszoneResult = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    description: 'The DNS zone is used for VPCs in us-east region',\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.updateDnszone(params)\n",
                      "  .then(response => {\n",
                      "    const updatedDnsZone = response.result;\n",
                      "    console.log(updatedDnsZone);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/resource_records": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Resource Records"
        ],
        "summary": "List resource records",
        "operationId": "list_resource_records",
        "description": "List the Resource Records for a given DNS zone",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          },
          {
            "$ref": "#/components/parameters/type"
          },
          {
            "$ref": "#/components/parameters/name"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/list_resource_records"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/resource_records?offset=0&limit=200 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listRecordsOptions := service.NewListResourceRecordsOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "result, response, reqErr := service.ListResourceRecords(listRecordsOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"DNS Records count: %d\", *result.TotalCount)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.list_resource_records(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ListResourceRecordsOptions listResourceRecordsOptions = new ListResourceRecordsOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .offset(Long.valueOf(\"26\"))\n",
                      "      .limit(Long.valueOf(\"200\"))\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ListResourceRecords> response = service.listResourceRecords(listResourceRecordsOptions).execute();\n",
                      "\n",
                      "      ListResourceRecords listResourceRecordsResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.listResourceRecords(params)\n",
                      "  .then(response => {\n",
                      "    const resourceRecords = response.result.resource_records;\n",
                      "    console.log(resourceRecords);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Resource Records"
        ],
        "summary": "Create resource record",
        "operationId": "create_resource_record",
        "description": "Create a resource record for a given DNS zone",
        "responses": {
          "200": {
            "description": "Resource record created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/resource_record"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/resource_record_input"
              }
            }
          },
          "description": "Create a resource record."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/resource_records \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "\t  \"rdata\": {\n",
                      "      \"priority\": 100,\n",
                      "      \"weight\": 100,\n",
                      "      \"port\": 8000,\n",
                      "      \"target\": \"siphost.com\"\n",
                      "    },\n",
                      "    \"type\": \"SRV\",\n",
                      "    \"name\": \"test.example.com\",\n",
                      "    \"ttl\": 120,\n",
                      "    \"service\": \"_sip\",\n",
                      "    \"protocol\": \"udp\"\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createRecordOptions := service.NewCreateResourceRecordOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "rdataSrvRecord, err := service.NewResourceRecordInputRdataRdataSrvRecord(\n",
                      "\t1, 1, \"siphost.com\", 1)\n",
                      "if err != nil {\n",
                      "\tpanic(err)\n",
                      "}\n",
                      "createRecordOptions.SetRdata(rdataSrvRecord)\n",
                      "createRecordOptions.SetTTL(120)\n",
                      "createRecordOptions.SetName(\"test.example.com\")\n",
                      "createRecordOptions.SetType(\"SRV\")\n",
                      "createRecordOptions.SetProtocol(\"udp\")\n",
                      "createRecordOptions.SetService(\"_sip\")\n",
                      "result, response, reqErr := service.CreateResourceRecord(createRecordOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.create_resource_record(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    type=\"AAAA\",\n",
                      "    ttl=60,\n",
                      "    name=\"test.example.com\",\n",
                      "    rdata={\n",
                      "        'ip': '2002::1'\n",
                      "    })\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ResourceRecordInputRdataRdataARecord resourceRecordInputRdataModel = new ResourceRecordInputRdataRdataARecord.Builder()\n",
                      "      .ip(\"10.110.201.214\")\n",
                      "      .build();\n",
                      "\n",
                      "      CreateResourceRecordOptions createResourceRecordOptions = new CreateResourceRecordOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .name(\"test.test.com\")\n",
                      "      .type(\"A\")\n",
                      "      .rdata(resourceRecordInputRdataModel)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ResourceRecord> response = service.createResourceRecord(createResourceRecordOptions).execute();\n",
                      "\n",
                      "      ResourceRecord resourceRecordResult = response.getResult();\n",
                      "\n",
                      "      record_id = resourceRecordResult.getId();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    'name': 'test.example.com',\n",
                      "    'type': 'SRV',\n",
                      "    'rdata': {\n",
                      "        'priority': 100,\n",
                      "        'weight': 100,\n",
                      "        'port': 8000,\n",
                      "        'target': 'siphost.com',\n",
                      "    },\n",
                      "    'ttl': 120,\n",
                      "    'service': '_sip',\n",
                      "    'protocol': 'udp',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.createResourceRecord(params)\n",
                      "  .then(response => {\n",
                      "    const resourceRecord = response.result;\n",
                      "    console.log(resourceRecord);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/resource_records/{record_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/record_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "Resource Records"
        ],
        "summary": "Delete resource record",
        "operationId": "delete_resource_record",
        "description": "Delete a resource record",
        "responses": {
          "204": {
            "description": "The resource record was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/resource_records/SRV:5365b73c-ce6f-4d6f-ad9f-d9c131b26370 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteRecordOptions := service.NewDeleteResourceRecordOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "\t\"5365b73c-ce6f-4d6f-ad9f-d9c131b26370\")\n",
                      "response, reqErr := service.DeleteResourceRecord(deleteRecordOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_resource_record(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    record_id=\"5365b73c-ce6f-4d6f-ad9f-d9c131b26370\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeleteResourceRecordOptions deleteResourceRecordOptions = new DeleteResourceRecordOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .recordId(record_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Void> response = service.deleteResourceRecord(deleteResourceRecordOptions).execute();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    recordId: ${DnsResourceRecordId},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.deleteResourceRecord(params)\n",
                      "  .then(response => {\n",
                      "    const deletedResourceRecord = response.result;\n",
                      "    console.log(deletedResourceRecord);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Resource Records"
        ],
        "summary": "Get resource record",
        "operationId": "get_resource_record",
        "description": "Get details of a resource record",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/resource_record"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/resource_records/SRV:5365b73c-ce6f-4d6f-ad9f-d9c131b26370 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getRecordOptions := service.NewGetResourceRecordOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "\t\"SRV:5365b73c-ce6f-4d6f-ad9f-d9c131b26370\")\n",
                      "result, response, reqErr := service.GetResourceRecord(getRecordOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_resource_record(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    record_id=\"5365b73c-ce6f-4d6f-ad9f-d9c131b26370\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "   try {\n",
                      "      GetResourceRecordOptions getResourceRecordOptions = new GetResourceRecordOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .recordId(record_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ResourceRecord> response = service.getResourceRecord(getResourceRecordOptions).execute();\n",
                      "\n",
                      "      ResourceRecord resourceRecordResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    recordId: ${DnsResourceRecordId},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.getResourceRecord(params)\n",
                      "  .then(response => {\n",
                      "    const resourceRecord = response.result;\n",
                      "    console.log(resourceRecord);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "tags": [
          "Resource Records"
        ],
        "summary": "Update resource record",
        "operationId": "update_resource_record",
        "description": "Update the properties of a resource record.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/resource_record"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/resource_record_update_input"
              }
            }
          },
          "description": "Update a resource record's properties."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/resource_records/SRV:5365b73c-ce6f-4d6f-ad9f-d9c131b26370 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "\t  \"rdata\": {\n",
                      "      \"priority\": 100,\n",
                      "      \"weight\": 100,\n",
                      "      \"port\": 8000,\n",
                      "      \"target\": \"siphost.com\"\n",
                      "    },\n",
                      "    \"name\": \"test.example.com\",\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateRecordOptions := service.NewUpdateResourceRecordOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "\t\"SRV:5365b73c-ce6f-4d6f-ad9f-d9c131b26370\")\n",
                      "updateRecordOptions.SetName(\"update\")\n",
                      "updateRecordOptions.SetTTL(300)\n",
                      "result, response, reqErr := service.UpdateResourceRecord(updateRecordOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.update_resource_record(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    record_id=\"5365b73c-ce6f-4d6f-ad9f-d9c131b26370\",\n",
                      "    type=\"AAAA\",\n",
                      "    ttl=120,\n",
                      "    name=\"test.example43.com\",\n",
                      "    rdata={'ip': '2002::2'})\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ResourceRecordUpdateInputRdataRdataARecord resourceRecordUpdateInputRdataModel = new ResourceRecordUpdateInputRdataRdataARecord.Builder()\n",
                      "      .ip(\"10.110.201.214\")\n",
                      "      .build();\n",
                      "\n",
                      "      UpdateResourceRecordOptions updateResourceRecordOptions = new UpdateResourceRecordOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .recordId(record_id)\n",
                      "      .name(\"test1.test.com\")\n",
                      "      .rdata(resourceRecordUpdateInputRdataModel)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ResourceRecord> response = service.updateResourceRecord(updateResourceRecordOptions).execute();\n",
                      "\n",
                      "      ResourceRecord resourceRecordResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    recordId: ${DnsResourceRecordId},\n",
                      "    'name': 'test.example.com-testing',\n",
                      "    'type': 'SRV',\n",
                      "    'rdata': {\n",
                      "        'priority': 110,\n",
                      "        'weight': 110,\n",
                      "        'port': 8010,\n",
                      "        'target': 'siphost.com',\n",
                      "    },\n",
                      "    'ttl': 3600,\n",
                      "    'service': '_sip',\n",
                      "    'protocol': 'udp',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.updateResourceRecord(params)\n",
                      "  .then(response => {\n",
                      "    const updatedResourceRecord = response.result;\n",
                      "    console.log(updatedResourceRecord);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/export_resource_records": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Resource Records"
        ],
        "summary": "Export resource records to a zone file",
        "operationId": "export_resource_records",
        "description": "Export resource records to a zone file",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain; charset=utf-8": {
                "schema": {
                  "description": "Response of exporting resource records",
                  "type": "string",
                  "format": "binary"
                },
                "examples": {
                  "response": {
                    "value": ";; A Records\n test-zone.com.\t1\tIN\tA\t192.168.178.5"
                  }
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/export_resource_records \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "exportResourceRecordsOptions := service.NewExportResourceRecordsOptions(instanceID, *zoneInfo.ID)\n",
                      "exportResourceRecordsOptions.SetXCorrelationID(\"abc123\")\n",
                      "result, response, reqErr := service.ExportResourceRecords(exportResourceRecordsOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "b,_ := ioutil.ReadAll(result)\n",
                      "fmt.Printf(\"Content: %s\", string(b))\n",
                      "fmt.Printf(\"Response: %s\", response)\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    const params = {\n",
                      "       dnszoneId: ${DnsZoneId},\n",
                      "       instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "     };\n",
                      "     dnsSvcsApisV1.exportResourceRecords(params)\n",
                      "    .then(response => {\n",
                      "       const exportResourceRecord = response.result;\n",
                      "       console.log(exportResourceRecord);\n",
                      "   })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.export_resource_records(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      " try {\n",
                      "      ResourceRecordInputRdataRdataARecord resourceRecordInputRdataModel = new ResourceRecordInputRdataRdataARecord.Builder()\n",
                      "      .ip(\"10.110.201.214\")\n",
                      "      .build();\n",
                      "\n",
                      "      CreateResourceRecordOptions createResourceRecordOptions = new CreateResourceRecordOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .name(\"test.test.com\")\n",
                      "      .type(\"A\")\n",
                      "      .rdata(resourceRecordInputRdataModel)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ResourceRecord> response = service.createResourceRecord(createResourceRecordOptions).execute();\n",
                      "\n",
                      "      ResourceRecord resourceRecordResult = response.getResult();\n",
                      "\n",
                      "      record_id = resourceRecordResult.getId();\n",
                      "ExportResourceRecordsOptions exportResourceRecordsOptionsModel = new ExportResourceRecordsOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "      Response<InputStream> responseRec = service.exportResourceRecords(exportResourceRecordsOptionsModel).execute();\n",
                      "      InputStream responseObj = responseRec.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/import_resource_records": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "post": {
        "tags": [
          "Resource Records"
        ],
        "summary": "Import resource records from a zone file",
        "operationId": "import_resource_records",
        "description": "Import resource records from a zone file. The maximum size of a zone file is 8MB.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/import_resource_records_resp"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "description": "Response of importing resource records",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "file to upload",
                    "format": "binary"
                  }
                }
              }
            }
          },
          "description": "The DNS zone file to be uploaded."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/import_resource_records \\\n",
                      "  -H 'Content-Type: multipart/form-data' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n",
                      "  -F 'file=@zonefile'"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "importResourceRecordsOptions := service.NewImportResourceRecordsOptions(instanceID, *zoneInfo.ID)\n",
                      "zoneName := fmt.Sprintf(\"test-example%s.com\", uuid.New().String())\n",
                      "f := strings.NewReader(zoneName + ` 1 IN AAAA 2001::888`)\n",
                      "importResourceRecordsOptions.SetFile(ioutil.NopCloser(f))\n",
                      "importResourceRecordsOptions.SetXCorrelationID(\"abc123\")\n",
                      "importResourceRecordsOptions.SetFileContentType(\"application/json\")\n",
                      "result, response, reqErr := service.ImportResourceRecords(importResourceRecordsOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"TotalRecordsParsed: %d\",*result.TotalRecordsParsed )\n",
                      "fmt.Printf(\"Response: %s\", response)\n",
                      "\t\t"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "      dnszoneId: ${DnsZoneId},\n",
                      "      instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "      file: ${ZonFile},\n",
                      " };\n",
                      "dnsSvcsApisV1.importResourceRecords(params)\n",
                      " .then(response => {\n",
                      "    const importedResourceRecords = response.result;\n",
                      "    console.log(importedResourceRecords);\n",
                      "}).catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "});"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.import_resource_records(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    file=@Zone_file, file_content_type=\"application/octet-stream\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "try {\n",
                      "      FileWriter myWriter = new FileWriter(\"records.txt\");\n",
                      "      myWriter.write(\"example.sdk.cistest-load.com. 1 IN A 1.1.1.1\");\n",
                      "      myWriter.close();\n",
                      "      FileInputStream  fileInputStream =new FileInputStream(\"records.txt\");\n",
                      "      // Construct an instance of the ImportResourceRecordsOptions model\n",
                      "      ImportResourceRecordsOptions importResourceRecordsOptionsModel = new ImportResourceRecordsOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .file(fileInputStream)\n",
                      "      .fileContentType(\"testString\")\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "      Response<ImportResourceRecordsResp> response = service.importResourceRecords(importResourceRecordsOptionsModel).execute();\n",
                      "      ImportResourceRecordsResp responseObj = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    } catch (IOException e) {\n",
                      "      System.out.println(\"An error occurred.\");\n",
                      "    }"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/permitted_networks": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/accounts"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Permitted Network"
        ],
        "summary": "List permitted networks",
        "operationId": "list_permitted_networks",
        "description": "List the permitted networks for a given DNS zone",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/list_permitted_networks"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/permitted_networks \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listPermittedNetworksOptions := service.NewListPermittedNetworksOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "result, response, reqErr := service.ListPermittedNetworks(listPermittedNetworksOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Total Count: %d\", *result.TotalCount)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.list_permitted_networks(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ListPermittedNetworksOptions listPermittedNetworksOptions = new ListPermittedNetworksOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .offset(Long.valueOf(\"26\"))\n",
                      "      .limit(Long.valueOf(\"200\"))\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ListPermittedNetworks> response = service.listPermittedNetworks(listPermittedNetworksOptions).execute();\n",
                      "\n",
                      "      ListPermittedNetworks listPermittedNetworksResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.listPermittedNetworks(params)\n",
                      "  .then(response => {\n",
                      "    const permittedNetworks = response.result;\n",
                      "    console.log(permittedNetworks);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Permitted Network"
        ],
        "summary": "Create permitted network",
        "operationId": "create_permitted_network",
        "description": "Create a permitted network for a given DNS zone",
        "responses": {
          "200": {
            "description": "Permitted network created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/permitted_network"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/permitted_network_input"
              }
            }
          },
          "description": "Create a permitted network."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/permitted_networks \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "\t  \"permitted_network\": {\n",
                      "\t\t    \"vpc_crn\": \"crn:v1:bluemix:public:is:eu-de:a/bcf1865e99742d38d2d5fc3fb80a5496::vpc:6e6cc326-04d1-4c99-a289-efb3ae4193d6\"\n",
                      "\t\t\n",
                      "\t  }, \n",
                      "\t  \"type\": \"vpc\"\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createPermittedNetworkOptions := service.NewCreatePermittedNetworkOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "permittedNetworkCrn := &dnssvcsv1.PermittedNetworkVpc{\n",
                      "\tVpcCrn: core.StringPtr(\"{vpc crn}\"),\n",
                      "}\n",
                      "createPermittedNetworkOptions.SetPermittedNetwork(permittedNetworkCrn)\n",
                      "createPermittedNetworkOptions.SetType(dnssvcsv1.CreatePermittedNetworkOptions_Type_Vpc)\n",
                      "result, response, reqErr := service.CreatePermittedNetwork(createPermittedNetworkOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "pnw = {\n",
                      "    'vpc_crn': 'crn:v1:bluemix:public:is:us-south:a/6991a6797b7b4754947b081d8dedc6e7::vpc:r006-5784a352-2d12-4c93-8d08-d790e5940e28'\n",
                      "}\n",
                      "response = dnssvc.create_permitted_network(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    type='vpc',\n",
                      "    permitted_network=pnw)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      PermittedNetworkVpc permittedNetworkVpcModel = new PermittedNetworkVpc.Builder()\n",
                      "      .vpcCrn(vpc_crn)\n",
                      "      .build();\n",
                      "\n",
                      "      CreatePermittedNetworkOptions createPermittedNetworkOptions = new CreatePermittedNetworkOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .type(\"vpc\")\n",
                      "      .permittedNetwork(permittedNetworkVpcModel)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<PermittedNetwork> response = service.createPermittedNetwork(createPermittedNetworkOptions).execute();\n",
                      "\n",
                      "      PermittedNetwork permittedNetworkResult = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    type: 'vpc',\n",
                      "    permittedNetwork: {\n",
                      "        'vpc_crn': ${DNS_SVCS_VPC_CRN},\n",
                      "    },\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.createPermittedNetwork(params)\n",
                      "  .then(response => {\n",
                      "    const permittedNW = response.result;\n",
                      "    console.log(permittedNW);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/permitted_networks/{permitted_network_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/permitted_network_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "Permitted Network"
        ],
        "summary": "Remove permitted network",
        "operationId": "delete_permitted_network",
        "description": "Remove a permitted network",
        "responses": {
          "202": {
            "description": "The permitted network removal is in progress.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/permitted_network"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/permitted_networks/fecd0173-3919-456b-b202-3029dfa1b0f7 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deletePermittedNetworkOptions := service.NewDeletePermittedNetworkOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "\t\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "result, response, reqErr := service.DeletePermittedNetwork(deletePermittedNetworkOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_permitted_network(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    permitted_network_id=\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeletePermittedNetworkOptions deletePermittedNetworkOptions = new DeletePermittedNetworkOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .permittedNetworkId(vpc_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<PermittedNetwork> response = service.deletePermittedNetwork(deletePermittedNetworkOptions).execute();\n",
                      "\n",
                      "      PermittedNetwork permittedNetworkResult = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    permittedNetworkId: ${PermittedNWId},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.deletePermittedNetwork(params)\n",
                      "  .then(response => {\n",
                      "    const permittedNW = response.result;\n",
                      "    console.log(permittedNW);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Permitted Network"
        ],
        "summary": "Get permitted network",
        "operationId": "get_permitted_network",
        "description": "Get details of a permitted network",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/permitted_network"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/dnszones/3f84b5dc-8c00-463f-a088-9b4e005ebb84/permitted_networks/fecd0173-3919-456b-b202-3029dfa1b0f7 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getPermittedNetworkOptions := service.NewGetPermittedNetworkOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "\t\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "result, response, reqErr := service.GetPermittedNetwork(getPermittedNetworkOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_permitted_network(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    permitted_network_id=\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      GetPermittedNetworkOptions getPermittedNetworkOptions = new GetPermittedNetworkOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .permittedNetworkId(vpc_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<PermittedNetwork> response = service.getPermittedNetwork(getPermittedNetworkOptions).execute();\n",
                      "\n",
                      "      PermittedNetwork permittedNetworkResult = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    permittedNetworkId: ${PermittedNWId},\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.getPermittedNetwork(params)\n",
                      "  .then(response => {\n",
                      "    const permittedNW = response.result;\n",
                      "    console.log(permittedNW);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/load_balancers": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Global Load Balancers"
        ],
        "summary": "List load balancers",
        "operationId": "list_load_balancers",
        "description": "List the Global Load Balancers for a given DNS zone",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/list_load_balancers"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listLoadBalancersOptions := service.NewListLoadBalancersOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "result, response, reqErr := service.ListLoadBalancers(listLoadBalancersOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Total Count: %d\", *result.TotalCount)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/dnszones/b6b2cbd9-109d-41f5-a4ec-b906d9040f08/load_balancers' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.list_load_balancers(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ListLoadBalancersOptions listLoadBalancersOptions = new ListLoadBalancersOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ListLoadBalancers> response = service.listLoadBalancers(listLoadBalancersOptions).execute();\n",
                      "\n",
                      "      ListLoadBalancers listLoadBalancersResult = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    dnszoneId: dnsZone.id,\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.listLoadBalancers(params)\n",
                      "  .then(response => {\n",
                      "    const loadBalancers = response.result;\n",
                      "    console.log(loadBalancers);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Global Load Balancers"
        ],
        "summary": "Create load balancer",
        "operationId": "create_load_balancer",
        "description": "Create a load balancer for a given DNS zone",
        "responses": {
          "200": {
            "description": "Load balancer created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/load_balancer"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/load_balancer_input"
              }
            }
          },
          "description": "Create a load balancer."
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createLoadBalancerOptions := service.NewCreateLoadBalancerOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "createLoadBalancerOptions.SetName(\"testloadbalancer\")\n",
                      "createLoadBalancerOptions.SetDescription(\"PDNS Load balancer\")\n",
                      "createLoadBalancerOptions.SetEnabled(true)\n",
                      "createLoadBalancerOptions.SetTTL(120)\n",
                      "createLoadBalancerOptions.SetFallbackPool(\"567ea43ab9583a67a\")\n",
                      "createLoadBalancerOptions.SetDefaultPools([]string{\"567ea43ab9583a67a\"})\n",
                      "result, response, reqErr := service.CreateLoadBalancer(createLoadBalancerOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/dnszones/b6b2cbd9-109d-41f5-a4ec-b906d9040f08/load_balancers' \\\n",
                      "-H 'Authorization: Bearer xxxxx' \\\n",
                      "-H 'Content-Type: application/json' \\\n",
                      "-d '{\n",
                      "  \"name\": \"glb.example.com\",\n",
                      "  \"description\": \"Load balancer for glb.example.com.\",\n",
                      "  \"enabled\": true,\n",
                      "  \"ttl\": 120,\n",
                      "  \"fallback_pool\": \"7bab5eeb-59d2-4abe-a487-ab513df70ba4\",\n",
                      "  \"default_pools\": [\n",
                      "    \"7bab5eeb-59d2-4abe-a487-ab513df70ba4\"\n",
                      "  ],\n",
                      "  \"az_pools\": [\n",
                      "    {\n",
                      "      \"availability_zone\": \"us-south-1\",\n",
                      "      \"pools\": [\n",
                      "        \"7bab5eeb-59d2-4abe-a487-ab513df70ba4\"\n",
                      "      ]\n",
                      "    }\n",
                      "  ]\n",
                      "}'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.create_load_balancer(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    name=\"testloadbalancer\",\n",
                      "    fallback_pool=\"78ab5689eda7659ca765a7d8f6\",\n",
                      "    default_pools=[\"78ab5689eda7659ca765a7d8f6\"],\n",
                      "    description=\"Creating testloadbalancer\",\n",
                      "    enabled=True,\n",
                      "    ttl=60)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      LoadBalancerAzPoolsItem loadBalancerAzPoolsItemModel = new LoadBalancerAzPoolsItem.Builder()\n",
                      "      .availabilityZone(\"us-east-1\")\n",
                      "      .pools(new java.util.ArrayList<String>(java.util.Arrays.asList(pool_id)))\n",
                      "      .build();\n",
                      "\n",
                      "      CreateLoadBalancerOptions createLoadBalancerOptions = new CreateLoadBalancerOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .name(\"glb.example.com\")\n",
                      "      .description(\"Load balancer for glb.example.com.\")\n",
                      "      .enabled(true)\n",
                      "      .ttl(Long.valueOf(\"120\"))\n",
                      "      .fallbackPool(pool_id)\n",
                      "      .defaultPools(new java.util.ArrayList<String>(java.util.Arrays.asList(pool_id)))\n",
                      "      .azPools(new java.util.ArrayList<LoadBalancerAzPoolsItem>(java.util.Arrays.asList(loadBalancerAzPoolsItemModel)))\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<LoadBalancer> response = service.createLoadBalancer(createLoadBalancerOptions).execute();\n",
                      "\n",
                      "      LoadBalancer loadBalancerResult = response.getResult();\n",
                      "\n",
                      "      lb_id = loadBalancerResult.getId();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    name: 'testloadbalancer-testing',\n",
                      "    fallbackPool: ${GlbPoolId},\n",
                      "    defaultPools: ${GlbPoolId},\n",
                      "    description: 'PDNS Load balancer',\n",
                      "    enabled: true,\n",
                      "    ttl: 120,\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.createLoadBalancer(params)\n",
                      "  .then(response => {\n",
                      "    const loadBalancer = response.result;\n",
                      "    console.log(loadBalancer);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/load_balancers/{lb_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/lb_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "Global Load Balancers"
        ],
        "summary": "Delete load balancer",
        "operationId": "delete_load_balancer",
        "description": "Delete a load balancer",
        "responses": {
          "204": {
            "description": "The load balancer was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteLoadBalancerOptions := service.NewDeleteLoadBalancerOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "\t\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "response, reqErr := service.DeleteLoadBalancer(deleteLoadBalancerOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/dnszones/b6b2cbd9-109d-41f5-a4ec-b906d9040f08/load_balancers/100f81cf-984b-44a9-a44d-5ea5c412d29b' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_load_balancer(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    lb_id=\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeleteLoadBalancerOptions deleteLoadBalancerOptions = new DeleteLoadBalancerOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .lbId(lb_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Void> response = service.deleteLoadBalancer(deleteLoadBalancerOptions).execute();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    lbId: ${GlbId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "dnsSvcsApisV1.deleteLoadBalancer(params)\n",
                      "  .then(response => {\n",
                      "    const deletedLoadBalancer = response.result;\n",
                      "    console.log(deletedLoadBalancer);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Global Load Balancers"
        ],
        "summary": "Get load balancer",
        "operationId": "get_load_balancer",
        "description": "Get details of a load balancer",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/load_balancer"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getLoadBalancerOptions := service.NewGetLoadBalancerOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "\t\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "result, response, reqErr := service.GetLoadBalancer(getLoadBalancerOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/dnszones/b6b2cbd9-109d-41f5-a4ec-b906d9040f08/load_balancers/100f81cf-984b-44a9-a44d-5ea5c412d29b' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_load_balancer(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    lb_id=\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      GetLoadBalancerOptions getLoadBalancerOptions = new GetLoadBalancerOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .lbId(lb_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<LoadBalancer> response = service.getLoadBalancer(getLoadBalancerOptions).execute();\n",
                      "\n",
                      "      LoadBalancer loadBalancerResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    lbId: glb.id,\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.getLoadBalancer(params)\n",
                      "  .then(response => {\n",
                      "    const loadBalancer = response.result;\n",
                      "    console.log(loadBalancer);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "tags": [
          "Global Load Balancers"
        ],
        "summary": "Update load balancer",
        "operationId": "update_load_balancer",
        "description": "Update the properties of a load balancer.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/load_balancer"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/load_balancer_update_input"
              }
            }
          },
          "description": "Update the properties of a load balancer."
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateLoadBalancerOptions := service.NewUpdateLoadBalancerOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "\t\"fecd0173-3919-456b-b202-3029dfa1b0f7\")\n",
                      "updateLoadBalancerOptions.SetName(\"update-testloadbalancer\")\n",
                      "updateLoadBalancerOptions.SetDescription(\"Update PDNS Load balancer\")\n",
                      "updateLoadBalancerOptions.SetEnabled(true)\n",
                      "updateLoadBalancerOptions.SetTTL(120)\n",
                      "updateLoadBalancerOptions.SetFallbackPool(\"567ea43ab9583a67a\")\n",
                      "updateLoadBalancerOptions.SetDefaultPools([]string{\"567ea43ab9583a67a\"})\n",
                      "result, response, reqErr := service.UpdateLoadBalancer(updateLoadBalancerOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/dnszones/b6b2cbd9-109d-41f5-a4ec-b906d9040f08/load_balancers/100f81cf-984b-44a9-a44d-5ea5c412d29b' \\\n",
                      "-H 'Authorization: Bearer xxxxx' \\\n",
                      "-H 'Content-Type: application/json' \\\n",
                      "-d '{\n",
                      "  \"name\": \"glb.example.com\",\n",
                      "  \"description\": \"Load balancer for glb.example.com.\",\n",
                      "  \"enabled\": true,\n",
                      "  \"ttl\": 120,\n",
                      "  \"fallback_pool\": \"7bab5eeb-59d2-4abe-a487-ab513df70ba4\",\n",
                      "  \"default_pools\": [\n",
                      "    \"7bab5eeb-59d2-4abe-a487-ab513df70ba4\"\n",
                      "  ],\n",
                      "  \"az_pools\": [\n",
                      "    {\n",
                      "      \"availability_zone\": \"us-south-1\",\n",
                      "      \"pools\": [\n",
                      "        \"7bab5eeb-59d2-4abe-a487-ab513df70ba4\"\n",
                      "      ]\n",
                      "    }\n",
                      "  ]\n",
                      "}'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.update_load_balancer(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    dnszone_id=\"c775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    lb_id=\"fecd0173-3919-456b-b202-3029dfa1b0f7\",\n",
                      "    name=\"testloadbalancerupdate\",\n",
                      "    fallback_pool=\"78ab5689eda7659ca765a7d8f6\",\n",
                      "    default_pools=[\"78ab5689eda7659ca765a7d8f6\"],\n",
                      "    description=\"Updating testloadbalancer\",\n",
                      "    enabled=False,\n",
                      "    ttl=120)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      LoadBalancerAzPoolsItem loadBalancerAzPoolsItemModel = new LoadBalancerAzPoolsItem.Builder()\n",
                      "      .availabilityZone(\"us-east-1\")\n",
                      "      .pools(new java.util.ArrayList<String>(java.util.Arrays.asList(pool_id)))\n",
                      "      .build();\n",
                      "\n",
                      "      UpdateLoadBalancerOptions updateLoadBalancerOptions = new UpdateLoadBalancerOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .dnszoneId(zone_id)\n",
                      "      .lbId(lb_id)\n",
                      "      .name(\"glb.example.com\")\n",
                      "      .description(\"Load balancer for glb.example.com.\")\n",
                      "      .enabled(true)\n",
                      "      .ttl(Long.valueOf(\"120\"))\n",
                      "      .fallbackPool(pool_id)\n",
                      "      .defaultPools(new java.util.ArrayList<String>(java.util.Arrays.asList(pool_id)))\n",
                      "      .azPools(new java.util.ArrayList<LoadBalancerAzPoolsItem>(java.util.Arrays.asList(loadBalancerAzPoolsItemModel)))\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<LoadBalancer> response = service.updateLoadBalancer(updateLoadBalancerOptions).execute();\n",
                      "\n",
                      "      LoadBalancer loadBalancerResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    dnszoneId: ${DnsZoneId},\n",
                      "    lbId: ${GlbId},\n",
                      "    name: 'updateLoadBalancer',\n",
                      "    description: 'updating Load Balancer',\n",
                      "    ttl: 300,\n",
                      "    fallbackPool: ${GlbPoolId},\n",
                      "    defaultPools: [${GlbPoolId}],\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "dnsSvcsApisV1.updateLoadBalancer(params)\n",
                      "  .then(response => {\n",
                      "    const updatedLoadBalancer = response.result;\n",
                      "    console.log(updatedLoadBalancer);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/pools": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Pools"
        ],
        "summary": "List load balancer pools",
        "operationId": "list_pools",
        "description": "List the load balancer pools",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/list_pools"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listPoolsOptions := service.NewListPoolsOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "result, response, reqErr := service.ListPools(listPoolsOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Total Count : %d\", *result.TotalCount)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/pools' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.list_pools(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ListPoolsOptions listPoolsOptions = new ListPoolsOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ListPools> response = service.listPools(listPoolsOptions).execute();\n",
                      "\n",
                      "      ListPools listPoolsResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "dnsSvcsApisV1.listPools(params)\n",
                      "  .then(response => {\n",
                      "    const pools = response.result;\n",
                      "    console.log(pools);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Pools"
        ],
        "summary": "Create load balancer pool",
        "operationId": "create_pool",
        "description": "Create a load balancer pool",
        "responses": {
          "200": {
            "description": "Load balancer pool created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pool"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/pool_input"
              }
            }
          },
          "description": "Create a load balancer pool."
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createPoolOptions := service.NewCreatePoolOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "createPoolOptions.SetName(\"testPool\")\n",
                      "createPoolOptions.SetDescription(\"creating pool\")\n",
                      "createPoolOptions.SetEnabled(true)\n",
                      "createPoolOptions.SetHealthyOriginsThreshold(1)\n",
                      "createPoolOptions.SetMonitor(\"78546a78db87432fea56422\")\n",
                      "result, response, reqErr := service.CreatePool(createPoolOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/pools' \\\n",
                      "-H 'Authorization: Bearer xxxxx' \\\n",
                      "-H 'Content-Type: application/json' \\\n",
                      "-d '{\n",
                      "  \"name\": \"dal10-az-pool\",\n",
                      "  \"description\": \"Load balancer pool for dal10 availability zone.\",\n",
                      "  \"enabled\": true,\n",
                      "  \"healthy_origins_threshold\": 1,\n",
                      "  \"origins\": [\n",
                      "    {\n",
                      "      \"name\": \"app-server-1\",\n",
                      "      \"description\": \"description of the origin server\",\n",
                      "      \"address\": \"10.10.16.8\",\n",
                      "      \"enabled\": true\n",
                      "    }\n",
                      "  ],\n",
                      "  \"monitor\": \"74547437-1ae1-4428-9281-83b5c7f84324\",\n",
                      "  \"notification_channel\": \"https://mywebsite.com/dns/webhook\",\n",
                      "  \"healthcheck_subnets\": [\n",
                      "    \"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\"\n",
                      "  ]\n",
                      "}'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.create_pool(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    name=\"testpool\",\n",
                      "    origins=[\n",
                      "        {\n",
                      "            \"name\": \"app-server-1\",\n",
                      "                \"address\": \"10.10.10.8\",\n",
                      "                \"enabled\": True\n",
                      "        }\n",
                      "    ],\n",
                      "    description=\"create testpool\",\n",
                      "    enabled=True,\n",
                      "    healthy_origins_threshold=1)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      OriginInput originInputModel = new OriginInput.Builder()\n",
                      "      .name(\"app-server-1\")\n",
                      "      .description(\"description of the origin server\")\n",
                      "      .address(\"10.10.16.8\")\n",
                      "      .enabled(true)\n",
                      "      .build();\n",
                      "\n",
                      "      CreatePoolOptions createPoolOptions = new CreatePoolOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .name(\"dal10-az-pool\")\n",
                      "      .description(\"Load balancer pool for dal10 availability zone.\")\n",
                      "      .enabled(true)\n",
                      "      .healthyOriginsThreshold(Long.valueOf(\"1\"))\n",
                      "      .origins(new java.util.ArrayList<OriginInput>(java.util.Arrays.asList(originInputModel)))\n",
                      "      .monitor(monitor_id)\n",
                      "      .notificationChannel(\"https://mywebsite.com/dns/webhook\")\n",
                      "      .healthcheckRegion(\"us-east\")\n",
                      "      .healthcheckSubnets(new java.util.ArrayList<String>(java.util.Arrays.asList(subnet_id)))\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "// .healthcheckSubnets(new java.util.ArrayList<String>(java.util.Arrays.asList(\"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\")))\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Pool> response = service.createPool(createPoolOptions).execute();\n",
                      "\n",
                      "      Pool poolResult = response.getResult();\n",
                      "\n",
                      "      pool_id = poolResult.getId();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    name: \"dal10-az-pool\",\n",
                      "    origins: [\n",
                      "        {\n",
                      "          name: \"app-server-1\",\n",
                      "          description: \"description of the origin server\",\n",
                      "          address: \"10.10.16.8\",\n",
                      "          enabled: true\n",
                      "        }\n",
                      "      ],\n",
                      "    description: \"Load balancer pool for dal10 availability zone.\",\n",
                      "    enabled: true,\n",
                      "    healthyOriginsThreshold: 1,\n",
                      "    monitor: \"7dd6841c-264e-11ea-88df-062967242a6a\",\n",
                      "    healthcheckRegion: \"us-south\",\n",
                      "    healthcheckSubnets: [\n",
                      "        \"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\"\n",
                      "    ],\n",
                      "    xCorrelationId: \"abc123\",\n",
                      "}\n",
                      "\n",
                      "dnsSvcsApisV1.createPool(params)\n",
                      "  .then(response => {\n",
                      "    const pool = response.result;\n",
                      "    console.log(pool);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      "\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/pools/{pool_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/pool_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "Pools"
        ],
        "summary": "Delete load balancer pool",
        "operationId": "delete_pool",
        "description": "Delete a load balancer pool",
        "responses": {
          "204": {
            "description": "The load balancer pool was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deletePoolOptions := service.NewDeletePoolOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "response, reqErr := service.DeletePool(deletePoolOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/pools/1a696046-ebf5-408a-a9e5-8ee021f30ee8' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_pool(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    pool_id=\"775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeletePoolOptions deletePoolOptions = new DeletePoolOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .poolId(pool_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Void> response = service.deletePool(deletePoolOptions).execute();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    poolId: ${GlbPoolId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "dnsSvcsApisV1.deletePool(params)\n",
                      "  .then(response => {\n",
                      "    const deletedPool = response.result;\n",
                      "    console.log(pool);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Pools"
        ],
        "summary": "Get load balancer pool",
        "operationId": "get_pool",
        "description": "Get details of a load balancer pool",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pool"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getPoolOptions := service.NewGetPoolOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "result, response, reqErr := service.GetPool(getPoolOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/pools/1a696046-ebf5-408a-a9e5-8ee021f30ee8' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_pool(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    pool_id=\"775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "   try {\n",
                      "      GetPoolOptions getPoolOptions = new GetPoolOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .poolId(pool_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Pool> response = service.getPool(getPoolOptions).execute();\n",
                      "\n",
                      "      Pool poolResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    poolId: ${GlbPoolId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "dnsSvcsApisV1.getPool(params)\n",
                      "  .then(response => {\n",
                      "    const pool = response.result;\n",
                      "    console.log(pool);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "tags": [
          "Pools"
        ],
        "summary": "Update load balancer pool",
        "operationId": "update_pool",
        "description": "Update the properties of a load balancer pool.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pool"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/pool_update_input"
              }
            }
          },
          "description": "Update the properties of a load balancer pool."
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updatePoolOptions := service.NewUpdatePoolOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"775e22a-5db5-4614-9c7e-27db0c8dbc13\")\n",
                      "updatePoolOptions.SetName(\"testPool\")\n",
                      "updatePoolOptions.SetDescription(\"updating pool\")\n",
                      "updatePoolOptions.SetEnabled(true)\n",
                      "updatePoolOptions.SetHealthyOriginsThreshold(1)\n",
                      "updatePoolOptions.SetMonitor(\"78546a78db87432fea56422\")\n",
                      "result, response, reqErr := service.UpdatePool(updatePoolOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID: %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/pools/1a696046-ebf5-408a-a9e5-8ee021f30ee8' \\\n",
                      "-H 'Authorization: Bearer xxxxx' \\\n",
                      "-H 'Content-Type: application/json' \\\n",
                      "-d '{\n",
                      "  \"name\": \"dal11-bz-pool\",\n",
                      "  \"description\": \"Load balancer pool for dal11 availability zone.\",\n",
                      "  \"enabled\": true,\n",
                      "  \"healthy_origins_threshold\": 1,\n",
                      "  \"origins\": [\n",
                      "    {\n",
                      "      \"name\": \"app-server-1\",\n",
                      "      \"description\": \"description of the origin server\",\n",
                      "      \"address\": \"10.10.16.9\",\n",
                      "      \"enabled\": true\n",
                      "    }\n",
                      "  ],\n",
                      "  \"monitor\": \"74547437-1ae1-4428-9281-83b5c7f84324\",\n",
                      "  \"notification_channel\": \"https://mywebsite.com/dns/webhook\",\n",
                      "  \"healthcheck_subnets\": [\n",
                      "    \"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\"\n",
                      "  ]\n",
                      "}'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.update_pool(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    pool_id=\"775e22a-5db5-4614-9c7e-27db0c8dbc13\",\n",
                      "    name=\"testpool-update\",\n",
                      "    origins=[\n",
                      "        {\n",
                      "            \"name\": \"app-server-1\",\n",
                      "                \"address\": \"10.10.10.10\",\n",
                      "                \"enabled\": False\n",
                      "        }\n",
                      "    ],\n",
                      "    description=\"update testpool\",\n",
                      "    enabled=False,\n",
                      "    healthy_origins_threshold=5)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      OriginInput originInputModel = new OriginInput.Builder()\n",
                      "      .name(\"app-server-1\")\n",
                      "      .description(\"description of the origin server\")\n",
                      "      .address(\"10.10.16.8\")\n",
                      "      .enabled(true)\n",
                      "      .build();\n",
                      "\n",
                      "      UpdatePoolOptions updatePoolOptions = new UpdatePoolOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .poolId(pool_id)\n",
                      "      .name(\"dal10-az-pool\")\n",
                      "      .description(\"Load balancer pool for dal10 availability zone.\")\n",
                      "      .enabled(true)\n",
                      "      .healthyOriginsThreshold(Long.valueOf(\"1\"))\n",
                      "      .origins(new java.util.ArrayList<OriginInput>(java.util.Arrays.asList(originInputModel)))\n",
                      "      .monitor(monitor_id)\n",
                      "      .notificationChannel(\"https://mywebsite.com/dns/webhook\")\n",
                      "      .healthcheckRegion(\"us-east\")\n",
                      "      .healthcheckSubnets(new java.util.ArrayList<String>(java.util.Arrays.asList(subnet_id)))\n",
                      "      //.healthcheckSubnets(new java.util.ArrayList<String>(java.util.Arrays.asList(\"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\")))\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Pool> response = service.updatePool(updatePoolOptions).execute();\n",
                      "\n",
                      "      Pool poolResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    poolId: ${GlbPoolId},\n",
                      "    name: \"dal10-az-pool\",\n",
                      "    origins: [\n",
                      "        {\n",
                      "          name: \"app-server-1\",\n",
                      "          description: \"description of the origin server\",\n",
                      "          address: \"10.10.16.8\",\n",
                      "          enabled: true\n",
                      "        }\n",
                      "      ],\n",
                      "    description: \"Load balancer pool for dal10 availability zone.\",\n",
                      "    enabled: true,\n",
                      "    monitor: \"7dd6841c-264e-11ea-88df-062967242a6a\",\n",
                      "    healthcheckRegion: \"us-south\",\n",
                      "    healthcheckSubnets: [\n",
                      "        \"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\"\n",
                      "    ],\n",
                      "    xCorrelationId: \"abc123\",\n",
                      "}\n",
                      "\n",
                      "dnsSvcsApisV1.updatePool(params)\n",
                      "  .then(response => {\n",
                      "    const updatedPool = response.result;\n",
                      "    console.log(updatedPool);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      "\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/monitors": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Monitors"
        ],
        "summary": "List load balancer monitors",
        "operationId": "list_monitors",
        "description": "List the load balancer monitors",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/list_monitors"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listMonitorsOptions := service.NewListMonitorsOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "result, response, reqErr := service.ListMonitors(listMonitorsOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Total Count : %d\", *result.TotalCount)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/monitors' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.list_monitors(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ListMonitorsOptions listMonitorsOptions = new ListMonitorsOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ListMonitors> response = service.listMonitors(listMonitorsOptions).execute();\n",
                      "\n",
                      "      ListMonitors listMonitorsResult = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.listMonitors(params)\n",
                      "  .then(response => {\n",
                      "    const monitors = response.result;\n",
                      "    console.log(monitors);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Monitors"
        ],
        "summary": "Create load balancer monitor",
        "operationId": "create_monitor",
        "description": "Create a load balancer monitor",
        "responses": {
          "200": {
            "description": "Load balancer monitor created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/monitor"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/monitor_input"
              }
            }
          },
          "description": "Create a load balancer monitor."
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createMonitorOptions := service.NewCreateMonitorOptions(\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "createMonitorOptions.SetName(\"test\")\n",
                      "createMonitorOptions.SetExpectedCodes(\"200\")\n",
                      "createMonitorOptions.SetType(dnssvcsv1.CreateMonitorOptions_Type_Http)\n",
                      "createMonitorOptions.SetDescription(\"PDNS Load balancer monitor.\")\n",
                      "createMonitorOptions.SetPort(8080)\n",
                      "createMonitorOptions.SetInterval(60)\n",
                      "createMonitorOptions.SetRetries(2)\n",
                      "createMonitorOptions.SetTimeout(5)\n",
                      "createMonitorOptions.SetMethod(dnssvcsv1.CreateMonitorOptions_Method_Get)\n",
                      "createMonitorOptions.SetPath(\"health\")\n",
                      "createMonitorOptions.SetAllowInsecure(false)\n",
                      "createMonitorOptions.SetExpectedBody(\"alive\")\n",
                      "result, response, reqErr := service.CreateMonitor(createMonitorOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/monitors' \\\n",
                      "-H 'Authorization: Bearer xxxxxx' \\\n",
                      "-H 'Content-Type: application/json' \\\n",
                      "-d '{\n",
                      "  \"name\": \"healthcheck-monitor\",\n",
                      "  \"description\": \"Load balancer monitor for glb.example.com.\",\n",
                      "  \"type\": \"HTTPS\",\n",
                      "  \"port\": 8080,\n",
                      "  \"interval\": 60,\n",
                      "  \"retries\": 2,\n",
                      "  \"timeout\": 5,\n",
                      "  \"method\": \"GET\",\n",
                      "  \"path\": \"/health\",\n",
                      "  \"headers\": [\n",
                      "    {\n",
                      "      \"name\": \"Host\",\n",
                      "      \"value\": [\n",
                      "        \"origin.example.com\"\n",
                      "      ]\n",
                      "    }\n",
                      "  ],\n",
                      "  \"allow_insecure\": false,\n",
                      "  \"expected_codes\": \"200\",\n",
                      "  \"expected_body\": \"alive\"\n",
                      "}'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.create_monitor(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    name='testmonitor1',\n",
                      "    lbtype='HTTP',\n",
                      "    description='Creating testmonitor1',\n",
                      "    port=8080,\n",
                      "    interval=60,\n",
                      "    retries=0,\n",
                      "    timeout=5,\n",
                      "    method='GET',\n",
                      "    path=\"/health\",\n",
                      "    header={\"Host\": [\"example.com\"], \"X-App-ID\": [\"abc123\"]},\n",
                      "    allow_insecure=True,\n",
                      "    expected_body=\"alive\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      HealthcheckHeader healthcheckHeaderModel = new HealthcheckHeader.Builder()\n",
                      "      .name(\"Host\")\n",
                      "      .value(new java.util.ArrayList<String>(java.util.Arrays.asList(\"origin.example.com\")))\n",
                      "      .build();\n",
                      "\n",
                      "      CreateMonitorOptions createMonitorOptions = new CreateMonitorOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .name(\"test-healthcheck-monitor\")\n",
                      "      .description(\"Load balancer monitor for glb.example.com.\")\n",
                      "      .type(\"HTTPS\")\n",
                      "      .port(Long.valueOf(\"8080\"))\n",
                      "      .interval(Long.valueOf(\"60\"))\n",
                      "      .retries(Long.valueOf(\"2\"))\n",
                      "      .timeout(Long.valueOf(\"5\"))\n",
                      "      .method(\"GET\")\n",
                      "      .path(\"/health\")\n",
                      "      .headers(new java.util.ArrayList<HealthcheckHeader>(java.util.Arrays.asList(healthcheckHeaderModel)))\n",
                      "      .allowInsecure(false)\n",
                      "      .expectedCodes(\"200\")\n",
                      "      .expectedBody(\"alive\")\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Monitor> response = service.createMonitor(createMonitorOptions).execute();\n",
                      "\n",
                      "      Monitor monitorResult = response.getResult();\n",
                      "      monitor_id = monitorResult.getId();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    name: 'sdkMonitor-example',\n",
                      "    type: 'HTTP',\n",
                      "    description: 'PDNS Load balancer monitor.',\n",
                      "    port: 8080,\n",
                      "    interval: 60,\n",
                      "    retries: 2,\n",
                      "    timeout: 5,\n",
                      "    method: 'GET',\n",
                      "    path: 'health',\n",
                      "    allowInsecure: false,\n",
                      "    expectedCodes: '200',\n",
                      "    expectedBody: 'alive',\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.createMonitor(params)\n",
                      "  .then(response => {\n",
                      "    const monitor = response.result;\n",
                      "    console.log(monitor);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      "\n",
                      "\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/monitors/{monitor_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/monitor_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "Monitors"
        ],
        "summary": "Delete load balancer monitor",
        "operationId": "delete_monitor",
        "description": "Delete a load balancer monitor",
        "responses": {
          "204": {
            "description": "The load balancer monitor was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteMonitorOptions := service.NewDeleteMonitorOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "response, reqErr := service.DeleteMonitor(deleteMonitorOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/monitors/245f3493-78d3-432c-9bf5-933a2543ebad' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_monitor(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    monitor_id=\"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeleteMonitorOptions deleteMonitorOptions = new DeleteMonitorOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .monitorId(monitor_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Void> response = service.deleteMonitor(deleteMonitorOptions).execute();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    monitorId: ${GlbMonitorId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.deleteMonitor(params)\n",
                      "  .then(response => {\n",
                      "    const deletedMonitor = response.result;\n",
                      "    console.log(deletedMonitor);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Monitors"
        ],
        "summary": "Get load balancer monitor",
        "operationId": "get_monitor",
        "description": "Get details of a load balancer monitor",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/monitor"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getMonitorOptions := service.NewGetMonitorOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "result, response, reqErr := service.GetMonitor(getMonitorOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/monitors/245f3493-78d3-432c-9bf5-933a2543ebad' \\\n",
                      "-H 'Authorization: Bearer xxxxx'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_monitor(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    monitor_id=\"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      GetMonitorOptions getMonitorOptions = new GetMonitorOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .monitorId(monitor_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Monitor> response = service.getMonitor(getMonitorOptions).execute();\n",
                      "\n",
                      "      Monitor monitorResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    monitorId: ${GlbMonitorId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.getMonitor(params)\n",
                      "  .then(response => {\n",
                      "    const deletedMonitor = response.result;\n",
                      "    console.log(deletedMonitor);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "tags": [
          "Monitors"
        ],
        "summary": "Update load balancer monitor",
        "operationId": "update_monitor",
        "description": "Update the properties of a load balancer monitor.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/monitor"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/monitor_update_input"
              }
            }
          },
          "description": "Update the properties of a load balancer monitor."
        },
        "x-sdk-operations": {
          "request-examples": {
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateMonitorOptions := service.NewUpdateMonitorOptions(\n",
                      "\t\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "\t\"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "updateMonitorOptions.SetName(\"update monitor\")\n",
                      "updateMonitorOptions.SetType(dnssvcsv1.UpdateMonitorOptions_Type_Https)\n",
                      "result, response, reqErr := service.UpdateMonitor(updateMonitorOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT 'https://api.dns-svcs.cloud.ibm.com/v1/instances/d5d53a57-212e-48f8-86d0-9082140de0ac/monitors/245f3493-78d3-432c-9bf5-933a2543ebad' \\\n",
                      "-H 'Authorization: Bearer xxxxxx' \\\n",
                      "-H 'Content-Type: application/json' \\\n",
                      "-d '{\n",
                      "  \"name\": \"healthcheck-monitor\",\n",
                      "  \"description\": \"Load balancer monitor for glb.example.com.\",\n",
                      "  \"type\": \"HTTPS\",\n",
                      "  \"port\": 8080,\n",
                      "  \"interval\": 60,\n",
                      "  \"retries\": 2,\n",
                      "  \"timeout\": 5,\n",
                      "  \"method\": \"GET\",\n",
                      "  \"path\": \"/health\",\n",
                      "  \"headers\": [\n",
                      "    {\n",
                      "      \"name\": \"Host\",\n",
                      "      \"value\": [\n",
                      "        \"origin-update.example.com\"\n",
                      "      ]\n",
                      "    }\n",
                      "  ],\n",
                      "  \"allow_insecure\": false,\n",
                      "  \"expected_codes\": \"200\",\n",
                      "  \"expected_body\": \"alive\"\n",
                      "}'"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.update_monitor(\n",
                      "    instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "    monitor_id=\"775e22a-5db5-4614-9c7e-27db0cbc13\",\n",
                      "    name='testmonitor1-update',\n",
                      "    lbtype='HTTP',\n",
                      "    description='updating testmonitor1',\n",
                      "    port=80,\n",
                      "    interval=120,\n",
                      "    retries=3,\n",
                      "    timeout=5,\n",
                      "    method='GET',\n",
                      "    path=\"/health\",\n",
                      "    header={\n",
                      "        \"Host\": [\n",
                      "            \"example.com\"\n",
                      "        ],\n",
                      "        \"X-App-ID\": [\n",
                      "            \"abc123\"\n",
                      "        ]\n",
                      "    },\n",
                      "    allow_insecure=True,\n",
                      "    expected_body=\"alive\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      HealthcheckHeader healthcheckHeaderModel = new HealthcheckHeader.Builder()\n",
                      "      .name(\"Host\")\n",
                      "      .value(new java.util.ArrayList<String>(java.util.Arrays.asList(\"origin.example.com\")))\n",
                      "      .build();\n",
                      "\n",
                      "      UpdateMonitorOptions updateMonitorOptions = new UpdateMonitorOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .monitorId(monitor_id)\n",
                      "      .name(\"healthcheck-monitor\")\n",
                      "      .description(\"Load balancer monitor for glb.example.com.\")\n",
                      "      .type(\"HTTPS\")\n",
                      "      .port(Long.valueOf(\"8080\"))\n",
                      "      .interval(Long.valueOf(\"60\"))\n",
                      "      .retries(Long.valueOf(\"2\"))\n",
                      "      .timeout(Long.valueOf(\"5\"))\n",
                      "      .method(\"GET\")\n",
                      "      .path(\"/health\")\n",
                      "      .headers(new java.util.ArrayList<HealthcheckHeader>(java.util.Arrays.asList(healthcheckHeaderModel)))\n",
                      "      .allowInsecure(false)\n",
                      "      .expectedCodes(\"200\")\n",
                      "      .expectedBody(\"alive\")\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Monitor> response = service.updateMonitor(updateMonitorOptions).execute();\n",
                      "\n",
                      "      Monitor monitorResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    monitorId: ${GlbMonitorId},\n",
                      "    description: 'Update Description - SDK Test',\n",
                      "    name: 'UpdatedSDK-Test',\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.updateMonitor(params)\n",
                      "  .then(response => {\n",
                      "    const updatedMonitor = response.result;\n",
                      "    console.log(updatedMonitor);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      "\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Custom Resolvers"
        ],
        "summary": "List custom resolvers",
        "operationId": "list_custom_resolvers",
        "description": "List the custom resolvers",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_resolver_list"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listCustomResolverOptions := service.NewListCustomResolversOptions(instanceID)\n",
                      "listCustomResolverOptions.SetXCorrelationID(\"abc123\")\n",
                      "result, response, reqErr := service.ListCustomResolvers(listCustomResolverOptions)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.CustomResolvers[0].ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.list_custom_resolvers(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.listCustomResolvers(params)\n",
                      "  .then(response => {\n",
                      "    const customResolvers = response.result;\n",
                      "    console.log(customResolvers);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ListCustomResolversOptions listCustomResolversOptions = new ListCustomResolversOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<CustomResolverList> response = service.listCustomResolvers(listCustomResolversOptions).execute();\n",
                      "\n",
                      "      CustomResolverList listCustomResolverResult = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Custom Resolvers"
        ],
        "summary": "Create a custom resolver",
        "operationId": "create_custom_resolver",
        "description": "Create a custom resolver",
        "responses": {
          "200": {
            "description": "custom resolver created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_resolver"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/custom_resolver_input"
              }
            }
          },
          "description": "Create a custom resolver."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"name\": \"custom-resolver-01\",\n",
                      "    \"description\": \"test custom resolver\",\n",
                      "    \"locations\": [\n",
                      "        {\n",
                      "            \"subnet_crn\": \"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-03d54d71-b438-4d20-b943-76d3d2a1a590\",\n",
                      "            \"enabled\": true\n",
                      "        }\n",
                      "    ]\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "locationInputModel := new(dnssvcsv1.LocationInput)\n",
                      "locationInputModel.SubnetCrn = core.StringPtr(\"0716-b49ef064-0f89-4fb1-8212-135b12568f04\")\n",
                      "locationInputModel.Enabled = core.BoolPtr(false)\n",
                      "\n",
                      "// Construct an instance of the CreateCustomResolverOptions model\n",
                      "createCustomResolverOptions := service.NewCreateCustomResolverOptions(\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\")\n",
                      "createCustomResolverOptions.SetName(\"custom-resolver\")\n",
                      "createCustomResolverOptions.SetDescription(\"custom-resolver\")\n",
                      "createCustomResolverOptions.SetXCorrelationID(\"testString\")\t\t\t\tcreateCustomResolverOptions.SetLocations([]dnssvcsv1.LocationInput{*locationInputModel})\n",
                      "result, response, reqErr := service.CreateCustomResolver(createCustomResolverOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response  = dnssvc.create_custom_resolver(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "name='testcustomeresolver1',\n",
                      "locations={\"subnet_crn\": \"crn:v1:bluemix:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\", \"enabled\": true },\n",
                      "description=\"Creating Custom Resolver),\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "\n",
                      "const locationInputModel = {\n",
                      "          subnet_crn: ${SUBNET_CRN},\n",
                      "          enabled: false,\n",
                      "};\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    name: 'sdkMonitor-example',\n",
                      "    locations: [locationInputModel],\n",
                      "    description: 'SDK test custom resolver',\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.createCustomResolver(params)\n",
                      "  .then(response => {\n",
                      "    const customResolver = response.result;\n",
                      "    console.log(customResolver);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      "\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      LocationInput locationInputModel = new LocationInput.Builder()\n",
                      "      .subnetCrn(\"crn:v1:bluemix:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\")\n",
                      "      .enabled(false)\n",
                      "      .build();\n",
                      "      \n",
                      "      CreateCustomResolverOptions createCustomResolverOptions = new CreateCustomResolverOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .name(\"my-resolver\")\n",
                      "      .description(\"custom resolver\")\n",
                      "      .locations(new java.util.ArrayList<LocationInput>(java.util.Arrays.asList(locationInputModel)))\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<CustomResolver> response = dnsSvcsService.createCustomResolver(createCustomResolverOptions).execute();\n",
                      "\n",
                      "      CustomResolver customresolverResult = response.getResult();\n",
                      "      resolver_id = customresolverResult.getId();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers/{resolver_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/resolver_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "Custom Resolvers"
        ],
        "summary": "Delete a custom resolver",
        "operationId": "delete_custom_resolver",
        "description": "Delete a custom resolver",
        "responses": {
          "204": {
            "description": "The custom resolver was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562 \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteCustomResolverOptionsModel := service.NewDeleteCustomResolverOptions(\n",
                      "                  \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                  \"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "deleteCustomResolverOptionsModel.SetXCorrelationID(\"testString\")\n",
                      "response, reqErr := service.DeleteCustomResolver(deleteCustomResolverOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_custom_resolver(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolveId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "dnsSvcsApisV1.deleteCustomResolver(params)\n",
                      "  .then(response => {\n",
                      "    const deletedCustomResolver = response.result;\n",
                      "    console.log(deletedCustomResolver);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeleteCustomResolverOptions deleteCustomResolverOptions = new DeleteCustomResolverOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Void> response = service.deleteCustomResolver(deleteCustomResolverOptions).execute();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Custom Resolvers"
        ],
        "summary": "Get a custom resolver",
        "operationId": "get_custom_resolver",
        "description": "Get details of a custom resolver",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_resolver"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562 \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getCustomResolverOptionsModel := service.NewGetCustomResolverOptions(\n",
                      "                 \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                 \"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "getCustomResolverOptionsModel.SetXCorrelationID(\"testString\")\n",
                      "result, response, reqErr := service.GetCustomResolver(getCustomResolverOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_custom_resolver(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.getCustomResolver(params)\n",
                      "  .then(response => {\n",
                      "    const customResolver = response.result;\n",
                      "    console.log(customResolver);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      GetCustomResolverOptions getCustomResolverOptions = new GetCustomResolverOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<CustomResolver> response = service.getCustomResolver(getCustomResolverOptions).execute();\n",
                      "\n",
                      "      CustomResolver customresolverResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Custom Resolvers"
        ],
        "summary": "Update a custom resolver",
        "operationId": "update_custom_resolver",
        "description": "Update the properties of a custom resolver.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_resolver"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/custom_resolver_update_input"
              }
            }
          },
          "description": "Update the properties of a custom resolver."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"name\": \"custom-resolver-01\",\n",
                      "    \"description\": \"test custom resolver\",\n",
                      "    \"enabled\": true\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateCustomResolverOptionsModel := service.NewUpdateCustomResolverOptions(\n",
                      "                  \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                  \"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "updateCustomResolverOptionsModel.SetName(\"my-resolver\")\n",
                      "updateCustomResolverOptionsModel.SetDescription(\"custom resolver\")\n",
                      "updateCustomResolverOptionsModel.SetEnabled(false)\n",
                      "updateCustomResolverOptionsModel.SetXCorrelationID(\"testString\")\n",
                      "result, response, reqErr := service.UpdateCustomResolver(updateCustomResolverOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.update_custom_resolver(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\", \n",
                      "name = \"updatecustomresolvers\"\n",
                      "description = \"Updating Custom Resolvers\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    description: 'Update Description',\n",
                      "    name: 'Updated-Test',\n",
                      "    enabled: false,\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.updateCustomResolver(params)\n",
                      "  .then(response => {\n",
                      "    const updatedCustomResolver = response.result;\n",
                      "    console.log(updatedCustomResolver);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      UpdateCustomResolverOptions updateCustomResolverOptions = new UpdateCustomResolverOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .name(\"my-resolver\")\n",
                      "      .description(\"custom resolver\")\n",
                      "      .enabled(false)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<CustomResolver> response = service.updateCustomResolver(updateCustomResolverOptions).execute();\n",
                      "\n",
                      "      CustomResolver customresolverResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers/{resolver_id}/locations_order": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/resolver_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "put": {
        "tags": [
          "Custom Resolvers"
        ],
        "summary": "Update the locations order of a custom resolver (DEPRECATED)",
        "operationId": "update_cr_locations_order",
        "description": "Update the locations order of a custom resolver",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/custom_resolver"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/locations_order_update_input"
              }
            }
          },
          "description": "Update the properties of a custom resolver."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/locations_order \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"locations\": [\"6850cbff-e330-402d-91a7-d65d63c95728\", \"3adf42c3-48c2-4c79-86f8-eb7ac4806cb2\"]\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers/{resolver_id}/locations": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/resolver_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "post": {
        "tags": [
          "Custom Resolver Locations"
        ],
        "summary": "Add custom resolver location",
        "operationId": "add_custom_resolver_location",
        "description": "Add custom resolver location",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/location"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/location_input"
              }
            }
          },
          "description": "Add custom resolver location"
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/locations \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"subnet_crn\": \"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-84dcb64e-3ada-45fd-b0f7-94de1ac0d16b\",\n",
                      "    \"enabled\": false\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "addCustomResolverLocationOptionsModel := service.NewAddCustomResolverLocationOptions(\n",
                      "                \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                \"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "addCustomResolverLocationOptionsModel.SetSubnetCrn(\"subnetCrn\")\n",
                      "addCustomResolverLocationOptionsModel.SetEnabled(false)\n",
                      "addCustomResolverLocationOptionsModel.SetXCorrelationID(\"testString\")\n",
                      "result, response, reqErr := service.AddCustomResolverLocation(addCustomResolverLocationOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.add_custom_resolver_location(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",\n",
                      "subnet_crn=\"crn:v1:bluemix:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04\",\n",
                      "enable=True)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "...\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    subnetCrn: ${SubnetCrn},\n",
                      "    enabled: false,\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.addCustomResolverLocation(params)\n",
                      "  .then(response => {\n",
                      "    const customResolverLoc = response.result;\n",
                      "    console.log(customResolverLoc);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      AddCustomResolverLocationOptions addCustomResolverLocationOptions = new AddCustomResolverLocationOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .subnetCrn(subnet_id_location)\n",
                      "      .enabled(false)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Location> response = service.addCustomResolverLocation(addCustomResolverLocationOptions).execute();\n",
                      "\n",
                      "      Location customresolverlocationResult = response.getResult();\n",
                      "      location_id = customresolverlocationResult.getId();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers/{resolver_id}/locations/{location_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/resolver_id"
        },
        {
          "$ref": "#/components/parameters/location_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "patch": {
        "tags": [
          "Custom Resolver Locations"
        ],
        "summary": "Update custom resolver location",
        "operationId": "update_custom_resolver_location",
        "description": "Update custom resolver location",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/location"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/location_update_input"
              }
            }
          },
          "description": "Update custom resolver location"
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/locations/bf6b4f83-bf0b-47c2-8bdf-e7fbd92db2c6 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"subnet_crn\": \"crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-84dcb64e-3ada-45fd-b0f7-94de1ac0d16b\",\n",
                      "    \"enabled\": true\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateCustomResolverLocationOptionsModel := service.NewUpdateCustomResolverLocationOptions(\n",
                      "                \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                \"775e22a-5db5-4614-9c7e-27db0cbc13\",\n",
                      "                \"8151b5f6-9deb-4c33-b571-91520fab2ba2\")\n",
                      "updateCustomResolverLocationOptionsModel.SetEnabled(true)\n",
                      "updateCustomResolverLocationOptionsModel.SetSubnetCrn(\"subnetCrn\")\n",
                      "updateCustomResolverLocationOptionsModel.SetXCorrelationID(\"testString\")\n",
                      "result, response, reqErr := service.UpdateCustomResolverLocation(updateCustomResolverLocationOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.update_custom_resolver_location(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",\n",
                      "location_id=\"89c90ac7-8332-41e4-855f-6417b754fc46\", \n",
                      "enable=True)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    locationId: '${CustomResolverLocationId}',\n",
                      "    subnetCrn: '${SUBNET_CRN}',\n",
                      "    enabled: false,\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.updateCustomResolverLocation(params)\n",
                      "  .then(response => {\n",
                      "    const updatedCustomResolverLoc = response.result;\n",
                      "    console.log(updatedCustomResolverLoc);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      UpdateCustomResolverLocationOptions updateCustomResolverLocationOptions = new UpdateCustomResolverLocationOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .locationId(location_id)\n",
                      "      .enabled(false)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Location> response = service.updateCustomResolverLocation(updateCustomResolverLocationOptions).execute();\n",
                      "\n",
                      "      Location customresolverlocationResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Custom Resolver Locations"
        ],
        "summary": "Delete custom resolver location",
        "operationId": "delete_custom_resolver_location",
        "description": "Delete custom resolver location",
        "responses": {
          "204": {
            "description": "The custom resolver location was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/locations/bf6b4f83-bf0b-47c2-8bdf-e7fbd92db2c6 \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteCustomResolverLocationOptionsModel := service.NewDeleteCustomResolverLocationOptions(\n",
                      "                \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                \"775e22a-5db5-4614-9c7e-27db0cbc13\",\n",
                      "                \"8151b5f6-9deb-4c33-b571-91520fab2ba2\")\n",
                      "deleteCustomResolverLocationOptionsModel.SetXCorrelationID(\"abc123\")\n",
                      "response, reqErr := service.DeleteCustomResolverLocation(deleteCustomResolverLocationOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_custom_resolver_location(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",\n",
                      "location_id=\"89c90ac7-8332-41e4-855f-6417b754fc46\",)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    locationId: ${CustomResolverLocationId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "dnsSvcsApisV1.deleteCustomResolverLocation(params)\n",
                      "  .then(response => {\n",
                      "    const deletedCustomResolverLocation = response.result;\n",
                      "    console.log(deletedCustomResolverLocation);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeleteCustomResolverLocationOptions deleteCustomResolverLocationOptions = new DeleteCustomResolverLocationOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .locationId(location_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Void> response = service.deleteCustomResolverLocation(deleteCustomResolverLocationOptions).execute();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers/{resolver_id}/forwarding_rules": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/resolver_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Forwarding Rules"
        ],
        "summary": "List forwarding rules",
        "operationId": "list_forwarding_rules",
        "description": "List the forwarding rules of the given custom resolver",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/forwarding_rule_list"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/forwarding_rules \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listForwardingRulesOptionsModel := service.NewListForwardingRulesOptions(\n",
                      "                 \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                \"775e22a-5db5-4614-9c7e-27db0cbc13\")\n",
                      "listForwardingRulesOptionsModel.SetXCorrelationID(\"abc123\")\n",
                      "result, response, reqErr := service.ListForwardingRules(listForwardingRulesOptionsModel)\n",
                      "\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ForwardingRules[0].ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.list_forwarding_rules(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\")\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.listForwardingRules(params)\n",
                      "  .then(response => {\n",
                      "    const forwardingRules = response.result;\n",
                      "    console.log(forwardingRules);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      ListForwardingRulesOptions listForwardingRulesOptions = new ListForwardingRulesOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ForwardingRuleList> response = service.listForwardingRules(listForwardingRulesOptions).execute();\n",
                      "\n",
                      "      ForwardingRuleList listForwardingRulesResult = response.getResult();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Forwarding Rules"
        ],
        "summary": "Create a forwarding rule",
        "operationId": "create_forwarding_rule",
        "description": "Create a forwarding rule for the given custom resolver",
        "responses": {
          "200": {
            "description": "forwarding rule created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/forwarding_rule"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/forwarding_rule_input"
              }
            }
          },
          "description": "Create a forwarding rule."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/forwarding_rules \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"description\": \"forwarding rule for a zone\",\n",
                      "    \"type\": \"zone\",\n",
                      "    \"match\": \"a.example.com\",\n",
                      "    \"forward_to\": [\n",
                      "        \"161.26.0.9\"\n",
                      "    ]\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createForwardingRuleOptionsModel := service.NewCreateForwardingRuleOptions(\n",
                      "                \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                \"775e22a-5db5-4614-9c7e-27db0cbc13\"))\n",
                      "createForwardingRuleOptionsModel.SetDescription(\"test forwarding rule\")\t\t\t\tcreateForwardingRuleOptionsModel.SetType(\"zone\")\n",
                      "createForwardingRuleOptionsModel.SetMatch(\"example.com\")\n",
                      "createForwardingRuleOptionsModel.SetForwardTo([]string{\"161.26.0.7\"})\n",
                      "createForwardingRuleOptionsModel.SetXCorrelationID(\"abc123\")\n",
                      "result, response, reqErr := service.CreateForwardingRule(createForwardingRuleOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.create_forwarding_rule(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",\n",
                      "type='zone'\n",
                      "match=\"test.example.com\"\n",
                      "forward_to= [\"168.20.22.122\"])\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    type: 'zone',\n",
                      "    match: 'example.com',\n",
                      "    forwardTo: ['161.26.0.7'],\n",
                      "    description: 'forwarding rule',\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.createForwardingRule(params)\n",
                      "  .then(response => {\n",
                      "    const forwardingRule = response.result;\n",
                      "    console.log(forwardingRule);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      CreateForwardingRuleOptions createForwardingRuleOptions = new CreateForwardingRuleOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .description(\"forwarding rule\")\n",
                      "      .type(\"zone\")\n",
                      "      .match(\"example.com\")\n",
                      "      .forwardTo(new java.util.ArrayList<String>(java.util.Arrays.asList(\"161.26.0.7\")))\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ForwardingRule> response = service.createForwardingRule(createForwardingRuleOptions).execute();\n",
                      "\n",
                      "      ForwardingRule forwardingruleResult = response.getResult();\n",
                      "      rule_id = forwardingruleResult.getId();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers/{resolver_id}/forwarding_rules/{rule_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/resolver_id"
        },
        {
          "$ref": "#/components/parameters/rule_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "Forwarding Rules"
        ],
        "summary": "Delete a forwarding rule",
        "operationId": "delete_forwarding_rule",
        "description": "Delete a forwarding rule on the given custom resolver",
        "responses": {
          "204": {
            "description": "The forwarding rule was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/forwarding_rules/80b7d905-b2fd-416f-9e0c-b2e554125a4c \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteForwardingRuleOptionsModel := service.NewDeleteForwardingRuleOptions(\n",
                      "                 \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                \"775e22a-5db5-4614-9c7e-27db0cbc13\",\n",
                      "                \"8151b5f6-9deb-4c33-b571-91520fab2ba2\")\n",
                      "deleteForwardingRuleOptionsModel.SetXCorrelationID(\"testString\")\n",
                      "response, reqErr := service.DeleteForwardingRule(deleteForwardingRuleOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.delete_forwarding_rule(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",\n",
                      "rule_id=\"45e90f0c-55bb-4075-8faf-febee15d0ab3\",)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    ruleId: ${ForwardingRuleId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "dnsSvcsApisV1.deleteForwardingRule(params)\n",
                      "  .then(response => {\n",
                      "    const deletedForwardingRule = response.result;\n",
                      "    console.log(deletedForwardingRule);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      DeleteForwardingRuleOptions deleteForwardingRuleOptions = new DeleteForwardingRuleOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .ruleId(rule_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<Void> response = service.deleteForwardingRule(deleteForwardingRuleOptions).execute();\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Forwarding Rules"
        ],
        "summary": "Get a forwarding rule",
        "operationId": "get_forwarding_rule",
        "description": "Get details of a forwarding rule on the given custom resolver",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/forwarding_rule"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/forwarding_rules/80b7d905-b2fd-416f-9e0c-b2e554125a4c \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getForwardingRuleOptionsModel := service.NewGetForwardingRuleOptions(\n",
                      "                \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                \"775e22a-5db5-4614-9c7e-27db0cbc13\",\n",
                      "                \"8151b5f6-9deb-4c33-b571-91520fab2ba2\")\n",
                      "getForwardingRuleOptionsModel.SetXCorrelationID(\"testString\")\n",
                      "\n",
                      "result, response, reqErr := service.GetForwardingRule(getForwardingRuleOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvc.get_forwarding_rule(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",\n",
                      "rule_id=\"45e90f0c-55bb-4075-8faf-febee15d0ab3\",)\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    ruleId: ${ForwardingRuleId},\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.getForwardingRule(params)\n",
                      "  .then(response => {\n",
                      "    const customResolver = response.result;\n",
                      "    console.log(customResolver);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });\n",
                      ""
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      GetForwardingRuleOptions getForwardingRuleOptions = new GetForwardingRuleOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .ruleId(rule_id)\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ForwardingRule> response = service.getForwardingRule(getForwardingRuleOptions).execute();\n",
                      "\n",
                      "      ForwardingRule forwardingruleResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Forwarding Rules"
        ],
        "summary": "Update a forwarding rule",
        "operationId": "update_forwarding_rule",
        "description": "Update the properties of a forwarding rule on the given custom resolver.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/forwarding_rule"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/forwarding_rule_update_input"
              }
            }
          },
          "description": "Update the properties of a forwarding rule."
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/forwarding_rules/80b7d905-b2fd-416f-9e0c-b2e554125a4c \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"description\": \"forwarding rule for a hostname\",\n",
                      "    \"match\": \"b.example.com\",\n",
                      "    \"forward_to\": [\n",
                      "        \"161.26.0.10\"\n",
                      "    ]\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "updateForwardingRuleOptionsModel := service.NewUpdateForwardingRuleOptions(\n",
                      "                \"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\", \n",
                      "                \"775e22a-5db5-4614-9c7e-27db0cbc13\",\n",
                      "                \"8151b5f6-9deb-4c33-b571-91520fab2ba2\")\n",
                      "\n",
                      "updateForwardingRuleOptionsModel.SetDescription(\"cli test forwarding rule\")\n",
                      "updateForwardingRuleOptionsModel.SetMatch(\"example.com\")\n",
                      "updateForwardingRuleOptionsModel.SetForwardTo([]string{\"161.26.0.7\"})\n",
                      "updateForwardingRuleOptionsModel.SetXCorrelationID(\"testString\")\n",
                      "result, response, reqErr := service.UpdateForwardingRule(updateForwardingRuleOptionsModel)\n",
                      "if reqErr != nil {\n",
                      "\tpanic(reqErr)\n",
                      "}\n",
                      "fmt.Printf(\"Result ID : %s\", *result.ID)\n",
                      "fmt.Printf(\"Response: %s\", response)"
                    ]
                  }
                ]
              }
            ],
            "python": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "response = dnssvcupdate_forwarding_rule(\n",
                      "instance_id=\"5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85\",\n",
                      "resolver_id=\"022b91ce-2c1d-4702-8129-b71c77e5da65\",\n",
                      "rule_id=\"45e90f0c-55bb-4075-8faf-febee15d0ab3\",\n",
                      "description=\"Updating Forwarding rules\", \n",
                      "match=\"test.updateexample.com\", \n",
                      "forward_to=[\"168.20.22.122\", \"190.20.22.134\"])\n",
                      "print(response)"
                    ]
                  }
                ]
              }
            ],
            "node": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      ". . .\n",
                      "\n",
                      "const params = {\n",
                      "    instanceId: ${DNS_SVCS_INSTANCE_ID},\n",
                      "    resolverId: ${CustomResolverId},\n",
                      "    ruleId: '${ForwardingRuleId}',\n",
                      "    description: 'update forwarding rule',\n",
                      "    match: 'example.com',\n",
                      "    forwardTo: ['161.26.0.8'],\n",
                      "    xCorrelationId: 'abc123',\n",
                      "};\n",
                      "\n",
                      "dnsSvcsApisV1.updateForwardingRule(params)\n",
                      "  .then(response => {\n",
                      "    const updatedForwardingRule = response.result;\n",
                      "    console.log(updatedForwardingRule);\n",
                      "  })\n",
                      "  .catch(err => {\n",
                      "    console.log('error:', err);\n",
                      "  });"
                    ]
                  }
                ]
              }
            ],
            "java": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "    try {\n",
                      "      UpdateForwardingRuleOptions updateForwardingRuleOptions = new UpdateForwardingRuleOptions.Builder()\n",
                      "      .instanceId(instance_id)\n",
                      "      .resolverId(resolver_id)\n",
                      "      .ruleId(rule_id)\n",
                      "      .description(\"forwarding rule\")\n",
                      "      .match(\"example.com\")\n",
                      "      .forwardTo(new java.util.ArrayList<String>(java.util.Arrays.asList(\"161.26.0.8\")))\n",
                      "      .xCorrelationId(\"testString\")\n",
                      "      .build();\n",
                      "\n",
                      "      // Invoke operation\n",
                      "      Response<ForwardingRule> response = service.updateForwardingRule(updateForwardingRuleOptions).execute();\n",
                      "\n",
                      "      ForwardingRule forwardingruleResult = response.getResult();\n",
                      "\n",
                      "    } catch (ServiceResponseException e) {\n",
                      "        fail(String.format(\"Service returned status code %d: %s\\nError details: %s\",\n",
                      "          e.getStatusCode(), e.getMessage(), e.getDebuggingInfo()));\n",
                      "    }\n",
                      ""
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers/{resolver_id}/secondary_zones": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/resolver_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "post": {
        "tags": [
          "Secondary Zones"
        ],
        "summary": "Create a secondary zone",
        "operationId": "create_secondary_zone",
        "description": "Create a secondary zone for the custom resolver",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/secondary_zone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/secondary_zone_input"
              }
            }
          },
          "description": "Request data of creating secondary zone"
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/secondary_zones \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "  \"description\": \"secondary zone\",\n",
                      "  \"zone\": \"example.com\",\n",
                      "  \"enabled\": false,\n",
                      "  \"transfer_from\": [\n",
                      "    \"10.0.0.7\"\n",
                      "  ]\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Secondary Zones"
        ],
        "summary": "List secondary zones",
        "operationId": "list_secondary_zones",
        "description": "List secondary zones for the custom resolver",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/secondary_zone_list"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/secondary_zones?offset=0&limit=200 \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/custom_resolvers/{resolver_id}/secondary_zones/{secondary_zone_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/resolver_id"
        },
        {
          "$ref": "#/components/parameters/secondary_zone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Secondary Zones"
        ],
        "summary": "Get a secondary zone",
        "operationId": "get_secondary_zone",
        "description": "Get details of a secondary zone for the custom resolver",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/secondary_zone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/secondary_zones/f97ef698-d5fa-4f91-bc5a-33f17d143b7d \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Secondary Zones"
        ],
        "summary": "Update a secondary zone",
        "operationId": "update_secondary_zone",
        "description": "Update a secondary zone for the custom resolver",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/secondary_zone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/secondary_zone_update_input"
              }
            }
          },
          "description": "Request data of updating secondary zone"
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/secondary_zones/f97ef698-d5fa-4f91-bc5a-33f17d143b7d \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"description\": \"secondary zone\",\n",
                      "    \"enabled\": false,\n",
                      "    \"transfer_from\": [\n",
                      "      \"10.0.0.7\"\n",
                      "    ]\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Secondary Zones"
        ],
        "summary": "Delete a secondary zone",
        "operationId": "delete_secondary_zone",
        "description": "Delete a secondary zone for the custom resolver",
        "responses": {
          "204": {
            "description": "Success",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/2be5d4a7-78f0-4c62-a957-41dc15342777/custom_resolvers/ddbe7a53-7971-46dc-b021-420335c31562/secondary_zones/f97ef698-d5fa-4f91-bc5a-33f17d143b7d \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/linked_dnszones": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Linked Zones"
        ],
        "summary": "List linked zones",
        "operationId": "list_linked_zones",
        "description": "List linked zones in requestor's instance",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/linked_dnszones_list"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Linked Zones"
        ],
        "summary": "Create a linked zone",
        "operationId": "create_linked_zone",
        "description": "Create a linked zone",
        "responses": {
          "200": {
            "description": "Linked zone created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/linked_dnszone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/linked_dnszone_input"
              }
            }
          },
          "description": "Create a linked zone"
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"owner_instance_id\": \"abe30019-1c08-42dc-9ad9-a0682af70054\",\n",
                      "    \"owner_zone_id\": \"05855abe-3908-4cdc-bf0d-063e0b1c296d\",\n",
                      "    \"description\": \"linked zone example\",\n",
                      "    \"label\": \"dev\"\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/linked_dnszones/{linked_dnszone_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/linked_dnszone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Linked Zones"
        ],
        "summary": "Get a linked zone",
        "operationId": "get_linked_zone",
        "description": "Get details of a linked zone",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/linked_dnszone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones/5365b73c-ce6f-4d6f-ad9f-d9c131b26370 \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Linked Zones"
        ],
        "summary": "Update the properties of a linked zone",
        "operationId": "update_linked_zone",
        "description": "Update the properties of a linked zone",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/linked_dnszone"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/linked_dnszone_update_input"
              }
            }
          },
          "description": "Update the properties of a linked zone"
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones/5365b73c-ce6f-4d6f-ad9f-d9c131b26370 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"description\": \"custom resolver example\",\n",
                      "    \"label\": \"dev\"\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "tags": [
          "Linked Zones"
        ],
        "summary": "Delete a linked zone",
        "operationId": "delete_linked_zone",
        "description": "Delete a linked zone",
        "responses": {
          "204": {
            "description": "The linked zone was deleted successfully",
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones/5365b73c-ce6f-4d6f-ad9f-d9c131b26370 \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/access_requests": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Access Requests"
        ],
        "summary": "List Access Requests",
        "operationId": "list_dnszone_access_requests",
        "description": "List access requests in owner's instance",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/access_requests_list"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/abe30019-1c08-42dc-9ad9-a0682af70054/dnszones/05855abe-3908-4cdc-bf0d-063e0b1c296d/access_requests \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/dnszones/{dnszone_id}/access_requests/{request_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/dnszone_id"
        },
        {
          "$ref": "#/components/parameters/request_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Access Requests"
        ],
        "summary": "Get an access request",
        "operationId": "get_dnszone_access_request",
        "description": "Get details of an access request",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/access_request"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/abe30019-1c08-42dc-9ad9-a0682af70054/dnszones/05855abe-3908-4cdc-bf0d-063e0b1c296d/access_requests/9a234ede-c2b6-4c39-bc27-d39ec139ecdb \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "tags": [
          "Access Requests"
        ],
        "summary": "Update an access request",
        "operationId": "update_dnszone_access_request",
        "description": "Update the state of an access request",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/access_request"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/access_request_patch_input"
              }
            }
          },
          "description": "Update the state of an access request"
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/abe30019-1c08-42dc-9ad9-a0682af70054/dnszones/05855abe-3908-4cdc-bf0d-063e0b1c296d/access_requests/9a234ede-c2b6-4c39-bc27-d39ec139ecdb \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "    \"action\": \"APPROVE\"\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/linked_dnszones/{linked_dnszone_id}/permitted_networks": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/linked_dnszone_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "get": {
        "tags": [
          "Permitted Network for Linked Zone"
        ],
        "summary": "List permitted networks",
        "operationId": "list_linked_permitted_networks",
        "description": "List the permitted networks for a linked zone",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/list_permitted_networks"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones/5365b73c-ce6f-4d6f-ad9f-d9c131b26370/permitted_networks \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "tags": [
          "Permitted Network for Linked Zone"
        ],
        "summary": "Create a permitted network",
        "operationId": "create_lz_permitted_network",
        "description": "Create a permitted network for a linked zone",
        "responses": {
          "200": {
            "description": "Permitted network created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/permitted_network"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/permitted_network_input"
              }
            }
          },
          "description": "Create a permitted network"
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones/5365b73c-ce6f-4d6f-ad9f-d9c131b26370/permitted_networks \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx' \\\n",
                      "  -d '{\n",
                      "\t  \"permitted_network\": {\n",
                      "\t\t    \"vpc_crn\": \"crn:v1:bluemix:public:is:eu-de:a/bcf1865e99742d38d2d5fc3fb80a5496::vpc:6e6cc326-04d1-4c99-a289-efb3ae4193d6\"\n",
                      "\t\t\n",
                      "\t  }, \n",
                      "\t  \"type\": \"vpc\"\n",
                      "}'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/instances/{instance_id}/linked_dnszones/{linked_dnszone_id}/permitted_networks/{permitted_network_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/instance_id"
        },
        {
          "$ref": "#/components/parameters/linked_dnszone_id"
        },
        {
          "$ref": "#/components/parameters/permitted_network_id"
        },
        {
          "$ref": "#/components/parameters/X-Correlation-ID"
        }
      ],
      "delete": {
        "tags": [
          "Permitted Network for Linked Zone"
        ],
        "summary": "Remove a permitted network",
        "operationId": "delete_lz_permitted_network",
        "description": "Remove a permitted network from a linked zone",
        "responses": {
          "202": {
            "description": "The permitted network removal is in progress",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/permitted_network"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones/5365b73c-ce6f-4d6f-ad9f-d9c131b26370/permitted_networks/6e6cc326-04d1-4c99-a289-efb3ae4193d6 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "tags": [
          "Permitted Network for Linked Zone"
        ],
        "summary": "Get a permitted network",
        "operationId": "get_linked_permitted_network",
        "description": "Get a permitted network of a linked zone",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/permitted_network"
                }
              }
            },
            "headers": {
              "X-Correlation-ID": {
                "$ref": "#/components/headers/X-Correlation-ID"
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/bad_request"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "404": {
            "$ref": "#/components/responses/not_found"
          },
          "500": {
            "$ref": "#/components/responses/internal_server_error"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET \\\n",
                      "  https://api.dns-svcs.cloud.ibm.com/v1/instances/5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85/linked_dnszones/5365b73c-ce6f-4d6f-ad9f-d9c131b26370/permitted_networks/6e6cc326-04d1-4c99-a289-efb3ae4193d6 \\\n",
                      "  -H 'Content-Type: application/json' \\\n",
                      "  -H 'Authorization: Bearer xxxxxx'\n"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  },
  "components": {
    "headers": {
      "X-Correlation-ID": {
        "schema": {
          "type": "string"
        },
        "description": "Unique transaction identifier."
      }
    },
    "responses": {
      "bad_request": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error_container"
            }
          }
        },
        "headers": {
          "X-Correlation-ID": {
            "$ref": "#/components/headers/X-Correlation-ID"
          }
        }
      },
      "unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error_container"
            }
          }
        },
        "headers": {
          "X-Correlation-ID": {
            "$ref": "#/components/headers/X-Correlation-ID"
          }
        }
      },
      "forbidden": {
        "description": "Forbidden! User has no privilege",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error_container"
            }
          }
        },
        "headers": {
          "X-Correlation-ID": {
            "$ref": "#/components/headers/X-Correlation-ID"
          }
        }
      },
      "not_found": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error_container"
            }
          }
        },
        "headers": {
          "X-Correlation-ID": {
            "$ref": "#/components/headers/X-Correlation-ID"
          }
        }
      },
      "internal_server_error": {
        "description": "Internal server error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/error_container"
            }
          }
        },
        "headers": {
          "X-Correlation-ID": {
            "$ref": "#/components/headers/X-Correlation-ID"
          }
        }
      }
    },
    "securitySchemes": {
      "iamToken": {
        "type": "oauth2",
        "description": "This API uses OAuth 2 with the implicit grant flow.",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://iam.bluemix.net/identity/authorize",
            "scopes": {}
          }
        }
      }
    },
    "parameters": {
      "X-Correlation-ID": {
        "description": "Uniquely identifying a request",
        "in": "header",
        "name": "X-Correlation-ID",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "instance_id": {
        "description": "The unique identifier of a service instance",
        "in": "path",
        "name": "instance_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "dnszone_id": {
        "description": "The unique identifier of a DNS zone",
        "in": "path",
        "name": "dnszone_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "record_id": {
        "description": "The unique identifier of a resource record",
        "in": "path",
        "name": "record_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "permitted_network_id": {
        "description": "The unique identifier of a permitted network",
        "in": "path",
        "name": "permitted_network_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "lb_id": {
        "description": "The unique identifier of a load balancer",
        "in": "path",
        "name": "lb_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "pool_id": {
        "description": "The unique identifier of a load balancer pool",
        "in": "path",
        "name": "pool_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "monitor_id": {
        "description": "The unique identifier of a load balancer monitor",
        "in": "path",
        "name": "monitor_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "resolver_id": {
        "description": "The unique identifier of a custom resolver",
        "in": "path",
        "name": "resolver_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "rule_id": {
        "description": "The unique identifier of a rule",
        "in": "path",
        "name": "rule_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "location_id": {
        "description": "Custom resolver location ID.",
        "in": "path",
        "name": "location_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "offset": {
        "description": "Specify how many resources to skip over, the default value is 0.",
        "in": "query",
        "name": "offset",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "limit": {
        "description": "Specify maximum resources might be returned.",
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000,
          "default": 200,
          "example": 200
        }
      },
      "type": {
        "description": "Specify the type of resource record to query",
        "in": "query",
        "name": "type",
        "required": false,
        "schema": {
          "type": "string",
          "example": "A"
        }
      },
      "name": {
        "description": "Specify the name of resource record to query",
        "in": "query",
        "name": "name",
        "required": false,
        "schema": {
          "type": "string",
          "example": "www.example.com"
        }
      },
      "linked_dnszone_id": {
        "description": "The unique identifier of a linked zone",
        "in": "path",
        "name": "linked_dnszone_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "request_id": {
        "description": "The unique identifier of an access request",
        "in": "path",
        "name": "request_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "secondary_zone_id": {
        "description": "The unique identifier of a secondary zone",
        "in": "path",
        "name": "secondary_zone_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "vpc_id": {
        "description": "Specify the VPC ID",
        "in": "query",
        "name": "vpc_id",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "accounts": {
        "description": "The account identifiers of the owner zone and linked zones in the format of \"?account=account1,account2,account3\". Maximum 5 accounts are allowed.",
        "in": "query",
        "required": false,
        "name": "accounts",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "list_dnszones": {
        "description": "List DNS zones response",
        "type": "object",
        "required": [
          "dnszones",
          "offset",
          "limit",
          "count",
          "total_count",
          "first",
          "last"
        ],
        "properties": {
          "dnszones": {
            "$ref": "#/components/schemas/dnszone_list"
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "dnszone": {
        "description": "DNS zone details",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier of a DNS zone",
            "type": "string",
            "example": "2d0f862b-67cc-41f3-b6a2-59860d0aa90e"
          },
          "created_on": {
            "description": "The time when a DNS zone is created.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "modified_on": {
            "description": "The recent time when a DNS zone is modified.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "instance_id": {
            "description": "Unique identifier of a service instance",
            "type": "string",
            "example": "1407a753-a93f-4bb0-9784-bcfc269ee1b3"
          },
          "name": {
            "description": "Name of the DNS zone. Must be a fully qualified domain name.",
            "type": "string",
            "example": "example.com"
          },
          "description": {
            "description": "The text describing the purpose of a DNS zone",
            "type": "string",
            "example": "The DNS zone is used for VPCs in us-east region"
          },
          "state": {
            "description": "State of DNS zone",
            "type": "string",
            "enum": [
              "pending_network_add",
              "active",
              "disabled",
              "pending_delete",
              "deleted"
            ],
            "example": "pending_network_add"
          },
          "label": {
            "description": "The label of a DNS zone",
            "type": "string",
            "example": "us-east"
          }
        }
      },
      "dnszone_input": {
        "description": "The request data for creating a DNS zone",
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "description": "Name of DNS zone",
            "type": "string",
            "maxLength": 255,
            "minLength": 1,
            "example": "example.com"
          },
          "description": {
            "description": "The text describing the purpose of a DNS zone",
            "type": "string",
            "example": "The DNS zone is used for VPCs in us-east region",
            "maxLength": 255,
            "minLength": 1
          },
          "label": {
            "description": "The label of a DNS zone",
            "type": "string",
            "example": "us-east",
            "maxLength": 64,
            "minLength": 1
          }
        }
      },
      "dnszone_update_input": {
        "description": "The request data for updating a DNS zone",
        "type": "object",
        "properties": {
          "description": {
            "description": "The text describing the purpose of a DNS zone",
            "type": "string",
            "example": "The DNS zone is used for VPCs in us-east region",
            "maxLength": 255,
            "minLength": 1
          },
          "label": {
            "description": "The label of a DNS zone",
            "type": "string",
            "example": "us-east",
            "maxLength": 64,
            "minLength": 1
          }
        }
      },
      "dnszone_list": {
        "description": "An array of DNS zones",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/dnszone"
        }
      },
      "list_resource_records": {
        "description": "List Resource Records response",
        "type": "object",
        "required": [
          "resource_records",
          "offset",
          "limit",
          "count",
          "total_count",
          "first",
          "last"
        ],
        "properties": {
          "resource_records": {
            "$ref": "#/components/schemas/resource_record_list"
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "resource_record": {
        "description": "Resource record details",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of the resource record.",
            "type": "string",
            "example": "SRV:5365b73c-ce6f-4d6f-ad9f-d9c131b26370"
          },
          "created_on": {
            "description": "The time when a resource record is created.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "modified_on": {
            "description": "The recent time when a resource record is modified.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "name": {
            "description": "Name of the resource record.",
            "type": "string",
            "example": "_sip._udp.test.example.com"
          },
          "type": {
            "description": "Type of the resource record.",
            "type": "string",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "SRV",
              "TXT",
              "PTR"
            ],
            "example": "SRV"
          },
          "ttl": {
            "description": "Time to live in second.",
            "type": "integer",
            "example": 120
          },
          "rdata": {
            "description": "Content of the resource record.",
            "type": "object",
            "example": {
              "priority": 100,
              "weight": 100,
              "port": 8000,
              "target": "siphost.com"
            }
          },
          "service": {
            "type": "string",
            "description": "Only used for SRV record.",
            "example": "_sip"
          },
          "protocol": {
            "type": "string",
            "description": "Only used for SRV record.",
            "example": "udp"
          }
        }
      },
      "resource_record_input": {
        "description": "The request data for creating a resource record",
        "type": "object",
        "required": [
          "type"
        ],
        "properties": {
          "name": {
            "description": "Name of the resource record.",
            "type": "string",
            "example": "test.example.com"
          },
          "type": {
            "description": "Type of the resource record.",
            "type": "string",
            "enum": [
              "A",
              "AAAA",
              "CNAME",
              "MX",
              "SRV",
              "TXT",
              "PTR"
            ],
            "example": "SRV"
          },
          "rdata": {
            "description": "Content of the resource record.",
            "type": "object",
            "oneOf": [
              {
                "$ref": "#/components/schemas/rdata_a_record"
              },
              {
                "$ref": "#/components/schemas/rdata_aaaa_record"
              },
              {
                "$ref": "#/components/schemas/rdata_cname_record"
              },
              {
                "$ref": "#/components/schemas/rdata_mx_record"
              },
              {
                "$ref": "#/components/schemas/rdata_srv_record"
              },
              {
                "$ref": "#/components/schemas/rdata_txt_record"
              },
              {
                "$ref": "#/components/schemas/rdata_ptr_record"
              }
            ],
            "example": {
              "priority": 100,
              "weight": 100,
              "port": 8000,
              "target": "siphost.com"
            }
          },
          "ttl": {
            "description": "Time to live in second.",
            "type": "integer",
            "example": 120
          },
          "service": {
            "type": "string",
            "description": "Only used for SRV record.",
            "example": "_sip"
          },
          "protocol": {
            "type": "string",
            "description": "Only used for SRV record.",
            "example": "udp"
          }
        }
      },
      "resource_record_update_input": {
        "description": "The request data for updating a resource record",
        "type": "object",
        "required": [
          "name",
          "rdata"
        ],
        "properties": {
          "name": {
            "description": "Name of the resource record.",
            "type": "string",
            "example": "test.example.com"
          },
          "rdata": {
            "description": "Content of the resource record.",
            "type": "object",
            "oneOf": [
              {
                "$ref": "#/components/schemas/rdata_a_record"
              },
              {
                "$ref": "#/components/schemas/rdata_aaaa_record"
              },
              {
                "$ref": "#/components/schemas/rdata_cname_record"
              },
              {
                "$ref": "#/components/schemas/rdata_mx_record"
              },
              {
                "$ref": "#/components/schemas/rdata_srv_record"
              },
              {
                "$ref": "#/components/schemas/rdata_txt_record"
              },
              {
                "$ref": "#/components/schemas/rdata_ptr_record"
              }
            ],
            "example": {
              "priority": 100,
              "weight": 100,
              "port": 8000,
              "target": "siphost.com"
            }
          },
          "ttl": {
            "description": "Time to live in second.",
            "type": "integer",
            "example": 120
          },
          "service": {
            "type": "string",
            "description": "Only used for SRV record.",
            "example": "_sip"
          },
          "protocol": {
            "type": "string",
            "description": "Only used for SRV record.",
            "example": "udp"
          }
        }
      },
      "resource_record_list": {
        "description": "An array of resource records",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/resource_record"
        }
      },
      "rdata_a_record": {
        "description": "The content of type-A resource record.",
        "type": "object",
        "required": [
          "ip"
        ],
        "properties": {
          "ip": {
            "description": "IPv4 address",
            "type": "string",
            "example": "10.110.201.214"
          }
        }
      },
      "rdata_cname_record": {
        "description": "The content of type-CNAME resource record.",
        "type": "object",
        "required": [
          "cname"
        ],
        "properties": {
          "cname": {
            "description": "Canonical name",
            "type": "string",
            "example": "www.example.com"
          }
        }
      },
      "rdata_aaaa_record": {
        "description": "The content of type-AAAA resource record.",
        "type": "object",
        "required": [
          "ip"
        ],
        "properties": {
          "ip": {
            "description": "IPv6 address",
            "type": "string",
            "example": "2019::2019"
          }
        }
      },
      "rdata_mx_record": {
        "description": "The content of type-MX resource record.",
        "type": "object",
        "required": [
          "exchange",
          "preference"
        ],
        "properties": {
          "exchange": {
            "description": "Hostname of Exchange server",
            "type": "string",
            "example": "mail.example.com"
          },
          "preference": {
            "description": "Preference of the MX record",
            "type": "integer",
            "minimum": 0,
            "maximum": 65535,
            "example": 10
          }
        }
      },
      "rdata_srv_record": {
        "description": "The content of type-SRV resource record.",
        "type": "object",
        "required": [
          "priority",
          "weight",
          "port",
          "target"
        ],
        "properties": {
          "port": {
            "description": "Port number of the target server",
            "type": "integer",
            "minimum": 0,
            "maximum": 65535,
            "example": 80
          },
          "priority": {
            "description": "Priority of the SRV record",
            "type": "integer",
            "minimum": 0,
            "maximum": 65535,
            "example": 10
          },
          "target": {
            "description": "Hostname of the target server",
            "type": "string",
            "example": "www.example.com"
          },
          "weight": {
            "description": "Weight of distributing queries among multiple target servers",
            "type": "integer",
            "minimum": 0,
            "maximum": 65535,
            "example": 10
          }
        }
      },
      "rdata_txt_record": {
        "description": "The content of type-TXT resource record.",
        "type": "object",
        "required": [
          "text"
        ],
        "properties": {
          "text": {
            "description": "Human readable text",
            "type": "string",
            "maxLength": 255,
            "example": "This is a text record"
          }
        }
      },
      "rdata_ptr_record": {
        "description": "The content of type-PTR resource record.",
        "type": "object",
        "required": [
          "ptrdname"
        ],
        "properties": {
          "ptrdname": {
            "description": "Hostname of the relevant A or AAAA record",
            "type": "string",
            "example": "www.example.com"
          }
        }
      },
      "import_resource_records_resp": {
        "description": "Import DNS records response",
        "type": "object",
        "required": [
          "total_records_parsed",
          "records_added",
          "records_failed",
          "records_added_by_type",
          "records_failed_by_type"
        ],
        "properties": {
          "total_records_parsed": {
            "description": "Number of records parsed from the zone file",
            "type": "integer",
            "example": 10
          },
          "records_added": {
            "description": "Number of records imported successfully",
            "type": "integer",
            "example": 2
          },
          "records_failed": {
            "description": "Number of records failed import",
            "type": "integer",
            "example": 0
          },
          "records_added_by_type": {
            "type": "object",
            "$ref": "#/components/schemas/record_stats_by_type"
          },
          "records_failed_by_type": {
            "type": "object",
            "$ref": "#/components/schemas/record_stats_by_type"
          },
          "messages": {
            "description": "Error messages",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/records_import_message_model"
            }
          },
          "errors": {
            "description": "Number of records parsed from the zone file",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/records_import_error_model"
            }
          }
        }
      },
      "record_stats_by_type": {
        "description": "Number of records classified by type",
        "type": "object",
        "required": [
          "A",
          "AAAA",
          "CNAME",
          "SRV",
          "TXT",
          "MX",
          "PTR"
        ],
        "properties": {
          "A": {
            "description": "Number of records, type A",
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "AAAA": {
            "description": "Number of records, type AAAA",
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "CNAME": {
            "description": "Number of records, type CNAME",
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "SRV": {
            "description": "Number of records, type SRV",
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "TXT": {
            "description": "Number of records, type TXT",
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "MX": {
            "description": "Number of records, type MX",
            "type": "integer",
            "format": "int32",
            "example": 10
          },
          "PTR": {
            "description": "Number of records, type PTR",
            "type": "integer",
            "format": "int32",
            "example": 10
          }
        }
      },
      "records_import_message_model": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "description": "Code to classify import DNS records error",
            "type": "string",
            "example": "conflict"
          },
          "message": {
            "description": "Message to describe import DNS records error",
            "type": "string",
            "example": "A type record conflict with other records"
          }
        }
      },
      "records_import_error_model": {
        "type": "object",
        "required": [
          "resource_record",
          "error"
        ],
        "properties": {
          "resource_record": {
            "description": "resource record content in zone file",
            "type": "string",
            "example": "test.example.com A 1.1.1.1"
          },
          "error": {
            "description": "Error container",
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "description": "Internal service error when DNS resource created fails by internal error",
                "type": "string",
                "example": "internal_server_error"
              },
              "message": {
                "description": "An internal error occurred. Try again later.",
                "type": "string",
                "example": "An internal error occurred. Try again later."
              }
            }
          }
        }
      },
      "list_permitted_networks": {
        "description": "List permitted networks response",
        "type": "object",
        "required": [
          "permitted_networks"
        ],
        "properties": {
          "permitted_networks": {
            "$ref": "#/components/schemas/permitted_network_list"
          }
        }
      },
      "permitted_network": {
        "description": "Permitted network details",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier of a permitted network.",
            "type": "string",
            "example": "fecd0173-3919-456b-b202-3029dfa1b0f7"
          },
          "created_on": {
            "description": "The time when a permitted network is created.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "modified_on": {
            "description": "The recent time when a permitted network is modified.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "permitted_network": {
            "$ref": "#/components/schemas/permitted_network_vpc"
          },
          "type": {
            "description": "The type of a permitted network.",
            "type": "string",
            "enum": [
              "vpc"
            ],
            "example": "vpc"
          },
          "state": {
            "description": "The state of a permitted network.",
            "type": "string",
            "enum": [
              "ACTIVE",
              "REMOVAL_IN_PROGRESS"
            ],
            "example": "ACTIVE"
          },
          "linked_zone_id": {
            "description": "Unique identifier of a linked zone through which the permitted network was added.",
            "type": "string",
            "example": "8b3454fa-349b-4294-bfc8-04d37d5d6708"
          }
        }
      },
      "permitted_network_input": {
        "description": "The request data for creating a permitted network",
        "type": "object",
        "required": [
          "type",
          "permitted_network"
        ],
        "properties": {
          "type": {
            "description": "The type of a permitted network.",
            "type": "string",
            "enum": [
              "vpc"
            ],
            "example": "vpc"
          },
          "permitted_network": {
            "$ref": "#/components/schemas/permitted_network_vpc"
          }
        }
      },
      "permitted_network_list": {
        "description": "An array of permitted networks",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/permitted_network"
        }
      },
      "permitted_network_vpc": {
        "description": "Permitted network data for VPC",
        "type": "object",
        "required": [
          "vpc_crn"
        ],
        "properties": {
          "vpc_crn": {
            "description": "CRN string uniquely identifies a VPC.",
            "type": "string",
            "example": "crn:v1:bluemix:public:is:eu-de:a/bcf1865e99742d38d2d5fc3fb80a5496::vpc:6e6cc326-04d1-4c99-a289-efb3ae4193d6"
          }
        }
      },
      "origin": {
        "description": "Origin server.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the origin server.",
            "type": "string",
            "example": "app-server-1"
          },
          "description": {
            "description": "Description of the origin server.",
            "type": "string",
            "example": "description of the origin server"
          },
          "address": {
            "description": "The address of the origin server. It can be a hostname or an IP address.",
            "type": "string",
            "example": "10.10.16.8"
          },
          "enabled": {
            "description": "Whether the origin server is enabled.",
            "type": "boolean",
            "example": true
          },
          "health": {
            "description": "The health state of the origin server.",
            "type": "boolean",
            "example": true
          },
          "health_failure_reason": {
            "description": "The failure reason of the origin server if it is unhealthy.",
            "type": "string",
            "example": ""
          }
        }
      },
      "origin_input": {
        "description": "The request data of origin server.",
        "type": "object",
        "properties": {
          "name": {
            "description": "The name of the origin server.",
            "type": "string",
            "example": "app-server-1"
          },
          "description": {
            "description": "Description of the origin server.",
            "type": "string",
            "example": "description of the origin server"
          },
          "address": {
            "description": "The address of the origin server. It can be a hostname or an IP address.",
            "type": "string",
            "example": "10.10.16.8"
          },
          "enabled": {
            "description": "Whether the origin server is enabled.",
            "type": "boolean",
            "example": true
          }
        }
      },
      "az_pools": {
        "description": "Map availability zones to pool IDs.",
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "availability_zone": {
              "description": "Availability zone.",
              "type": "string",
              "example": "us-south-1"
            },
            "pools": {
              "description": "List of load balancer pools.",
              "items": {
                "type": "string",
                "example": "0fc0bb7c-2fab-476e-8b9b-40fa14bf8e3d"
              }
            }
          }
        }
      },
      "list_load_balancers": {
        "description": "List Global Load Balancers response",
        "type": "object",
        "required": [
          "load_balancers",
          "offset",
          "limit",
          "count",
          "total_count",
          "first",
          "last"
        ],
        "properties": {
          "load_balancers": {
            "$ref": "#/components/schemas/load_balancer_list"
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "load_balancer": {
        "description": "Load balancer details",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of the load balancer.",
            "type": "string",
            "example": "5365b73c-ce6f-4d6f-ad9f-d9c131b26370"
          },
          "name": {
            "description": "Name of the load balancer.",
            "type": "string",
            "example": "glb.example.com"
          },
          "description": {
            "description": "Descriptive text of the load balancer.",
            "type": "string",
            "example": "Load balancer for glb.example.com."
          },
          "enabled": {
            "description": "Whether the load balancer is enabled.",
            "type": "boolean",
            "example": true
          },
          "ttl": {
            "description": "Time to live in second.",
            "type": "integer",
            "example": 120
          },
          "health": {
            "description": "Healthy state of the load balancer.",
            "type": "string",
            "enum": [
              "HEALTHY",
              "DEGRADED",
              "CRITICAL"
            ],
            "example": "DEGRADED"
          },
          "fallback_pool": {
            "description": "The pool ID to use when all other pools are detected as unhealthy.",
            "type": "string",
            "example": "24ccf79a-4ae0-4769-b4c8-17f8f230072e"
          },
          "default_pools": {
            "description": "A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured for a given region.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "24ccf79a-4ae0-4769-b4c8-17f8f230072e",
              "13fa7d9e-aeff-4e14-8300-58021db9ee74"
            ]
          },
          "az_pools": {
            "$ref": "#/components/schemas/az_pools"
          },
          "created_on": {
            "description": "The time when a load balancer is created.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "modified_on": {
            "description": "The recent time when a load balancer is modified.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          }
        }
      },
      "load_balancer_input": {
        "description": "The request data for creating a load balancer",
        "type": "object",
        "required": [
          "name",
          "default_pools",
          "fallback_pool"
        ],
        "properties": {
          "name": {
            "description": "Name of the load balancer.",
            "type": "string",
            "example": "glb.example.com"
          },
          "description": {
            "description": "Descriptive text of the load balancer.",
            "type": "string",
            "example": "Load balancer for glb.example.com."
          },
          "enabled": {
            "description": "Whether the load balancer is enabled.",
            "type": "boolean",
            "example": true
          },
          "ttl": {
            "description": "Time to live in second.",
            "type": "integer",
            "example": 120
          },
          "fallback_pool": {
            "description": "The pool ID to use when all other pools are detected as unhealthy.",
            "type": "string",
            "example": "24ccf79a-4ae0-4769-b4c8-17f8f230072e"
          },
          "default_pools": {
            "description": "A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured for a given region.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "24ccf79a-4ae0-4769-b4c8-17f8f230072e",
              "13fa7d9e-aeff-4e14-8300-58021db9ee74"
            ]
          },
          "az_pools": {
            "$ref": "#/components/schemas/az_pools"
          }
        }
      },
      "load_balancer_update_input": {
        "description": "The request data for updating a load balancer.",
        "type": "object",
        "minProperties": 1,
        "properties": {
          "name": {
            "description": "Name of the load balancer.",
            "type": "string",
            "example": "glb.example.com"
          },
          "description": {
            "description": "Descriptive text of the load balancer.",
            "type": "string",
            "example": "Load balancer for glb.example.com."
          },
          "enabled": {
            "description": "Whether the load balancer is enabled.",
            "type": "boolean",
            "example": true
          },
          "ttl": {
            "description": "Time to live in second.",
            "type": "integer",
            "example": 120
          },
          "fallback_pool": {
            "description": "The pool ID to use when all other pools are detected as unhealthy.",
            "type": "string",
            "example": "24ccf79a-4ae0-4769-b4c8-17f8f230072e"
          },
          "default_pools": {
            "description": "A list of pool IDs ordered by their failover priority. Pools defined here are used by default, or when region_pools are not configured for a given region.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "24ccf79a-4ae0-4769-b4c8-17f8f230072e",
              "13fa7d9e-aeff-4e14-8300-58021db9ee74"
            ]
          },
          "az_pools": {
            "$ref": "#/components/schemas/az_pools"
          }
        }
      },
      "load_balancer_list": {
        "description": "An array of Global Load Balancers",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/load_balancer"
        }
      },
      "list_pools": {
        "description": "List load balancer pools response",
        "type": "object",
        "required": [
          "pools",
          "offset",
          "limit",
          "count",
          "total_count",
          "first",
          "last"
        ],
        "properties": {
          "pools": {
            "$ref": "#/components/schemas/pool_list"
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "pool": {
        "description": "Load balancer pool details",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of the load balancer pool.",
            "type": "string",
            "example": "5365b73c-ce6f-4d6f-ad9f-d9c131b26370"
          },
          "name": {
            "description": "Name of the load balancer pool.",
            "type": "string",
            "example": "dal10-az-pool"
          },
          "description": {
            "description": "Descriptive text of the load balancer pool.",
            "type": "string",
            "example": "Load balancer pool for dal10 availability zone."
          },
          "enabled": {
            "description": "Whether the load balancer pool is enabled.",
            "type": "boolean",
            "example": true
          },
          "healthy_origins_threshold": {
            "description": "The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and we will failover to the next available pool.",
            "type": "integer",
            "example": 1
          },
          "origins": {
            "description": "The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/origin"
            }
          },
          "monitor": {
            "description": "The ID of the load balancer monitor to be associated to this pool.",
            "type": "string",
            "example": "7dd6841c-264e-11ea-88df-062967242a6a"
          },
          "notification_channel": {
            "description": "The notification channel.",
            "type": "string",
            "example": "https://mywebsite.com/dns/webhook"
          },
          "health": {
            "description": "Healthy state of the load balancer pool.",
            "type": "string",
            "enum": [
              "HEALTHY",
              "DEGRADED",
              "CRITICAL"
            ],
            "example": "HEALTHY"
          },
          "healthcheck_region": {
            "description": "Health check region of VSIs.",
            "type": "string",
            "enum": [
              "",
              "us-south",
              "us-east",
              "eu-gb",
              "eu-du",
              "au-syd",
              "jp-tok"
            ],
            "example": "us-south"
          },
          "healthcheck_subnets": {
            "description": "Health check subnet CRNs.",
            "type": "array",
            "items": {
              "description": "Subnet CRN.",
              "type": "string",
              "example": "crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04"
            }
          },
          "healthcheck_vsis": {
            "description": "Health check VSI information.",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "subnet": {
                  "description": "Health check VSI subnet CRN.",
                  "type": "string",
                  "example": "crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04"
                },
                "ipv4_address": {
                  "description": "healthcheck VSI ip address",
                  "type": "string",
                  "example": "10.10.16.8"
                },
                "ipv4_cidr_block": {
                  "description": "ipv4 cidr block",
                  "type": "string",
                  "example": "10.10.16.0/24"
                },
                "vpc": {
                  "description": "vpc crn",
                  "type": "string",
                  "example": "crn:v1:staging:public:is:us-south:a/01652b251c3ae2787110a995d8db0135::vpc:r134-8c426a0a-ec74-4c97-9c02-f6194c224d8a"
                }
              }
            }
          },
          "created_on": {
            "description": "the time when a load balancer pool is created.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "modified_on": {
            "description": "the recent time when a load balancer pool is modified.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          }
        }
      },
      "pool_input": {
        "description": "The request data for creating a load balancer pool",
        "type": "object",
        "required": [
          "name",
          "origins"
        ],
        "properties": {
          "name": {
            "description": "Name of the load balancer pool.",
            "type": "string",
            "example": "dal10-az-pool"
          },
          "description": {
            "description": "Descriptive text of the load balancer pool.",
            "type": "string",
            "example": "Load balancer pool for dal10 availability zone."
          },
          "enabled": {
            "description": "Whether the load balancer pool is enabled.",
            "type": "boolean",
            "example": true
          },
          "healthy_origins_threshold": {
            "description": "The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and we will failover to the next available pool.",
            "type": "integer",
            "example": 1
          },
          "origins": {
            "description": "The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/origin_input"
            }
          },
          "monitor": {
            "description": "The ID of the load balancer monitor to be associated to this pool.",
            "type": "string",
            "example": "7dd6841c-264e-11ea-88df-062967242a6a"
          },
          "notification_channel": {
            "description": "The notification channel.",
            "type": "string",
            "example": "https://mywebsite.com/dns/webhook"
          },
          "healthcheck_region": {
            "description": "Health check region of VSIs.",
            "type": "string",
            "enum": [
              "",
              "us-south",
              "us-east",
              "eu-gb",
              "eu-du",
              "au-syd",
              "jp-tok"
            ],
            "example": "us-south"
          },
          "healthcheck_subnets": {
            "description": "Health check subnet CRN.",
            "type": "array",
            "items": {
              "description": "Subnet CRN.",
              "type": "string",
              "example": "crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04"
            }
          }
        }
      },
      "pool_update_input": {
        "description": "The request data for updating a load balancer pool",
        "type": "object",
        "minProperties": 1,
        "properties": {
          "name": {
            "description": "Name of the load balancer pool.",
            "type": "string",
            "example": "dal10-az-pool"
          },
          "description": {
            "description": "Descriptive text of the load balancer pool.",
            "type": "string",
            "example": "Load balancer pool for dal10 availability zone."
          },
          "enabled": {
            "description": "Whether the load balancer pool is enabled.",
            "type": "boolean",
            "example": true
          },
          "healthy_origins_threshold": {
            "description": "The minimum number of origins that must be healthy for this pool to serve traffic. If the number of healthy origins falls below this number, the pool will be marked unhealthy and we will failover to the next available pool.",
            "type": "integer",
            "example": 1
          },
          "origins": {
            "description": "The list of origins within this pool. Traffic directed at this pool is balanced across all currently healthy origins, provided the pool itself is healthy.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/origin_input"
            }
          },
          "monitor": {
            "description": "The ID of the load balancer monitor to be associated to this pool.",
            "type": "string",
            "example": "7dd6841c-264e-11ea-88df-062967242a6a"
          },
          "notification_channel": {
            "description": "The notification channel.",
            "type": "string",
            "example": "https://mywebsite.com/dns/webhook"
          },
          "healthcheck_region": {
            "description": "Health check region of VSIs.",
            "type": "string",
            "enum": [
              "",
              "us-south",
              "us-east",
              "eu-gb",
              "eu-du",
              "au-syd",
              "jp-tok"
            ],
            "example": "us-south"
          },
          "healthcheck_subnets": {
            "description": "Health check subnet CRNs.",
            "type": "array",
            "items": {
              "description": "Subnet CRN.",
              "type": "string",
              "example": "crn:v1:staging:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04"
            }
          }
        }
      },
      "pool_list": {
        "description": "An array of load balancer pools",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/pool"
        }
      },
      "list_monitors": {
        "description": "List load balancer monitors response",
        "type": "object",
        "required": [
          "monitors",
          "offset",
          "limit",
          "count",
          "total_count",
          "first",
          "last"
        ],
        "properties": {
          "monitors": {
            "$ref": "#/components/schemas/monitor_list"
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "healthcheck_header": {
        "description": "The HTTP header of health check request.",
        "type": "object",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "name": {
            "description": "The name of HTTP request header.",
            "type": "string",
            "example": "Host"
          },
          "value": {
            "description": "The value of HTTP request header.",
            "type": "array",
            "items": {
              "type": "string",
              "example": "origin.example.com"
            }
          }
        }
      },
      "monitor": {
        "description": "Load balancer monitor details",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of the load balancer monitor.",
            "type": "string",
            "example": "5365b73c-ce6f-4d6f-ad9f-d9c131b26370"
          },
          "name": {
            "description": "The name of the load balancer monitor.",
            "type": "string",
            "example": "healthcheck-monitor"
          },
          "description": {
            "description": "Descriptive text of the load balancer monitor.",
            "type": "string",
            "example": "Load balancer monitor for glb.example.com."
          },
          "type": {
            "description": "The protocol to use for the health check. Currently supported protocols are 'HTTP','HTTPS' and 'TCP'.",
            "type": "string",
            "example": "HTTPS"
          },
          "port": {
            "description": "Port number to connect to for the health check. Required for TCP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).",
            "type": "integer",
            "example": 8080
          },
          "interval": {
            "description": "The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations.",
            "type": "integer",
            "example": 60
          },
          "retries": {
            "description": "The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.",
            "type": "integer",
            "example": 2
          },
          "timeout": {
            "description": "The timeout (in seconds) before marking the health check as failed.",
            "type": "integer",
            "example": 5
          },
          "method": {
            "description": "The method to use for the health check applicable to HTTP/HTTPS based checks, the default value is 'GET'.",
            "type": "string",
            "enum": [
              "GET",
              "HEAD"
            ],
            "example": "GET"
          },
          "path": {
            "description": "The endpoint path to health check against. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "example": "/health"
          },
          "headers": {
            "description": "The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/healthcheck_header"
            }
          },
          "allow_insecure": {
            "description": "Do not validate the certificate when monitor use HTTPS. This parameter is currently only valid for HTTPS monitors.",
            "type": "boolean",
            "example": false
          },
          "expected_codes": {
            "description": "The expected HTTP response code or code range of the health check. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "example": "200"
          },
          "expected_body": {
            "description": "A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "example": "alive"
          },
          "created_on": {
            "description": "the time when a load balancer monitor is created.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          },
          "modified_on": {
            "description": "the recent time when a load balancer monitor is modified.",
            "type": "string",
            "format": "date-time",
            "example": "2019-01-01T05:20:00Z"
          }
        }
      },
      "monitor_input": {
        "description": "The request data for creating a load balancer monitor",
        "type": "object",
        "required": [
          "name",
          "type"
        ],
        "properties": {
          "name": {
            "description": "The name of the load balancer monitor.",
            "type": "string",
            "example": "healthcheck-monitor"
          },
          "description": {
            "description": "Descriptive text of the load balancer monitor.",
            "type": "string",
            "example": "Load balancer monitor for glb.example.com."
          },
          "type": {
            "description": "The protocol to use for the health check. Currently supported protocols are 'HTTP','HTTPS' and 'TCP'.",
            "type": "string",
            "enum": [
              "HTTP",
              "HTTPS",
              "TCP"
            ],
            "example": "HTTPS"
          },
          "port": {
            "description": "Port number to connect to for the health check. Required for TCP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).",
            "type": "integer",
            "minimum": 1,
            "maximum": 65535,
            "example": 8080
          },
          "interval": {
            "description": "The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations.",
            "type": "integer",
            "minimum": 5,
            "maximum": 3600,
            "example": 60
          },
          "retries": {
            "description": "The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.",
            "type": "integer",
            "minimum": 0,
            "maximum": 3,
            "example": 2
          },
          "timeout": {
            "description": "The timeout (in seconds) before marking the health check as failed.",
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "example": 5
          },
          "method": {
            "description": "The method to use for the health check applicable to HTTP/HTTPS based checks, the default value is 'GET'.",
            "type": "string",
            "enum": [
              "GET",
              "HEAD"
            ],
            "example": "GET"
          },
          "path": {
            "description": "The endpoint path to health check against. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "example": "/health"
          },
          "headers": {
            "description": "The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/healthcheck_header"
            }
          },
          "allow_insecure": {
            "description": "Do not validate the certificate when monitor use HTTPS. This parameter is currently only valid for HTTPS monitors.",
            "type": "boolean",
            "example": false
          },
          "expected_codes": {
            "description": "The expected HTTP response code or code range of the health check. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "enum": [
              "200",
              "201",
              "202",
              "203",
              "204",
              "205",
              "206",
              "207",
              "208",
              "226",
              "2xx",
              "3xx",
              "4xx",
              "5xx"
            ],
            "example": "200"
          },
          "expected_body": {
            "description": "A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "maxLength": 1024,
            "example": "alive"
          }
        }
      },
      "monitor_update_input": {
        "description": "The request data for updating a load balancer monitor",
        "type": "object",
        "minProperties": 1,
        "properties": {
          "name": {
            "description": "The name of the load balancer monitor.",
            "type": "string",
            "example": "healthcheck-monitor"
          },
          "description": {
            "description": "Descriptive text of the load balancer monitor.",
            "type": "string",
            "example": "Load balancer monitor for glb.example.com."
          },
          "type": {
            "description": "The protocol to use for the health check. Currently supported protocols are 'HTTP','HTTPS' and 'TCP'.",
            "type": "string",
            "enum": [
              "HTTP",
              "HTTPS",
              "TCP"
            ],
            "example": "HTTPS"
          },
          "port": {
            "description": "Port number to connect to for the health check. Required for TCP checks. HTTP and HTTPS checks should only define the port when using a non-standard port (HTTP: default 80, HTTPS: default 443).",
            "type": "integer",
            "minimum": 1,
            "maximum": 65535,
            "example": 8080
          },
          "interval": {
            "description": "The interval between each health check. Shorter intervals may improve failover time, but will increase load on the origins as we check from multiple locations.",
            "type": "integer",
            "minimum": 5,
            "maximum": 3600,
            "example": 60
          },
          "retries": {
            "description": "The number of retries to attempt in case of a timeout before marking the origin as unhealthy. Retries are attempted immediately.",
            "type": "integer",
            "minimum": 0,
            "maximum": 3,
            "example": 2
          },
          "timeout": {
            "description": "The timeout (in seconds) before marking the health check as failed.",
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "example": 5
          },
          "method": {
            "description": "The method to use for the health check applicable to HTTP/HTTPS based checks, the default value is 'GET'.",
            "type": "string",
            "enum": [
              "GET",
              "HEAD"
            ],
            "example": "GET"
          },
          "path": {
            "description": "The endpoint path to health check against. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "example": "/health"
          },
          "headers": {
            "description": "The HTTP request headers to send in the health check. It is recommended you set a Host header by default. The User-Agent header cannot be overridden. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/healthcheck_header"
            }
          },
          "allow_insecure": {
            "description": "Do not validate the certificate when monitor use HTTPS. This parameter is currently only valid for HTTP and HTTPS monitors.",
            "type": "boolean",
            "example": false
          },
          "expected_codes": {
            "description": "The expected HTTP response code or code range of the health check. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "enum": [
              "200",
              "201",
              "202",
              "203",
              "204",
              "205",
              "206",
              "207",
              "208",
              "226",
              "2xx",
              "3xx",
              "4xx",
              "5xx"
            ],
            "example": "200"
          },
          "expected_body": {
            "description": "A case-insensitive sub-string to look for in the response body. If this string is not found, the origin will be marked as unhealthy. This parameter is only valid for HTTP and HTTPS monitors.",
            "type": "string",
            "maxLength": 1024,
            "example": "alive"
          }
        }
      },
      "monitor_list": {
        "description": "An array of load balancer monitors",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/monitor"
        }
      },
      "custom_resolver": {
        "description": "custom resolver details",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of the custom resolver.",
            "type": "string",
            "example": "5365b73c-ce6f-4d6f-ad9f-d9c131b26370"
          },
          "name": {
            "description": "Name of the custom resolver.",
            "type": "string",
            "example": "my-resolver"
          },
          "description": {
            "description": "Descriptive text of the custom resolver.",
            "type": "string",
            "example": "custom resolver"
          },
          "enabled": {
            "description": "Whether the custom resolver is enabled.",
            "type": "boolean",
            "example": false
          },
          "health": {
            "description": "Healthy state of the custom resolver.",
            "type": "string",
            "enum": [
              "HEALTHY",
              "DEGRADED",
              "CRITICAL"
            ],
            "example": "HEALTHY"
          },
          "locations": {
            "description": "Locations on which the custom resolver will be running.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/location"
            }
          },
          "created_on": {
            "description": "the time when a custom resolver is created, RFC3339 format.",
            "type": "string",
            "format": "date-time",
            "example": "2021-04-21T08:18:25Z"
          },
          "modified_on": {
            "description": "the recent time when a custom resolver is modified, RFC3339 format.",
            "type": "string",
            "format": "date-time",
            "example": "2021-04-21T08:18:25Z"
          }
        }
      },
      "custom_resolver_input": {
        "description": "The request data for creating a custom resolver",
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "description": "Name of the custom resolver.",
            "type": "string",
            "example": "my-resolver"
          },
          "description": {
            "description": "Descriptive text of the custom resolver.",
            "type": "string",
            "example": "custom resolver"
          },
          "locations": {
            "description": "Locations on which the custom resolver will be running.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/location_input"
            }
          }
        }
      },
      "custom_resolver_update_input": {
        "description": "The request data for updating a custom resolver",
        "type": "object",
        "minProperties": 1,
        "properties": {
          "name": {
            "description": "Name of the custom resolver.",
            "type": "string",
            "example": "my-resolver"
          },
          "description": {
            "description": "Descriptive text of the custom resolver.",
            "type": "string",
            "example": "custom resolver"
          },
          "enabled": {
            "description": "Whether the custom resolver is enabled.",
            "type": "boolean",
            "example": false
          }
        }
      },
      "custom_resolver_list": {
        "description": "List custom resolvers response.",
        "type": "object",
        "properties": {
          "custom_resolvers": {
            "description": "An array of custom resolvers",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/custom_resolver"
            }
          }
        }
      },
      "location": {
        "description": "Custom resolver location.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Location ID.",
            "type": "string",
            "example": "9a234ede-c2b6-4c39-bc27-d39ec139ecdb"
          },
          "subnet_crn": {
            "description": "Subnet CRN.",
            "type": "string",
            "example": "crn:v1:bluemix:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04"
          },
          "enabled": {
            "description": "Whether the location is enabled for the custom resolver.",
            "type": "boolean",
            "example": true
          },
          "healthy": {
            "description": "Whether the DNS server in this location is healthy or not.",
            "type": "boolean",
            "example": true
          },
          "dns_server_ip": {
            "description": "The ip address of this dns server.",
            "type": "string",
            "example": "10.10.16.8"
          }
        }
      },
      "locations_order_update_input": {
        "description": "Request to update custom resolver location order.",
        "type": "object",
        "required": [
          "locations"
        ],
        "properties": {
          "locations": {
            "description": "Array of custom resolver location ID.",
            "type": "array",
            "items": {
              "description": "Location ID.",
              "type": "string",
              "example": "9a234ede-c2b6-4c39-bc27-d39ec139ecdb"
            }
          }
        }
      },
      "location_input": {
        "description": "Request to add custom resolver location.",
        "type": "object",
        "required": [
          "subnet_crn"
        ],
        "properties": {
          "subnet_crn": {
            "description": "Custom resolver location, subnet CRN.",
            "type": "string",
            "example": "crn:v1:bluemix:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04"
          },
          "enabled": {
            "description": "Enable/Disable custom resolver location.",
            "type": "boolean",
            "example": false
          }
        }
      },
      "location_update_input": {
        "description": "Request to edit custom resolver location.",
        "type": "object",
        "properties": {
          "enabled": {
            "description": "Enable/Disable custom resolver location.",
            "type": "boolean",
            "example": false
          },
          "subnet_crn": {
            "description": "Subnet CRN.",
            "type": "string",
            "example": "crn:v1:bluemix:public:is:us-south-1:a/01652b251c3ae2787110a995d8db0135::subnet:0716-b49ef064-0f89-4fb1-8212-135b12568f04"
          }
        }
      },
      "forwarding_rule": {
        "description": "forwarding rule details",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of the forwarding rule.",
            "type": "string",
            "example": "5365b73c-ce6f-4d6f-ad9f-d9c131b26370"
          },
          "description": {
            "description": "Descriptive text of the forwarding rule.",
            "type": "string",
            "example": "forwarding rule"
          },
          "type": {
            "description": "Type of the forwarding rule.",
            "type": "string",
            "enum": [
              "zone",
              "default"
            ],
            "example": "zone"
          },
          "match": {
            "description": "The matching zone or hostname.",
            "type": "string",
            "example": "example.com"
          },
          "forward_to": {
            "description": "The upstream DNS servers will be forwarded to.",
            "type": "array",
            "items": {
              "type": "string",
              "example": "161.26.0.7"
            }
          },
          "created_on": {
            "description": "the time when a forwarding rule is created, RFC3339 format.",
            "type": "string",
            "format": "date-time",
            "example": "2021-04-21T08:18:25Z"
          },
          "modified_on": {
            "description": "the recent time when a forwarding rule is modified, RFC3339 format.",
            "type": "string",
            "format": "date-time",
            "example": "2021-04-21T08:18:25Z"
          }
        }
      },
      "forwarding_rule_input": {
        "description": "forwarding rule details",
        "type": "object",
        "required": [
          "type",
          "match",
          "forward_to"
        ],
        "properties": {
          "description": {
            "description": "Descriptive text of the forwarding rule.",
            "type": "string",
            "example": "forwarding rule"
          },
          "type": {
            "description": "Type of the forwarding rule.",
            "type": "string",
            "enum": [
              "zone"
            ],
            "example": "zone"
          },
          "match": {
            "description": "The matching zone or hostname.",
            "type": "string",
            "example": "example.com"
          },
          "forward_to": {
            "description": "The upstream DNS servers will be forwarded to.",
            "type": "array",
            "items": {
              "type": "string",
              "example": "161.26.0.7"
            }
          }
        }
      },
      "forwarding_rule_update_input": {
        "description": "forwarding rule details",
        "type": "object",
        "properties": {
          "description": {
            "description": "Descriptive text of the forwarding rule.",
            "type": "string",
            "example": "forwarding rule"
          },
          "match": {
            "description": "The matching zone or hostname.",
            "type": "string",
            "example": "example.com"
          },
          "forward_to": {
            "description": "The upstream DNS servers will be forwarded to.",
            "type": "array",
            "items": {
              "type": "string",
              "example": "161.26.0.7"
            }
          }
        }
      },
      "forwarding_rule_list": {
        "description": "List of forwarding rules",
        "type": "object",
        "required": [
          "forwarding_rules",
          "offset",
          "limit",
          "count",
          "total_count",
          "first",
          "last"
        ],
        "properties": {
          "forwarding_rules": {
            "$ref": "#/components/schemas/forwarding_rules"
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "forwarding_rules": {
        "description": "An array of forwarding rules",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/forwarding_rule"
        }
      },
      "secondary_zone": {
        "description": "Secondary zone details",
        "type": "object",
        "required": [
          "id",
          "zone",
          "enabled",
          "transfer_from"
        ],
        "properties": {
          "id": {
            "description": "Identifier of the secondary zone",
            "type": "string",
            "format": "identifier",
            "minLength": 36,
            "maxLength": 36,
            "pattern": "^[-0-9a-z_]+$",
            "example": "f97ef698-d5fa-4f91-bc5a-33f17d143b7d"
          },
          "description": {
            "description": "Descriptive text of the secondary zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\s\\S]*$",
            "example": "secondary zone"
          },
          "zone": {
            "description": "zone name",
            "type": "string",
            "minLength": 3,
            "maxLength": 255,
            "pattern": "^[-0-9a-zA-Z\\.]+$",
            "example": "example.com"
          },
          "enabled": {
            "description": "Enable/Disable the secondary zone",
            "type": "boolean",
            "example": false
          },
          "transfer_from": {
            "$ref": "#/components/schemas/secondary_zone_transfer_from_output"
          },
          "created_on": {
            "description": "The time when a secondary zone is created",
            "type": "string",
            "format": "date-time",
            "example": "2022-03-16T08:18:25Z"
          },
          "modified_on": {
            "description": "The recent time when a secondary zone is modified",
            "type": "string",
            "format": "date-time",
            "example": "2022-03-16T08:18:25Z"
          }
        }
      },
      "secondary_zone_transfer_from_input": {
        "description": "The addresses of DNS servers where the secondary zone data should be transferred from",
        "type": "array",
        "minItems": 1,
        "maxItems": 2,
        "items": {
          "description": "The address of DNS server where the secondary zone data should be transferred from",
          "type": "string",
          "minLength": 7,
          "maxLength": 15,
          "example": "10.0.0.7"
        }
      },
      "secondary_zone_transfer_from_output": {
        "description": "The addresses of DNS servers where the secondary zone data should be transferred from",
        "type": "array",
        "minItems": 1,
        "maxItems": 2,
        "items": {
          "description": "The address of DNS server where the secondary zone data should be transferred from",
          "type": "string",
          "minLength": 7,
          "maxLength": 21,
          "example": "10.0.0.7:53"
        }
      },
      "secondary_zone_input": {
        "description": "Request data to create secondary zone",
        "type": "object",
        "required": [
          "zone",
          "transfer_from"
        ],
        "properties": {
          "description": {
            "description": "Descriptive text of the secondary zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\s\\S]*$",
            "example": "secondary zone"
          },
          "zone": {
            "description": "zone name",
            "type": "string",
            "minLength": 3,
            "maxLength": 255,
            "pattern": "^[-0-9a-zA-Z\\.]+$",
            "example": "example.com"
          },
          "enabled": {
            "description": "Enable/Disable the secondary zone",
            "type": "boolean",
            "example": false
          },
          "transfer_from": {
            "$ref": "#/components/schemas/secondary_zone_transfer_from_input"
          }
        }
      },
      "secondary_zone_list": {
        "description": "List of secondary zones",
        "type": "object",
        "required": [
          "secondary_zones",
          "offset",
          "limit",
          "count",
          "total_count"
        ],
        "properties": {
          "secondary_zones": {
            "description": "Secondary zones",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/secondary_zone"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "secondary_zone_update_input": {
        "description": "Request data to update a secondary zone",
        "type": "object",
        "minProperties": 1,
        "properties": {
          "description": {
            "description": "Descriptive text of the secondary zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\s\\S]*$",
            "example": "secondary zone"
          },
          "enabled": {
            "description": "Enable/Disable the secondary zone",
            "type": "boolean",
            "example": false
          },
          "transfer_from": {
            "$ref": "#/components/schemas/secondary_zone_transfer_from_input"
          }
        }
      },
      "linked_dnszone": {
        "description": "linked zone details",
        "type": "object",
        "required": [
          "id",
          "instance_id",
          "name",
          "linked_to",
          "state"
        ],
        "properties": {
          "id": {
            "description": "Identifier of the linked zone",
            "type": "string",
            "format": "identifier",
            "minLength": 36,
            "maxLength": 36,
            "pattern": "^[-0-9a-z_]+$",
            "example": "5365b73c-ce6f-4d6f-ad9f-d9c131b26370"
          },
          "instance_id": {
            "description": "Unique identifier of a service instance",
            "type": "string",
            "format": "identifier",
            "minLength": 36,
            "maxLength": 36,
            "pattern": "^[-0-9a-z_]+$",
            "example": "5cbc3c1b-021c-4ad7-b9e4-a5dfefdecf85"
          },
          "name": {
            "description": "Name of owner's DNS zone",
            "type": "string",
            "minLength": 3,
            "maxLength": 255,
            "pattern": "^[-0-9a-zA-Z\\.]+$",
            "example": "example.com"
          },
          "description": {
            "description": "Descriptive text of the linked zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\s\\S]*$",
            "example": "linked zone example"
          },
          "linked_to": {
            "description": "The owner's instance and zone that the zone is linked to",
            "type": "object",
            "properties": {
              "instance_crn": {
                "description": "The owner's instance CRN",
                "type": "string",
                "format": "crn",
                "minLength": 9,
                "maxLength": 512,
                "pattern": "^crn:v[0-9](:([A-Za-z0-9-._~!$&'()*+,;=@/]|%[0-9A-Z]{2})*){8}$",
                "example": "crn:v1:staging:public:pdnsdev:global:a/01652b251c3ae2787110a995d8db0135:abe30019-1c08-42dc-9ad9-a0682af70054::"
              },
              "zone_id": {
                "description": "The owner's DNS zone",
                "type": "string",
                "format": "identifier",
                "minLength": 36,
                "maxLength": 36,
                "pattern": "^[-0-9a-z_]+$",
                "example": "05855abe-3908-4cdc-bf0d-063e0b1c296d"
              }
            }
          },
          "state": {
            "description": "The state of linked zone",
            "type": "string",
            "enum": [
              "PENDING_APPROVAL",
              "PENDING_NETWORK_ADD",
              "ACTIVE",
              "APPROVAL_REJECTED",
              "APPROVAL_TIMEDOUT",
              "APPROVAL_REVOKED"
            ],
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[0-9A-Z_]+$",
            "example": "PENDING_APPROVAL"
          },
          "label": {
            "description": "The label of linked zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 64,
            "pattern": "^[\\s\\S]*$",
            "example": "dev"
          },
          "approval_required_before": {
            "description": "The expired time of linked zone with state `approval pending`",
            "type": "string",
            "format": "date-time",
            "example": "2022-03-16T07:23:25Z"
          },
          "created_on": {
            "description": "The time when the linked zone is created",
            "type": "string",
            "format": "date-time",
            "example": "2022-03-09T07:23:25Z"
          },
          "modified_on": {
            "description": "The recent time when the linked zone is modified",
            "type": "string",
            "format": "date-time",
            "example": "2022-03-09T07:23:25Z"
          }
        }
      },
      "linked_dnszones_list": {
        "description": "The list of linked zones",
        "type": "object",
        "required": [
          "linked_dnszones",
          "offset",
          "limit",
          "count",
          "total_count"
        ],
        "properties": {
          "linked_dnszones": {
            "description": "The list of linked zones",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/linked_dnszone"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "linked_dnszone_input": {
        "description": "The request data for creating a linked zone",
        "type": "object",
        "required": [
          "owner_instance_id",
          "owner_zone_id"
        ],
        "properties": {
          "owner_instance_id": {
            "description": "Owner's instance ID",
            "type": "string",
            "format": "identifier",
            "minLength": 36,
            "maxLength": 36,
            "pattern": "^[-0-9a-z_]+$",
            "example": "abe30019-1c08-42dc-9ad9-a0682af70054"
          },
          "owner_zone_id": {
            "description": "Owner's DNS zone ID",
            "type": "string",
            "format": "identifier",
            "minLength": 36,
            "maxLength": 36,
            "pattern": "^[-0-9a-z_]+$",
            "example": "05855abe-3908-4cdc-bf0d-063e0b1c296d"
          },
          "description": {
            "description": "Descriptive text of the linked zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\s\\S]*$",
            "example": "linked zone example"
          },
          "label": {
            "description": "The label of linked zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 64,
            "pattern": "^[\\s\\S]*$",
            "example": "dev"
          }
        }
      },
      "linked_dnszone_update_input": {
        "description": "The request data for updating a linked zone",
        "type": "object",
        "minProperties": 1,
        "properties": {
          "description": {
            "description": "Descriptive text of the linked zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 255,
            "pattern": "^[\\s\\S]*$",
            "default": "",
            "example": "linked zone example"
          },
          "label": {
            "description": "The label of linked zone",
            "type": "string",
            "minLength": 0,
            "maxLength": 64,
            "pattern": "^[\\s\\S]*$",
            "default": "",
            "example": "dev"
          }
        }
      },
      "access_request": {
        "description": "Access request",
        "type": "object",
        "required": [
          "id",
          "zone_id",
          "zone_name",
          "requestor",
          "state"
        ],
        "properties": {
          "id": {
            "description": "Access request ID",
            "type": "string",
            "format": "identifier",
            "minLength": 36,
            "maxLength": 36,
            "pattern": "^[-0-9a-z_]+$",
            "example": "9a234ede-c2b6-4c39-bc27-d39ec139ecdb"
          },
          "requestor": {
            "description": "The information of requestor",
            "type": "object",
            "properties": {
              "account_id": {
                "description": "The account ID of requestor",
                "type": "string",
                "format": "identifier",
                "minLength": 32,
                "maxLength": 32,
                "pattern": "^[0-9a-f]+$",
                "example": "01652b251c3ae2787110a995d8db0135"
              },
              "instance_id": {
                "description": "The requestor's DNS service instance ID",
                "type": "string",
                "format": "identifier",
                "minLength": 36,
                "maxLength": 36,
                "pattern": "^[-0-9a-z_]+$",
                "example": "9a234ede-c2b6-4c39-bc27-d39ec139ecdb"
              },
              "linked_zone_id": {
                "description": "The requestor's linked zone ID",
                "type": "string",
                "format": "identifier",
                "minLength": 36,
                "maxLength": 36,
                "pattern": "^[-0-9a-z_]+$",
                "example": "9a234ede-c2b6-4c39-bc27-d39ec139ecdb"
              }
            }
          },
          "zone_id": {
            "description": "The zone ID that requestor requests access for",
            "type": "string",
            "format": "identifier",
            "maxLength": 36,
            "pattern": "^[-0-9a-z_]+$",
            "example": "05855abe-3908-4cdc-bf0d-063e0b1c296d"
          },
          "zone_name": {
            "description": "The zone name that requestor requests access for",
            "type": "string",
            "minLength": 3,
            "maxLength": 255,
            "pattern": "^[-0-9a-zA-Z\\.]+$",
            "example": "example.com"
          },
          "state": {
            "description": "The state of the access request",
            "type": "string",
            "enum": [
              "PENDING",
              "APPROVED",
              "REJECTED",
              "REVOKED",
              "TIMEDOUT"
            ],
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[0-9A-Z_]+$",
            "example": "PENDING"
          },
          "pending_expires_at": {
            "description": "The expired time of access request with state `pending`",
            "type": "string",
            "format": "date-time",
            "example": "2022-03-16T07:23:25Z"
          },
          "created_on": {
            "description": "The time when the linked zone is created",
            "type": "string",
            "format": "date-time",
            "example": "2022-03-09T07:23:25Z"
          },
          "modified_on": {
            "description": "The recent time when the linked zone is modified",
            "type": "string",
            "format": "date-time",
            "example": "2022-03-09T07:23:25Z"
          }
        }
      },
      "access_requests_list": {
        "description": "The list of access requests",
        "type": "object",
        "required": [
          "access_requests",
          "offset",
          "limit",
          "count",
          "total_count"
        ],
        "properties": {
          "access_requests": {
            "description": "The list of access requests",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/access_request"
            }
          },
          "offset": {
            "$ref": "#/components/schemas/offset_ref"
          },
          "limit": {
            "$ref": "#/components/schemas/limit_ref"
          },
          "count": {
            "$ref": "#/components/schemas/count_ref"
          },
          "total_count": {
            "$ref": "#/components/schemas/total_count_ref"
          },
          "first": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "last": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "previous": {
            "$ref": "#/components/schemas/pagination_ref"
          },
          "next": {
            "$ref": "#/components/schemas/pagination_ref"
          }
        }
      },
      "access_request_patch_input": {
        "description": "The request data for updating an access request",
        "type": "object",
        "required": [
          "action"
        ],
        "properties": {
          "action": {
            "description": "The action applies to the access request",
            "type": "string",
            "enum": [
              "APPROVE",
              "REJECT",
              "REVOKE"
            ],
            "example": "APPROVE"
          }
        }
      },
      "error_container": {
        "title": "error_container",
        "description": "Error container",
        "type": "object",
        "required": [
          "errors",
          "trace"
        ],
        "properties": {
          "errors": {
            "description": "An array of error models",
            "items": {
              "$ref": "#/components/schemas/error_model"
            },
            "type": "array"
          },
          "trace": {
            "type": "string",
            "description": "Uniquely identifying the request",
            "example": "94115732-333b-4bf1-a542-aacbb0ca72de"
          }
        }
      },
      "error_model": {
        "title": "error_model",
        "description": "Error model",
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "description": "A snake case string succinctly identifying the problem",
            "example": "resource_not_found",
            "pattern": "^[a-z]+(_[a-z]+)*$",
            "type": "string"
          },
          "message": {
            "description": "An explanation of the problem",
            "example": "The DNS zone doesn't exist.",
            "type": "string"
          },
          "more_info": {
            "example": "https://cloud.ibm.com/apidocs/dns-svcs#error-handling",
            "type": "string",
            "description": "Link to documentation about this error"
          },
          "target": {
            "$ref": "#/components/schemas/error_target"
          }
        }
      },
      "error_target": {
        "title": "error_target",
        "description": "Error target",
        "type": "object",
        "required": [
          "name",
          "type"
        ],
        "properties": {
          "name": {
            "description": "The name of the problematic field, query parameter, or header",
            "example": "label",
            "type": "string"
          },
          "type": {
            "description": "The type of input where the problem was",
            "enum": [
              "field",
              "header",
              "parameter"
            ],
            "example": "field",
            "type": "string"
          }
        }
      },
      "pagination_ref": {
        "description": "href",
        "type": "object",
        "properties": {
          "href": {
            "description": "href",
            "type": "string",
            "example": "https://api.dns-svcs.cloud.ibm.com/v1/instances/434f6c3e-6014-4124-a61d-2e910bca19b1/dnszones?offset=0&limit=200"
          }
        }
      },
      "offset_ref": {
        "description": "The number of resources to skip over",
        "type": "integer",
        "format": "int32",
        "example": 0
      },
      "limit_ref": {
        "description": "The maximum number of resources might be returned",
        "type": "integer",
        "format": "int32",
        "example": 200
      },
      "count_ref": {
        "description": "The number of resources are returned",
        "type": "integer",
        "format": "int32",
        "example": 1
      },
      "total_count_ref": {
        "description": "Total number of resources",
        "type": "integer",
        "format": "int32",
        "example": 1
      }
    }
  }
}