{
  "openapi": "3.0.0",
  "info": {
    "title": "MQ SaaS",
    "description": "## Introduction\n\nIBM® MQ is an enterprise grade messaging middleware service that gives independent and potentially non-concurrent applications secure messaging capabilities, such as point-to-point and publish/subscribe models.\n\nIBM MQ on IBM Cloud enables you to quickly and easily deploy queue managers in the cloud and connect your applications to them, providing reliable data transfer between different parts of your enterprise application landscape.\n\nUse the MQ on Cloud API to Get, Create, Delete and Configure MQ resources. Queue manager, User, App and Certificate interfaces enable convenient programmatic control of MQ on Cloud resource lifecycles and day two operations.\n\nFor more information about how to use MQ on Cloud, see: [Getting started](https://cloud.ibm.com/docs/mqcloud?topic=mqcloud-getting_started).\n\n> **Note:** API access is restricted to users of the reserved deployment plan.\n\n## SDK language support\n\nThe MQ on Cloud API currently supports only Go. The SDK is available at the following repository\n\n| Language | Repository |\n|-|-|\n| Go | https://github.com/IBM/mqcloud-go-sdk |\n\nInstalling the Go SDK\n\nGo modules (recommended): Add the following import in your code, and then run `go build` or `go mod tidy`\n\n```go\nimport (\n  \"github.com/IBM/mqcloud-go-sdk/mqcloudv1\"\n)\n```\n\nGo get\n\n```bash\ngo get -u github.com/IBM/mqcloud-go-sdk/mqcloudv1\n```\n\nView on GitHub\n\n[https://github.com/IBM/mqcloud-go-sdk](https://github.com/IBM/mqcloud-go-sdk)\n\n## Endpoint URLs\n\nThe base URLs for MQ on IBM Cloud API endpoints are specific to the region of your Service Instance. For example:\n\n```bash\nhttps://api.private.<region>.mq2.cloud.ibm.com\n\n```\n\nFor a list of regions and their short-names, see: [Deployment Locations](https://cloud.ibm.com/docs/mqcloud?topic=mqcloud-deploy_locations).\n\n## Authentication\n\nTo work with the API, authenticate your app or service by including your IBM Cloud IAM access token, and service instance GUID (ID) in API requests.\n\nYou can use the\n[IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-getting-started)\nto quickly generate your personal Cloud IAM [access token](#x2113001).\n\n1. Log in to IBM Cloud with the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-getting-started).\n\n    ```sh\n    ibmcloud login\n    ```\n\n    \n\n    If the login fails, run the `ibmcloud login --sso` command to try again. The\n    `--sso` parameter is required when you log in with a federated ID. If this\n    option is used, go to the link listed in the CLI output to generate a\n    one-time pass code.\n    \n\n2. Select the account, region, and resource group that contain your provisioned\n    instance of MQ on IBM Cloud.\n\n3. Run the following command to retrieve your Cloud IAM access token.\n\n    ```sh\n    ibmcloud iam oauth-tokens\n    ```\n\n    \n\n    The following truncated example shows a retrieved IAM token.\n\n    ```sh\n    IAM token: Bearer eyJraWQiOiIyM...\n    ```\n\n    \n\nTo retrieve your Service Instance GUID:\n\nRun the following command substituting in your Service Instance name here `{service-instance-name}` and extract the value of the field `guid`.\n\n```sh\nibmcloud resource service-instance {service-instance-name} --output JSON\n```\n\nYou can build your API request by pairing a service endpoint with your authentication credentials. For example, if you created a MQ on Cloud service instance for the `eu-de` region, use the following endpoint and API headers to retrieve queue managers in your service instance:\n\n```bash\ncurl -X GET \\\n    -H \"Accept: application/json\" \\\n    -H \"Authorization: Bearer <access_token>\" \\\n    \"https://api.private.eu-de.mq2.cloud.ibm.com/v1/<guid>/queue_managers\"\n```\n\nReplace `<access_token>` with your IBM Cloud IAM token, and `<guid>` with the Service Instance GUID (ID) that identifies your MQ on Cloud service instance.\n\nWhen you use the SDK, configure an IAM authenticator with the IAM API key. The authenticator automatically obtains the IAM access token for the API key and includes it with each request. You can construct an authenticator in either of two ways:\n- Programmatically by constructing an IAM authenticator instance and supplying your IAM API key \n- By defining the API key in external configuration properties and then using the SDK authenticator factory to construct an IAM authenticator that uses the configured IAM API key\n\nIn this example of using external configuration properties, an IAM authenticator instance is created with the configured API key, and then the service client is constructed with this authenticator instance and the configured service URL.\n\nFor more information, see the Authentication section of the [IBM Cloud SDK Common](https://github.com/IBM/ibm-cloud-sdk-common/blob/main/README.md) documentation.\n\nTo call each method, you'll need to be assigned a role that includes the required IAM actions. Each method lists the associated action. For more information about IAM actions and how they map to roles, see [Assigning access to account management services](https://cloud.ibm.com/docs/account?topic=account-account-services).\n\nTo retrieve your access token:\n\n```bash\ncurl -X POST \\\n  \"https://iam.cloud.ibm.com/identity/token\" \\\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=<API_KEY>'\n```\n\nReplace `<API_KEY>` with your IAM API key.\n\nSetting client options through external configuration\n\nExample environment variables, where `<ENDPOINT_URL>` is the endpoint URL and `<API_KEY>` is your IAM API key\n```bash\nexport IBMCLOUD_MQCLOUD_CONFIG_ENDPOINT=<ENDPOINT_URL>\nexport IBMCLOUD_APIKEY=<API_KEY>\nexport IBMCLOUD_IAM_API_ENDPOINT=\"https://iam.cloud.ibm.com\"\n```\n\nExample of constructing the service client\n```go\nimport (\n  \"log\"\n  \"os\"\n\n  \"github.com/IBM/go-sdk-core/v5/core\"\n  \"github.com/IBM/mqcloud-go-sdk/mqcloudv1\"\n)\n...\nauthenticator := &core.IamAuthenticator{\n  ApiKey: os.Getenv(\"IBMCLOUD_APIKEY\"),\n  URL:    os.Getenv(\"IBMCLOUD_IAM_API_ENDPOINT\") + \"/identity/token\",\n}\n\nmqcloudV1Options := &mqcloudv1.MqcloudV1Options{\n  URL:           os.Getenv(\"IBMCLOUD_MQCLOUD_CONFIG_ENDPOINT\"),\n  Authenticator: authenticator,\n}\n\nmqcloudService, err := mqcloudv1.NewMqcloudV1(mqcloudV1Options)\nif err != nil {\n  log.Fatalf(\"Failed to create MQ Cloud Service Client: %v\", err)\n}\n```\n\n## Auditing\n\nYou can monitor API activity within your account by using the IBM Cloud Activity Tracker service. Whenever an API method is called, an event is generated that you can then track and audit from within Activity Tracker.\n\nFor more information about how to track MQ activity, see [Activity Tracker events](https://cloud.ibm.com/docs/mqcloud?topic=mqcloud-at_events).\n\n## Error handling\n\nThis API uses standard HTTP response codes to indicate whether a method completed successfully. HTTP response codes in the 2xx range indicate success. A response in the 4xx range is some sort of failure, and a response in the 5xx range usually indicates an internal system error that can't be resolved by the user. The following table describes the HTTP error codes.\n\n| HTTP Error Code | Description           | Recovery                                                                    |\n|-----------------|-----------------------|-----------------------------------------------------------------------------|\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. Log in to IBM Cloud to get an IAM token and try again. If this error persists, contact the account owner to check your permissions. |\n| `404`           | Not Found             | The requested resource could not be found or you do not have permission to discover the requested resource. If this error persists, contact the account owner to check your permissions. |\n| `405`           | Method Not Allowed    | The provided HTTP method is not supported by the endpoint. Review your chosen method against the API documentation. |\n| `409`           | Conflict              | A resource with this name already exists or is already in the requested state. For a new resource, choose a unique name. |\n| `429`           | Too Many Requests     | Overuse of the API. Inspect the response headers to find the retry-after time. |\n| `500`           | Internal Server Error | The server encountered an unexpected condition that prevented it from fulfilling the request. If this error persists, contact the support team. |\n| `503`           | Service unavailable   | MQ on Cloud is currently unavailable. Your request could not be processed. Wait a few minutes and try again. |\n\n#### Understanding error models\n\nThis API follows IBM Cloud [API Handbook Errors](https://cloud.ibm.com/docs/api-handbook?topic=api-handbook-errors) standards, ensuring consistency across error models. Where possible, error responses will include information to assist in understanding the root cause of the error. For example:\n\n```sh\n{\n  \"errors\": [\n    {\n      \"code\": \"bad_request\",\n      \"message\": \"Bad request for service instance 6b79b864-a049-4d9e-862d-99bc79759396, channel [CLOUD.APP.FAKE] is not configurable as an AMS channel for target queuemanager\",\n      \"more_info\": \"https://cloud.ibm.com/apidocs/mq-on-cloud#set-certificate-ams-channels\",\n      \"target\": {\n        \"type\": \"field\",\n        \"name\": \"channels\"\n      }\n    }\n  ],\n  \"trace\": \"afe0399f-d99a-4723-a5f1-6deb1e8e1703\",\n  \"status_code\": 400\n}\n```\n\nAt a minimum, the `code`, `message`, `trace` and `status_code` fields will be provided. If you need to [raise a support ticket](https://cloud.ibm.com/unifiedsupport/supportcenter) for an error, include these fields in the support ticket to enable timely debug and resolution. If more information is available, such as which field is incomplete, invalid or otherwise erroneous, the `more_info` and `target` fields will be populated to focus the user towards the problem area(s).\n\n## Pagination\n\nSome API requests might return many results. To avoid performance issues, these results are returned one page at a time, with a limited number of results on each page. GET requests for the following resources use pagination:\n\n- `/v1/{sid}/queue_managers`\n- `/v1/{sid}/users`\n- `/v1/{sid}/applications`\n\nThe default page size is 25 objects. To use a different page size, use the `limit` query parameter. The pagination strategy in use is limit and offset.\n\nFor any request that uses pagination, the response includes `First` and where applicable `Next` and `Previous` objects containing URLs to make subsequent requests:\n\n- `First`: The object containing the URL for requesting the first page of results\n- `Next`: The object containing the URL for requesting the next page of results. The `Next` field is omitted if there are no more results\n- `Previous`: The object containing the URL for requesting the previous page. The `Previous` field is omitted if the response is the first page (`offset=0`)\n\nThese URLs retain the same `limit` parameter that was used for the initial request.\n\n## Rate limiting\n\nRate limits for API requests are enforced on a per-server basis. If the number of requests to the server reaches the request limit within the specified time window, no further requests are accepted until the timer expires. After the timer expires, a new time window begins with the next accepted request.\n\nThe response to each HTTP request includes headers that you can use to determine whether you are close to the rate limit:\n\n- `Retry-after`: The time to wait before trying the request again (in seconds)\n- `X-Ratelimit-Limit`: The total number of requests allowed within the time window\n- `X-Ratelimit-Remaining`: The number of requests remaining in the current time window\n- `X-Ratelimit-Reset`: The time the current timer expires (in UNIX epoch time)\n\nHTTP status code `429` indicates that the rate limit has been exceeded.",
    "contact": {
      "name": "IBM",
      "url": "https://www.ibm.com",
      "email": "NIALL@uk.ibm.com"
    },
    "license": {
      "name": "IBM",
      "url": "https://www.ibm.com"
    },
    "version": "1.1.0",
    "x-alternate-name": "mqcloud",
    "x-codegen-config": {
      "go": {
        "apiPackage": "github.com/IBM/mqcloud-go-sdk"
      }
    },
    "x-github": "https://github.ibm.com/cloud-api-docs/mq-on-cloud",
    "x-github-issues": "https://github.ibm.com/cloud-api-docs/mq-on-cloud/issues/new",
    "x-last-updated": "2023-10-02"
  },
  "servers": [
    {
      "url": "https://api.private.{region}.mq2.cloud.ibm.com",
      "description": "The production environments.",
      "variables": {
        "region": {
          "description": "The region prefix that represents the geographic area where your MQ SaaS service instance resides.",
          "default": "eu-de",
          "enum": [
            "eu-de",
            "eu-gb",
            "us-east",
            "us-south"
          ]
        }
      }
    }
  ],
  "tags": [
    {
      "name": "service instance"
    },
    {
      "name": "queue managers"
    },
    {
      "name": "users"
    },
    {
      "name": "applications"
    },
    {
      "name": "certificates"
    },
    {
      "name": "virtual private endpoints gateways"
    }
  ],
  "paths": {
    "/v1/{service_instance_guid}/options": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Return configuration options (eg, available deployment locations, queue manager sizes)",
        "tags": [
          "queue managers"
        ],
        "description": "Return configuration options (eg, available deployment locations, queue manager sizes).",
        "operationId": "get_options",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Configuration options.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationOptions"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/options\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getOptionsOptions := mqcloudService.NewGetOptionsOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      ")\n",
                      "\n",
                      "configurationOptions, response, err := mqcloudService.GetOptions(getOptionsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(configurationOptions, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/usage": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get the usage details",
        "tags": [
          "service instance"
        ],
        "description": "Get the usage details.",
        "operationId": "get_usage_details",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Usage details for an account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Usage"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/usage\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getUsageDetailsOptions := mqcloudService.NewGetUsageDetailsOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      ")\n",
                      "\n",
                      "usage, response, err := mqcloudService.GetUsageDetails(getUsageDetailsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(usage, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "post": {
        "summary": "Create a new queue manager",
        "tags": [
          "queue managers"
        ],
        "description": "Create a new queue manager.",
        "operationId": "create_queue_manager",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/QueueManagerDetailsPrototype"
        },
        "responses": {
          "202": {
            "description": "Returns url to track progress of the queue manager deployment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueManagerTaskStatus"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "405": {
            "$ref": "#/components/responses/MethodNotAllowed"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{ \"name\": \"testqm\", \"location\": \"reserved-eu-de-cluster-f884\", \"size\": \"small\" }' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createQueueManagerOptions := mqcloudService.NewCreateQueueManagerOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"testqm\",\n",
                      "  \"reserved-eu-de-cluster-f884\",\n",
                      "  \"small\",\n",
                      ")\n",
                      "\n",
                      "queueManagerTaskStatus, response, err := mqcloudService.CreateQueueManager(createQueueManagerOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(queueManagerTaskStatus, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "summary": "Get list of queue managers",
        "tags": [
          "queue managers"
        ],
        "description": "Get a list of the queue manager summaries which exist in this service instance.",
        "operationId": "list_queue_managers",
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "An object containing a list of queue managers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueManagerDetailsCollection"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listQueueManagersOptions := &mqcloudv1.ListQueueManagersOptions{\n",
                      "  ServiceInstanceGuid: core.StringPtr(\"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\"),\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "}\n",
                      "\n",
                      "pager, err := mqcloudService.NewQueueManagersPager(listQueueManagersOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []mqcloudv1.QueueManagerDetails\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get details of a queue manager",
        "tags": [
          "queue managers"
        ],
        "description": "Get the details of a given queue manager.",
        "operationId": "get_queue_manager",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Description of the queue manager.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueManagerDetails"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getQueueManagerOptions := mqcloudService.NewGetQueueManagerOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      ")\n",
                      "\n",
                      "queueManagerDetails, response, err := mqcloudService.GetQueueManager(getQueueManagerOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(queueManagerDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "summary": "Delete a queue manager",
        "tags": [
          "queue managers"
        ],
        "description": "Delete a queue manager.",
        "operationId": "delete_queue_manager",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "202": {
            "description": "Returns url to track progress for delete queue manager.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueManagerTaskStatus"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteQueueManagerOptions := mqcloudService.NewDeleteQueueManagerOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      ")\n",
                      "\n",
                      "queueManagerTaskStatus, response, err := mqcloudService.DeleteQueueManager(deleteQueueManagerOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(queueManagerTaskStatus, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/version": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "put": {
        "summary": "Upgrade a queue manager",
        "tags": [
          "queue managers"
        ],
        "description": "Upgrade a queue manager.",
        "operationId": "set_queue_manager_version",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpgradeQueueManagerBody"
        },
        "responses": {
          "202": {
            "description": "Returns url to track progress of the queue manager upgrade.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueManagerTaskStatus"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "405": {
            "$ref": "#/components/responses/MethodNotAllowed"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{\"version\":\"9.3.2_2\"}' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/version\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "setQueueManagerVersionOptions := mqcloudService.NewSetQueueManagerVersionOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9.3.2_2\",\n",
                      ")\n",
                      "\n",
                      "queueManagerTaskStatus, response, err := mqcloudService.SetQueueManagerVersion(setQueueManagerVersionOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(queueManagerTaskStatus, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/available_versions": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get the list of available versions that this queue manager can be upgraded to",
        "tags": [
          "queue managers"
        ],
        "description": "Get the list of available versions that this queue manager can be upgraded to.",
        "operationId": "get_queue_manager_available_upgrade_versions",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Returns information about the available versions that this queue manager can be upgraded to.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueManagerVersionUpgrades"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/available_versions\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getQueueManagerAvailableUpgradeVersionsOptions := mqcloudService.NewGetQueueManagerAvailableUpgradeVersionsOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      ")\n",
                      "\n",
                      "queueManagerVersionUpgrades, response, err := mqcloudService.GetQueueManagerAvailableUpgradeVersions(getQueueManagerAvailableUpgradeVersionsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(queueManagerVersionUpgrades, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/connection_info": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        }
      ],
      "get": {
        "summary": "Get connection information for a queue manager",
        "tags": [
          "queue managers"
        ],
        "description": "Get connection information for a queue manager.",
        "operationId": "get_queue_manager_connection_info",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/service_instance_guid"
          },
          {
            "$ref": "#/components/parameters/queue_manager_id"
          },
          {
            "$ref": "#/components/parameters/accept_language"
          }
        ],
        "responses": {
          "200": {
            "description": "Response of the connection information for the queue manager.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionInfo"
                },
                "example": {
                  "channel": [
                    {
                      "name": "CLOUD.ADMIN.SVRCONN",
                      "clientConnection": {
                        "connection": [
                          {
                            "host": "myqm-fre.qm1.eu-de.mq2.cloud.ibm.com",
                            "port": 30446
                          }
                        ],
                        "queueManager": "myqm"
                      },
                      "transmissionSecurity": {
                        "cipherSpecification": "ANY_TLS12_OR_HIGHER"
                      },
                      "type": "clientConnection"
                    }
                  ]
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/connection_info\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getQueueManagerConnectionInfoOptions := mqcloudService.NewGetQueueManagerConnectionInfoOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      ")\n",
                      "\n",
                      "connectionInfo, response, err := mqcloudService.GetQueueManagerConnectionInfo(getQueueManagerConnectionInfoOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(connectionInfo, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/status": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get the status of the queue manager",
        "tags": [
          "queue managers"
        ],
        "description": "Get the status of the queue manager instance.",
        "operationId": "get_queue_manager_status",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current status for the queue manager.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueManagerStatus"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/status\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getQueueManagerStatusOptions := mqcloudService.NewGetQueueManagerStatusOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      ")\n",
                      "\n",
                      "queueManagerStatus, response, err := mqcloudService.GetQueueManagerStatus(getQueueManagerStatusOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(queueManagerStatus, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/applications": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get a list of applications for an instance",
        "tags": [
          "applications"
        ],
        "description": "Get a list of applications for an instance.",
        "operationId": "list_applications",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Summary of the returned applications.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDetailsCollection"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/applications\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listApplicationsOptions := &mqcloudv1.ListApplicationsOptions{\n",
                      "  ServiceInstanceGuid: core.StringPtr(\"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\"),\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "}\n",
                      "\n",
                      "pager, err := mqcloudService.NewApplicationsPager(listApplicationsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []mqcloudv1.ApplicationDetails\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "summary": "Add an application to an instance",
        "tags": [
          "applications"
        ],
        "description": "Add an application to an instance.",
        "operationId": "create_application",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/ApplicationDetailsPrototype"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ApplicationCreated"
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{ \"name\": \"test-app\" }' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/applications\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createApplicationOptions := mqcloudService.NewCreateApplicationOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"test-app\",\n",
                      ")\n",
                      "\n",
                      "applicationCreated, response, err := mqcloudService.CreateApplication(createApplicationOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(applicationCreated, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/applications/{application_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/application_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get an application for an instance",
        "tags": [
          "applications"
        ],
        "description": "Get an application for an instance.",
        "operationId": "get_application",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Description of the returned application.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDetails"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/applications/${application_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getApplicationOptions := mqcloudService.NewGetApplicationOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"0123456789ABCDEF0123456789ABCDEF\",\n",
                      ")\n",
                      "\n",
                      "applicationDetails, response, err := mqcloudService.GetApplication(getApplicationOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(applicationDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "summary": "Delete an application from an instance",
        "tags": [
          "applications"
        ],
        "description": "Delete an application from an instance.",
        "operationId": "delete_application",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "204": {
            "description": "Resource was deleted successfully."
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/applications/${application_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteApplicationOptions := mqcloudService.NewDeleteApplicationOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"0123456789ABCDEF0123456789ABCDEF\",\n",
                      ")\n",
                      "\n",
                      "response, err := mqcloudService.DeleteApplication(deleteApplicationOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteApplication(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "summary": "Update the name for an application",
        "tags": [
          "applications"
        ],
        "description": "Update the application assigned to an MQ SaaS application",
        "operationId": "set_application_name",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateApplicationBody"
        },
        "responses": {
          "200": {
            "description": "Application name was updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDetails"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{ \"name\": \"testString\" }' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/applications/${application_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "setApplicationNameOptions := mqcloudService.NewSetApplicationNameOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"0123456789ABCDEF0123456789ABCDEF\",\n",
                      "  \"testString\",\n",
                      ")\n",
                      "\n",
                      "applicationDetails, response, err := mqcloudService.SetApplicationName(setApplicationNameOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(applicationDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/applications/{application_id}/api_key": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/application_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "post": {
        "summary": "Create a new apikey for an application",
        "tags": [
          "applications"
        ],
        "description": "Create a new apikey for an application.",
        "operationId": "create_application_apikey",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/CreateApplicationAPIKeyBody"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/ApplicationAPIKeyCreated"
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{ \"name\": \"test-api-key\" }' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/applications/${application_id}/api_key\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createApplicationApikeyOptions := mqcloudService.NewCreateApplicationApikeyOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"0123456789ABCDEF0123456789ABCDEF\",\n",
                      "  \"test-api-key\",\n",
                      ")\n",
                      "\n",
                      "applicationApiKeyCreated, response, err := mqcloudService.CreateApplicationApikey(createApplicationApikeyOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(applicationApiKeyCreated, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/users": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get a list of users for an instance",
        "tags": [
          "users"
        ],
        "description": "Get a list of users for an instance.",
        "operationId": "list_users",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/offset"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "Summary of the returned users.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetailsCollection"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/users\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listUsersOptions := &mqcloudv1.ListUsersOptions{\n",
                      "  ServiceInstanceGuid: core.StringPtr(\"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\"),\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "}\n",
                      "\n",
                      "pager, err := mqcloudService.NewUsersPager(listUsersOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []mqcloudv1.UserDetails\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "post": {
        "summary": "Add a user to an instance",
        "tags": [
          "users"
        ],
        "description": "Add a user to an instance.",
        "operationId": "create_user",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UserDetailsPrototype"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/UserCreated"
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{ \"email\": \"testuser@ibm.com\", \"name\": \"testuser\" }' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/users\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createUserOptions := mqcloudService.NewCreateUserOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"testuser@ibm.com\",\n",
                      "  \"testuser\",\n",
                      ")\n",
                      "\n",
                      "userDetails, response, err := mqcloudService.CreateUser(createUserOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(userDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/users/{user_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/user_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get a user for an instance",
        "tags": [
          "users"
        ],
        "description": "Get a user for an instance.",
        "operationId": "get_user",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "Description of the returned user.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/users/${user_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getUserOptions := mqcloudService.NewGetUserOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"31a413dd84346effc8895b6ba4641641\",\n",
                      ")\n",
                      "\n",
                      "userDetails, response, err := mqcloudService.GetUser(getUserOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(userDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "summary": "Delete a user for an instance",
        "tags": [
          "users"
        ],
        "description": "Delete a user for an instance.",
        "operationId": "delete_user",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "204": {
            "description": "Resource was deleted successfully."
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/users/${user_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteUserOptions := mqcloudService.NewDeleteUserOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"31a413dd84346effc8895b6ba4641641\",\n",
                      ")\n",
                      "\n",
                      "response, err := mqcloudService.DeleteUser(deleteUserOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteUser(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "patch": {
        "summary": "Update the name for a user",
        "tags": [
          "users"
        ],
        "description": "Update the name assigned to an MQ SaaS user",
        "operationId": "set_user_name",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateUserBody"
        },
        "responses": {
          "200": {
            "description": "User name was updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDetails"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PATCH --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{ \"name\": \"testString\" }' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/users/${user_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "setUserNameOptions := mqcloudService.NewSetUserNameOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"31a413dd84346effc8895b6ba4641641\",\n",
                      "  \"testString\",\n",
                      ")\n",
                      "\n",
                      "userDetails, response, err := mqcloudService.SetUserName(setUserNameOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(userDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/certificates/trust_store": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "post": {
        "summary": "Upload a trust store certificate",
        "tags": [
          "certificates"
        ],
        "description": "Import TLS certificate from a single self-contained PEM file to the truststore.",
        "operationId": "create_trust_store_pem_certificate",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "label",
                  "certificate_file"
                ],
                "type": "object",
                "description": "The file name and label that are to be uploaded.",
                "properties": {
                  "label": {
                    "x-terraform-force-new": true,
                    "description": "The label to use for the certificate to be uploaded.",
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9_.]*$",
                    "minLength": 1,
                    "maxLength": 64,
                    "example": "certlabel"
                  },
                  "certificate_file": {
                    "x-terraform-force-new": true,
                    "description": "The filename and path of the certificate to be uploaded.",
                    "type": "string",
                    "format": "binary",
                    "minLength": 1500,
                    "maxLength": 65537,
                    "example": "THA0R1pZNFs2a1Q7RCA0TFBGai1PbHNLUlNfaSh8LktDRyI9MGdLNVx6Yj9qIkBgb3JuYFFudD4tKGIzPG5ZfWgtXj86UF8jfXBZMmUveVxjej8zZUIwKT85YD5cREcgbkRpeDhiV1ppcyptSjF5VytEN1FYX3gnaV0qSk1rNDhWYSBQZ2pFbGpVbTRFQCVNMkwmRi9bfW00Y3t0bVc8S1s+V0ZxMldLRyh6azksdXApcCUtOEBKNTIgYmhyY0E1Jk1dNWlSOEs2YWAwcUhbU10sXG1ZJUsiYlo7XTE8X0BqVFxkW3hAbSw8ZSleXlxpcGFEXCI9UkU7ayUoMjsiekNJekBVRU54ZEdPa3siI19sSnVmVHRZSTFOdmFkLXJKQShVYCd6QzlSNk8qcy9pfVZkQUFRISZUPkcyQjhmLztPcWY3MkwxXE0oJC5IUy52UXw7Qjk0SiluMkEmKjF+YUpWJDYuPidjXSt9dTNAdlVCQEl0JCEuU0YhSEQgc1NZKkhQY1g9T3chPHJiWmhHJCkjU0o0JWJyNnAvXmNSNlw7SzJ7P1N5IV4nXmQgLUJZOF52OzNgalRJQVU8JzUnRGc5XV9FIUBNNGxjcChaOzBSOWtCXUQgfl5tNDcwbyQxNFw2IFA4NidcLXU8O0NnUCUrdG0gW2EnajNdVW1VbWRiWG1UK1ZoPCJKKUBbVnBNMnEsJXdyJ0ZnJ1VHVEl4RFAvLVplXk8tWD10K3Jmb2J+K00kTnFqNy49SEFENyFuLjhRJjVyKDF+T3o/IzdgTG9IW2N5QV8iWVBsWU1ySF93dFlzdCs8fn0nXTBeTzNtOl07Izl7Wi8kRDUmVkh6LCdwaixyYSlGMUFecV43V2c4cFFfN0xtb2Z+bTUrWFtoNyEwYX5US2tnO2kyIn1WMEw0ejZpPzwmIXxGfEJqNDNze0hVWmhXOFB+byx0NzBacTovWT4sJnAsYTJ+ZXMgJ3s0R3JJPU9caHYqdiV6PGc9XTcsO3E1Q2BSaEhEUydvQ1R4L2IuPntdfjsheS88Wid8PFJEW2Q5QVFHQWJTTyslMi00RVkpTTx0WzstM0NKUDJCJzdSQGk0N1hpcHNBayVJP309QFc8OSgzT281bnM0bX1JXD1MVmRcbVheL1U6L3FAN3lMWEJUTFlxKzhzIHB1NjxFUGhzZGYvI2JWJyNSS3YnIiZoVlRkTk5DezVnVWRKXWl3MVluV11vVVxoZic+I1c4bzxbXSppJCVxRH5OS3pzaSkhLjVmdTtJOD42WDJXPnYzV0NzWHgqQDA+K2xLeUN0czx5USZgKDhlayYxLEo+MjsmWzMhUSxLRmZ3XzxVPUIlcjhxYnFKNXBrJiQhQGBxWmlNYCA7L0pvK1MuUDY3Ly4mX1VNXlJ6W2xQVlZKPVxRQFw0QDN5SThcUihTaispM1knX31FNE8hcXI+dX1qKnBsWXtfNFJmJzZOd1VhKiR2SE0tZk0kITdec2ZLMW48JUY1ezI6M21fZ3stfUUhMFZebypeJ0dUfiorYkJYVG1GMSIhYXs9JUBeMUUjb0Y9TVJRZD5yQE92R3NwYEIyajN6KHUoLEMtdyQ1J1BZTT5YNWlCXV1JKW14OWN7RDpGPnxgPHU0OCRyTyR5UkFPYypQYDNvKScrY3E6MEg4NHVHOHBBTWFadlRgUFt0WkA5KktnRTJ6d3opVV4kYnYxPzprfm10UzdGfFBKSCxYWWQ3K0MkaDk6SFlDT0p5NilrKyY5QWMwYCBlNzslKSksbiJ2SmJFMWdNS3NTZWtccTMnXCJLPmBEbDo9YUd3ZSRFLD8jT1F1b2tpNG9UV0ElLS50PzAnSWNheUNreEtpKU5hbVQxLSQ4KVEgNFQ0OiRXJEJfN1Q2Pjwxak1IJi91YyRWLDc8NyVwO3BNZ2Zsb1t1fnZMQyFpPUU6Zlw7VG4mYnpqIFY3PlNIWCMhJWtHSU8ueHlXXTkpS3RoR2N5U0FCLlw/aHhYVV8mPXhsdHY2TCIhIHlDbG9KR2BKJVxBciNrWCxee3Z4RWhddG5HYls+fW9udGJPXC98MXclSSl2IWRGNTogXUl8MiRsdHRYUmpvd2dvUmFuIjh7IXBAWC9lRlFibS1jTVBnXGt7MCVGY2BsNk1AI1B1VzdgZDFPMidQV1c3J2Y7XHNlKydvaiBuJXQiKiw6VkNHTzYqPydrLzNvXnRgJDc4NjIsS1NtPX1fUjIxZmE/O1B1Q25iSXN9S0JhWlV1LiA1aHxKOjMiJWJZYnYvUyhQUFFpRjNUTydsLVpmMlFCRz06fjFXN0ggZDdHLChmVDFLam5MKTllRjExXTtfY29TS3d1ZnBJMmlZIDVycGBcMGM2QFw1I1EkXTtiakx2bHV0ZylyNUlWdWY0ZX0sWSovOlosOTQsTURsKyFpejNtOTUsWFQlZUg4RlNxb3k2aE54NFthKko6b1pXIiZTOyo0IVVhUjNQaW1KQ2B+OnZoRkRAeCwmcn5ISGZXcSgpMXldVWY6UkhNLnZVejEyKnd4aFJcV0MgO2Msc3M9YS48O20jU3pUcG1ybFVERFBjaU5BU0tObURtRSE0Ni9eZUkyLFo+a3FNOVlPMi9qYEhfL3d9K3lITC1wazYuaHtyN3pnOkY9Nz5lKns4bERGazR9dmdqMkYuc3FJKyFCdkA/Q1s0YDVSKWAxRywjNU1hcWJbIF9QaWU4MUhoLHFpbnlXZD41XXZYeWxjVnp0cCdpICB4YGJ3fGMkeXJccFJQTi1QW3h8WXY+MXRgb0p3eHIxfGRaYEYnPzwsbEgpI0ooTkZ7R0xFYGJwQl9ESTVDST0zeCJ3dHFNJj8jM3ZGXys3KUktRUhdK0VuezZ4TnB6JFhBInYreG4zKFtfPCVPL2dqIlNPOl9lJXdoIDJ9NSAuWHZMazx8WlZEUShZKiQrdWN3cShdOXclbjtYbjUqdX5xRWo8fFhPXTxiOj9fNksid0YyPnx6anVoIzMtWXVNfUdKYk56LnhMYygidy43QykoST5CODA/aEInfWtFamZlI1lDQy03Xi14U0NBcWxHJmZbYyFIWClgZFFNeiIjKXJxJUouSCJ4OjRaLDRRTEVDJ3F8W1FnZFdnPl4oTC0rLlpWfFtqUktqQjRXMFA/ZTxUMz1GM0RMVWlDZU4hTkZhMz9nNXc/QypxM3dGMFUxaj1MI3IjUHdcJHdUYyo9TEs/dDU5REtPan4gQTdyOGExQnchLD1bMG5rcDp3eC0gYDZ2X0dHQkgxR0Ytc2w2VUxafGFVZElmNnE1JD4jdENvQyxEXC8/I31vLCdjcklDcW5afXw6cGFhJC0"
                  }
                }
              },
              "encoding": {
                "label": {
                  "contentType": "text/plain"
                },
                "certificate_file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "description": "The filename and label that are to be uploaded.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "An object containing details of the uploaded trust store certificate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustStoreCertificateDetails"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "405": {
            "$ref": "#/components/responses/MethodNotAllowed"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: multipart/form-data\" \\\n",
                      "  --form 'label=certlabel' \\\n",
                      "  --form 'certificate_file=@tempdir/test-file.txt;type=application/octet-stream' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/trust_store\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createTrustStorePemCertificateOptions := mqcloudService.NewCreateTrustStorePemCertificateOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"certlabel\",\n",
                      "  CreateMockReader(\"This is a mock file.\"),\n",
                      ")\n",
                      "\n",
                      "trustStoreCertificateDetails, response, err := mqcloudService.CreateTrustStorePemCertificate(createTrustStorePemCertificateOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(trustStoreCertificateDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "summary": "List trust store certificates",
        "tags": [
          "certificates"
        ],
        "description": "Get the list of certificates in the queue manager's certificate trust store.",
        "operationId": "list_trust_store_certificates",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "An object containing a list of trust store certificates.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustStoreCertificateDetailsCollection"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/trust_store\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listTrustStoreCertificatesOptions := mqcloudService.NewListTrustStoreCertificatesOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      ")\n",
                      "\n",
                      "trustStoreCertificateDetailsCollection, response, err := mqcloudService.ListTrustStoreCertificates(listTrustStoreCertificatesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(trustStoreCertificateDetailsCollection, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/certificates/trust_store/{certificate_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/certificate_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get a trust store certificate",
        "tags": [
          "certificates"
        ],
        "description": "Get a trust store certificate from a queue manager.",
        "operationId": "get_trust_store_certificate",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "An object containing details of the trust store certificate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustStoreCertificateDetails"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/trust_store/${certificate_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getTrustStoreCertificateOptions := mqcloudService.NewGetTrustStoreCertificateOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9b7d1e723af8233\",\n",
                      ")\n",
                      "\n",
                      "trustStoreCertificateDetails, response, err := mqcloudService.GetTrustStoreCertificate(getTrustStoreCertificateOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(trustStoreCertificateDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "summary": "Delete a trust store certificate",
        "tags": [
          "certificates"
        ],
        "description": "Delete a trust store certificate.",
        "operationId": "delete_trust_store_certificate",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "204": {
            "description": "Resource was deleted successfully."
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/trust_store/${certificate_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteTrustStoreCertificateOptions := mqcloudService.NewDeleteTrustStoreCertificateOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9b7d1e723af8233\",\n",
                      ")\n",
                      "\n",
                      "response, err := mqcloudService.DeleteTrustStoreCertificate(deleteTrustStoreCertificateOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteTrustStoreCertificate(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/certificates/trust_store/{certificate_id}/download": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/certificate_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Download a queue manager's certificate from its trust store",
        "tags": [
          "certificates"
        ],
        "description": "Download the specified trust store certificate PEM file from the queue manager.",
        "operationId": "download_trust_store_certificate",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "Response of a certificate file."
                }
              }
            },
            "description": "OK"
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/octet-stream\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/trust_store/${certificate_id}/download\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "downloadTrustStoreCertificateOptions := mqcloudService.NewDownloadTrustStoreCertificateOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9b7d1e723af8233\",\n",
                      ")\n",
                      "\n",
                      "result, response, err := mqcloudService.DownloadTrustStoreCertificate(downloadTrustStoreCertificateOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if result != nil {\n",
                      "  defer result.Close()\n",
                      "  outFile, err := os.Create(\"result.out\")\n",
                      "  if err != nil { panic(err) }\n",
                      "  defer outFile.Close()\n",
                      "  _, err = io.Copy(outFile, result)\n",
                      "  if err != nil { panic(err) }\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/certificates/key_store": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "post": {
        "summary": "Upload a key store certificate",
        "tags": [
          "certificates"
        ],
        "description": "Import TLS certificate from a single self-contained PEM file into the queue manager's key store.",
        "operationId": "create_key_store_pem_certificate",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "label",
                  "certificate_file"
                ],
                "type": "object",
                "description": "The file name and label that are to be uploaded.",
                "properties": {
                  "label": {
                    "x-terraform-force-new": true,
                    "description": "The label to use for the certificate to be uploaded.",
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9_.]*$",
                    "minLength": 1,
                    "maxLength": 64,
                    "example": "certlabel"
                  },
                  "certificate_file": {
                    "x-terraform-force-new": true,
                    "description": "The filename and path of the certificate to be uploaded.",
                    "type": "string",
                    "format": "binary",
                    "minLength": 1500,
                    "maxLength": 65537,
                    "example": "KHA0R1pZNFs2a1Q7RCA0TFBGai1PbHNLUlNfaSh8LktDRyI9MGdLNVx6Yj9qIkBgb3JuYFFudD4tKGIzPG5ZfWgtXj86UF8jfXBZMmUveVxjej8zZUIwKT85YD5cREcgbkRpeDhiV1ppcyptSjF5VytEN1FYX3gnaV0qSk1rNDhWYSBQZ2pFbGpVbTRFQCVNMkwmRi9bfW00Y3t0bVc8S1s+V0ZxMldLRyh6azksdXApcCUtOEBKNTIgYmhyY0E1Jk1dNWlSOEs2YWAwcUhbU10sXG1ZJUsiYlo7XTE8X0BqVFxkW3hAbSw8ZSleXlxpcGFEXCI9UkU7ayUoMjsiekNJekBVRU54ZEdPa3siI19sSnVmVHRZSTFOdmFkLXJKQShVYCd6QzlSNk8qcy9pfVZkQUFRISZUPkcyQjhmLztPcWY3MkwxXE0oJC5IUy52UXw7Qjk0SiluMkEmKjF+YUpWJDYuPidjXSt9dTNAdlVCQEl0JCEuU0YhSEQgc1NZKkhQY1g9T3chPHJiWmhHJCkjU0o0JWJyNnAvXmNSNlw7SzJ7P1N5IV4nXmQgLUJZOF52OzNgalRJQVU8JzUnRGc5XV9FIUBNNGxjcChaOzBSOWtCXUQgfl5tNDcwbyQxNFw2IFA4NidcLXU8O0NnUCUrdG0gW2EnajNdVW1VbWRiWG1UK1ZoPCJKKUBbVnBNMnEsJXdyJ0ZnJ1VHVEl4RFAvLVplXk8tWD10K3Jmb2J+K00kTnFqNy49SEFENyFuLjhRJjVyKDF+T3o/IzdgTG9IW2N5QV8iWVBsWU1ySF93dFlzdCs8fn0nXTBeTzNtOl07Izl7Wi8kRDUmVkh6LCdwaixyYSlGMUFecV43V2c4cFFfN0xtb2Z+bTUrWFtoNyEwYX5US2tnO2kyIn1WMEw0ejZpPzwmIXxGfEJqNDNze0hVWmhXOFB+byx0NzBacTovWT4sJnAsYTJ+ZXMgJ3s0R3JJPU9caHYqdiV6PGc9XTcsO3E1Q2BSaEhEUydvQ1R4L2IuPntdfjsheS88Wid8PFJEW2Q5QVFHQWJTTyslMi00RVkpTTx0WzstM0NKUDJCJzdSQGk0N1hpcHNBayVJP309QFc8OSgzT281bnM0bX1JXD1MVmRcbVheL1U6L3FAN3lMWEJUTFlxKzhzIHB1NjxFUGhzZGYvI2JWJyNSS3YnIiZoVlRkTk5DezVnVWRKXWl3MVluV11vVVxoZic+I1c4bzxbXSppJCVxRH5OS3pzaSkhLjVmdTtJOD42WDJXPnYzV0NzWHgqQDA+K2xLeUN0czx5USZgKDhlayYxLEo+MjsmWzMhUSxLRmZ3XzxVPUIlcjhxYnFKNXBrJiQhQGBxWmlNYCA7L0pvK1MuUDY3Ly4mX1VNXlJ6W2xQVlZKPVxRQFw0QDN5SThcUihTaispM1knX31FNE8hcXI+dX1qKnBsWXtfNFJmJzZOd1VhKiR2SE0tZk0kITdec2ZLMW48JUY1ezI6M21fZ3stfUUhMFZebypeJ0dUfiorYkJYVG1GMSIhYXs9JUBeMUUjb0Y9TVJRZD5yQE92R3NwYEIyajN6KHUoLEMtdyQ1J1BZTT5YNWlCXV1JKW14OWN7RDpGPnxgPHU0OCRyTyR5UkFPYypQYDNvKScrY3E6MEg4NHVHOHBBTWFadlRgUFt0WkA5KktnRTJ6d3opVV4kYnYxPzprfm10UzdGfFBKSCxYWWQ3K0MkaDk6SFlDT0p5NilrKyY5QWMwYCBlNzslKSksbiJ2SmJFMWdNS3NTZWtccTMnXCJLPmBEbDo9YUd3ZSRFLD8jT1F1b2tpNG9UV0ElLS50PzAnSWNheUNreEtpKU5hbVQxLSQ4KVEgNFQ0OiRXJEJfN1Q2Pjwxak1IJi91YyRWLDc8NyVwO3BNZ2Zsb1t1fnZMQyFpPUU6Zlw7VG4mYnpqIFY3PlNIWCMhJWtHSU8ueHlXXTkpS3RoR2N5U0FCLlw/aHhYVV8mPXhsdHY2TCIhIHlDbG9KR2BKJVxBciNrWCxee3Z4RWhddG5HYls+fW9udGJPXC98MXclSSl2IWRGNTogXUl8MiRsdHRYUmpvd2dvUmFuIjh7IXBAWC9lRlFibS1jTVBnXGt7MCVGY2BsNk1AI1B1VzdgZDFPMidQV1c3J2Y7XHNlKydvaiBuJXQiKiw6VkNHTzYqPydrLzNvXnRgJDc4NjIsS1NtPX1fUjIxZmE/O1B1Q25iSXN9S0JhWlV1LiA1aHxKOjMiJWJZYnYvUyhQUFFpRjNUTydsLVpmMlFCRz06fjFXN0ggZDdHLChmVDFLam5MKTllRjExXTtfY29TS3d1ZnBJMmlZIDVycGBcMGM2QFw1I1EkXTtiakx2bHV0ZylyNUlWdWY0ZX0sWSovOlosOTQsTURsKyFpejNtOTUsWFQlZUg4RlNxb3k2aE54NFthKko6b1pXIiZTOyo0IVVhUjNQaW1KQ2B+OnZoRkRAeCwmcn5ISGZXcSgpMXldVWY6UkhNLnZVejEyKnd4aFJcV0MgO2Msc3M9YS48O20jU3pUcG1ybFVERFBjaU5BU0tObURtRSE0Ni9eZUkyLFo+a3FNOVlPMi9qYEhfL3d9K3lITC1wazYuaHtyN3pnOkY9Nz5lKns4bERGazR9dmdqMkYuc3FJKyFCdkA/Q1s0YDVSKWAxRywjNU1hcWJbIF9QaWU4MUhoLHFpbnlXZD41XXZYeWxjVnp0cCdpICB4YGJ3fGMkeXJccFJQTi1QW3h8WXY+MXRgb0p3eHIxfGRaYEYnPzwsbEgpI0ooTkZ7R0xFYGJwQl9ESTVDST0zeCJ3dHFNJj8jM3ZGXys3KUktRUhdK0VuezZ4TnB6JFhBInYreG4zKFtfPCVPL2dqIlNPOl9lJXdoIDJ9NSAuWHZMazx8WlZEUShZKiQrdWN3cShdOXclbjtYbjUqdX5xRWo8fFhPXTxiOj9fNksid0YyPnx6anVoIzMtWXVNfUdKYk56LnhMYygidy43QykoST5CODA/aEInfWtFamZlI1lDQy03Xi14U0NBcWxHJmZbYyFIWClgZFFNeiIjKXJxJUouSCJ4OjRaLDRRTEVDJ3F8W1FnZFdnPl4oTC0rLlpWfFtqUktqQjRXMFA/ZTxUMz1GM0RMVWlDZU4hTkZhMz9nNXc/QypxM3dGMFUxaj1MI3IjUHdcJHdUYyo9TEs/dDU5REtPan4gQTdyOGExQnchLD1bMG5rcDp3eC0gYDZ2X0dHQkgxR0Ytc2w2VUxafGFVZElmNnE1JD4jdENvQyxEXC8/I31vLCdjcklDcW5afXw6cGFhJC0"
                  }
                }
              },
              "encoding": {
                "label": {
                  "contentType": "text/plain"
                },
                "certificate_file": {
                  "contentType": "application/octet-stream"
                }
              }
            }
          },
          "description": "The filename and label that are to be uploaded.",
          "required": true
        },
        "responses": {
          "201": {
            "description": "An object containing details of the queue manager's key store certificate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KeyStoreCertificateDetails"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "405": {
            "$ref": "#/components/responses/MethodNotAllowed"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: multipart/form-data\" \\\n",
                      "  --form 'label=certlabel' \\\n",
                      "  --form 'certificate_file=@tempdir/test-file.txt;type=application/octet-stream' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/key_store\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createKeyStorePemCertificateOptions := mqcloudService.NewCreateKeyStorePemCertificateOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"certlabel\",\n",
                      "  CreateMockReader(\"This is a mock file.\"),\n",
                      ")\n",
                      "\n",
                      "keyStoreCertificateDetails, response, err := mqcloudService.CreateKeyStorePemCertificate(createKeyStorePemCertificateOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(keyStoreCertificateDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "summary": "List key store certificates",
        "tags": [
          "certificates"
        ],
        "description": "Get a list of certificates in the queue manager's certificate key store.",
        "operationId": "list_key_store_certificates",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "An object containing a list of key store certificates for a queue manager.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KeyStoreCertificateDetailsCollection"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/key_store\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listKeyStoreCertificatesOptions := mqcloudService.NewListKeyStoreCertificatesOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      ")\n",
                      "\n",
                      "keyStoreCertificateDetailsCollection, response, err := mqcloudService.ListKeyStoreCertificates(listKeyStoreCertificatesOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(keyStoreCertificateDetailsCollection, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/certificates/key_store/{certificate_id}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/certificate_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get a key store certificate for queue manager",
        "tags": [
          "certificates"
        ],
        "description": "Get a key store certificate for queue manager.",
        "operationId": "get_key_store_certificate",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "An object containing details of the queue manager key store certificate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KeyStoreCertificateDetails"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/key_store/${certificate_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getKeyStoreCertificateOptions := mqcloudService.NewGetKeyStoreCertificateOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9b7d1e723af8233\",\n",
                      ")\n",
                      "\n",
                      "keyStoreCertificateDetails, response, err := mqcloudService.GetKeyStoreCertificate(getKeyStoreCertificateOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(keyStoreCertificateDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "summary": "Delete a queue manager's key store certificate",
        "tags": [
          "certificates"
        ],
        "description": "Delete a queue manager's key store certificate.",
        "operationId": "delete_key_store_certificate",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "204": {
            "description": "Resource was deleted successfully."
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/key_store/${certificate_id}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteKeyStoreCertificateOptions := mqcloudService.NewDeleteKeyStoreCertificateOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9b7d1e723af8233\",\n",
                      ")\n",
                      "\n",
                      "response, err := mqcloudService.DeleteKeyStoreCertificate(deleteKeyStoreCertificateOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteKeyStoreCertificate(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/certificates/key_store/{certificate_id}/download": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/certificate_id"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Download a queue manager's certificate from its key store",
        "tags": [
          "certificates"
        ],
        "description": "Download the specified key store certificate PEM file from the queue manager.",
        "operationId": "download_key_store_certificate",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary",
                  "description": "Response of a certificate file."
                }
              }
            },
            "description": "OK"
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/octet-stream\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/key_store/${certificate_id}/download\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "downloadKeyStoreCertificateOptions := mqcloudService.NewDownloadKeyStoreCertificateOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9b7d1e723af8233\",\n",
                      ")\n",
                      "\n",
                      "result, response, err := mqcloudService.DownloadKeyStoreCertificate(downloadKeyStoreCertificateOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if result != nil {\n",
                      "  defer result.Close()\n",
                      "  outFile, err := os.Create(\"result.out\")\n",
                      "  if err != nil { panic(err) }\n",
                      "  defer outFile.Close()\n",
                      "  _, err = io.Copy(outFile, result)\n",
                      "  if err != nil { panic(err) }\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/queue_managers/{queue_manager_id}/certificates/key_store/{certificate_id}/config/ams": {
      "parameters": [
        {
          "$ref": "#/components/parameters/queue_manager_id"
        },
        {
          "$ref": "#/components/parameters/certificate_id"
        },
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        }
      ],
      "get": {
        "summary": "Get the AMS channels that are configured with this key store certificate",
        "tags": [
          "certificates"
        ],
        "description": "Get the AMS channels that are configured with this key store certificate.",
        "operationId": "get_certificate_ams_channels",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChannelsDetails"
                }
              }
            },
            "description": "Details of AMS channels that are configured with the given certificate."
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/key_store/${certificate_id}/config/ams\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getCertificateAmsChannelsOptions := mqcloudService.NewGetCertificateAmsChannelsOptions(\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9b7d1e723af8233\",\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      ")\n",
                      "\n",
                      "channelsDetails, response, err := mqcloudService.GetCertificateAmsChannels(getCertificateAmsChannelsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(channelsDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "put": {
        "summary": "Update the AMS channels that are configured with this key store certificate",
        "tags": [
          "certificates"
        ],
        "description": "Update the AMS channels that are configured with this key store certificate.",
        "operationId": "set_certificate_ams_channels",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/UpdateChannelsBody"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChannelsDetails"
                }
              }
            },
            "description": "The updated list of AMS channels that are using this certificate."
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X PUT --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{ \"channels\": [] }' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/queue_managers/${queue_manager_id}/certificates/key_store/${certificate_id}/config/ams\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "channelDetailsModel := &mqcloudv1.ChannelDetails{\n",
                      "}\n",
                      "\n",
                      "setCertificateAmsChannelsOptions := mqcloudService.NewSetCertificateAmsChannelsOptions(\n",
                      "  \"b8e1aeda078009cf3db74e90d5d42328\",\n",
                      "  \"9b7d1e723af8233\",\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  []mqcloudv1.ChannelDetails{*channelDetailsModel},\n",
                      ")\n",
                      "\n",
                      "channelsDetails, response, err := mqcloudService.SetCertificateAmsChannels(setCertificateAmsChannelsOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(channelsDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/virtual_private_endpoint_gateway": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        },
        {
          "$ref": "#/components/parameters/trusted_profile"
        }
      ],
      "post": {
        "summary": "Create a new virtual private endpoint gateway",
        "tags": [
          "virtual private endpoints gateways"
        ],
        "description": "Create a new virtual private endpoint gateway",
        "operationId": "create_virtual_private_endpoint_gateway",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/VirtualPrivateEndpointGatewayDetailsPrototype"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/VirtualPrivateEndpointGatewayCreated"
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          },
          "503": {
            "$ref": "#/components/responses/ServiceUnavailable"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X POST --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  --header \"Content-Type: application/json\" \\\n",
                      "  --data '{ \"name\": \"vpe-gateway1-to-vpe-gateway2\", \"target_crn\": \"crn:v1:bluemix:public:mqcloud:eu-de:::endpoint:qm1.private.eu-de.mq2.test.appdomain.cloud\" }' \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/virtual_private_endpoint_gateway\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "createVirtualPrivateEndpointGatewayOptions := mqcloudService.NewCreateVirtualPrivateEndpointGatewayOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"vpe-gateway1-to-vpe-gateway2\",\n",
                      "  \"crn:v1:bluemix:public:mqcloud:eu-de:::endpoint:qm1.private.eu-de.mq2.test.appdomain.cloud\",\n",
                      ")\n",
                      "createVirtualPrivateEndpointGatewayOptions.SetTrustedProfile(\"crn:v1:bluemix:public:iam-identity::a/5d5ff2a9001c4055ab1408e9bf185f48::profile:Profile-1c0a8609-ca25-4ad2-a09b-aea472d34afc\")\n",
                      "\n",
                      "virtualPrivateEndpointGatewayDetails, response, err := mqcloudService.CreateVirtualPrivateEndpointGateway(createVirtualPrivateEndpointGatewayOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(virtualPrivateEndpointGatewayDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "get": {
        "summary": "Get a list of information for all virtual private endpoint gateways",
        "tags": [
          "virtual private endpoints gateways"
        ],
        "description": "Get a list of information for all Virtual private endpoint gateways.",
        "operationId": "list_virtual_private_endpoint_gateways",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/start"
          },
          {
            "$ref": "#/components/parameters/limit"
          }
        ],
        "responses": {
          "200": {
            "description": "An object with information of all virtual_private_endpoint_gateways in a service instance.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrivateEndpointGatewayDetailsCollection"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/virtual_private_endpoint_gateway?start=r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "listVirtualPrivateEndpointGatewaysOptions := &mqcloudv1.ListVirtualPrivateEndpointGatewaysOptions{\n",
                      "  ServiceInstanceGuid: core.StringPtr(\"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\"),\n",
                      "  TrustedProfile: core.StringPtr(\"crn:v1:bluemix:public:iam-identity::a/5d5ff2a9001c4055ab1408e9bf185f48::profile:Profile-1c0a8609-ca25-4ad2-a09b-aea472d34afc\"),\n",
                      "  Limit: core.Int64Ptr(int64(10)),\n",
                      "}\n",
                      "\n",
                      "pager, err := mqcloudService.NewVirtualPrivateEndpointGatewaysPager(listVirtualPrivateEndpointGatewaysOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "\n",
                      "var allResults []mqcloudv1.VirtualPrivateEndpointGatewayDetails\n",
                      "for pager.HasNext() {\n",
                      "  nextPage, err := pager.GetNext()\n",
                      "  if err != nil {\n",
                      "    panic(err)\n",
                      "  }\n",
                      "  allResults = append(allResults, nextPage...)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(allResults, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    },
    "/v1/{service_instance_guid}/virtual_private_endpoint_gateway/{virtual_private_endpoint_gateway_guid}": {
      "parameters": [
        {
          "$ref": "#/components/parameters/service_instance_guid"
        },
        {
          "$ref": "#/components/parameters/virtual_private_endpoint_gateway_guid"
        },
        {
          "$ref": "#/components/parameters/accept_language"
        },
        {
          "$ref": "#/components/parameters/trusted_profile"
        }
      ],
      "get": {
        "summary": "Display the information for a specific virtual private endpoint gateway",
        "tags": [
          "virtual private endpoints gateways"
        ],
        "description": "Display the information for a specific virtual private endpoint gateway.",
        "operationId": "get_virtual_private_endpoint_gateway",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "An object with information of a specific virtual private endpoint gateway in a service instance.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VirtualPrivateEndpointGatewayDetails"
                }
              }
            }
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X GET --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  --header \"Accept: application/json\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/virtual_private_endpoint_gateway/${virtual_private_endpoint_gateway_guid}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "getVirtualPrivateEndpointGatewayOptions := mqcloudService.NewGetVirtualPrivateEndpointGatewayOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44\",\n",
                      ")\n",
                      "getVirtualPrivateEndpointGatewayOptions.SetTrustedProfile(\"crn:v1:bluemix:public:iam-identity::a/5d5ff2a9001c4055ab1408e9bf185f48::profile:Profile-1c0a8609-ca25-4ad2-a09b-aea472d34afc\")\n",
                      "\n",
                      "virtualPrivateEndpointGatewayDetails, response, err := mqcloudService.GetVirtualPrivateEndpointGateway(getVirtualPrivateEndpointGatewayOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "b, _ := json.MarshalIndent(virtualPrivateEndpointGatewayDetails, \"\", \"  \")\n",
                      "fmt.Println(string(b))"
                    ]
                  }
                ]
              }
            ]
          }
        }
      },
      "delete": {
        "summary": "Delete a specific virtual private endpoint gateway",
        "tags": [
          "virtual private endpoints gateways"
        ],
        "description": "Delete a specific virtual_private_endpoint_gateway.",
        "operationId": "delete_virtual_private_endpoint_gateway",
        "security": [
          {
            "TokenAuth": []
          }
        ],
        "responses": {
          "204": {
            "description": "Resource was deleted successfully."
          },
          "301": {
            "$ref": "#/components/responses/PermanentlyMoved"
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "x-sdk-operations": {
          "request-examples": {
            "curl": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "curl -X DELETE --location --header \"Authorization: Bearer ${iam_token}\" \\\n",
                      "  \"${base_url}/v1/${service_instance_guid}/virtual_private_endpoint_gateway/${virtual_private_endpoint_gateway_guid}\""
                    ]
                  }
                ]
              }
            ],
            "go": [
              {
                "name": "Example request",
                "example": [
                  {
                    "type": "code",
                    "source": [
                      "deleteVirtualPrivateEndpointGatewayOptions := mqcloudService.NewDeleteVirtualPrivateEndpointGatewayOptions(\n",
                      "  \"a2b4d4bc-dadb-4637-bcec-9b7d1e723af8\",\n",
                      "  \"r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44\",\n",
                      ")\n",
                      "deleteVirtualPrivateEndpointGatewayOptions.SetTrustedProfile(\"crn:v1:bluemix:public:iam-identity::a/5d5ff2a9001c4055ab1408e9bf185f48::profile:Profile-1c0a8609-ca25-4ad2-a09b-aea472d34afc\")\n",
                      "\n",
                      "response, err := mqcloudService.DeleteVirtualPrivateEndpointGateway(deleteVirtualPrivateEndpointGatewayOptions)\n",
                      "if err != nil {\n",
                      "  panic(err)\n",
                      "}\n",
                      "if response.StatusCode != 204 {\n",
                      "  fmt.Printf(\"\\nUnexpected response status code received from DeleteVirtualPrivateEndpointGateway(): %d\\n\", response.StatusCode)\n",
                      "}"
                    ]
                  }
                ]
              }
            ]
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "TokenAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "A valid token is required to access this API. To retrieve your IBM Cloud Identity and Access Management (IAM) token, run `ibmcloud iam oauth-tokens` after logging into IBM Cloud. The IAM token is associated with the identity of the user and must be supplied on every REST request using the `Authorization` `Bearer ${IAM_Token}` HTTP header. Failure to do so will result in the REST request failing with a 401 (Unauthorized) status code."
      }
    },
    "parameters": {
      "service_instance_guid": {
        "name": "service_instance_guid",
        "in": "path",
        "description": "The GUID that uniquely identifies the MQ SaaS service instance.",
        "required": true,
        "schema": {
          "type": "string",
          "minLength": 36,
          "maxLength": 36,
          "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
        },
        "example": "a2b4d4bc-dadb-4637-bcec-9b7d1e723af8"
      },
      "queue_manager_id": {
        "name": "queue_manager_id",
        "in": "path",
        "required": true,
        "description": "The id of the queue manager to retrieve its full details.",
        "schema": {
          "type": "string",
          "minLength": 32,
          "maxLength": 32,
          "pattern": "^[0-9a-fA-F]{32}$"
        },
        "example": "b8e1aeda078009cf3db74e90d5d42328"
      },
      "application_id": {
        "name": "application_id",
        "in": "path",
        "required": true,
        "description": "The id of the application.",
        "schema": {
          "type": "string",
          "minLength": 32,
          "maxLength": 32,
          "pattern": "^[0-9a-fA-F]{32}$"
        },
        "example": "0123456789ABCDEF0123456789ABCDEF"
      },
      "user_id": {
        "name": "user_id",
        "in": "path",
        "required": true,
        "description": "The id of the user.",
        "schema": {
          "type": "string",
          "minLength": 32,
          "maxLength": 32,
          "pattern": "^[0-9a-fA-F]{32}$"
        },
        "example": "31a413dd84346effc8895b6ba4641641"
      },
      "certificate_id": {
        "name": "certificate_id",
        "in": "path",
        "required": true,
        "description": "The id of the certificate.",
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 16,
          "pattern": "^[0-9a-fA-F]*$"
        },
        "example": "9b7d1e723af8233"
      },
      "virtual_private_endpoint_gateway_guid": {
        "name": "virtual_private_endpoint_gateway_guid",
        "in": "path",
        "required": true,
        "description": "The id of the virtual private endpoint gateway",
        "schema": {
          "type": "string",
          "minLength": 41,
          "maxLength": 41,
          "pattern": "^[0-9a-zA-Z]{4}-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
        },
        "example": "r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44"
      },
      "offset": {
        "name": "offset",
        "description": "Pagination offset.",
        "explode": true,
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "maximum": 99999,
          "minimum": 0,
          "default": 0
        },
        "style": "form"
      },
      "limit": {
        "name": "limit",
        "description": "The numbers of resources to return.",
        "explode": true,
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "maximum": 100,
          "minimum": 0,
          "default": 25
        },
        "style": "form"
      },
      "start": {
        "name": "start",
        "description": "A server-provided token determining what resource to start the page on.",
        "explode": true,
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4096,
          "pattern": "^[ -~]+$",
          "example": "r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44"
        },
        "style": "form"
      },
      "accept_language": {
        "name": "Accept-Language",
        "in": "header",
        "description": "The acceptable list of languages supported in the client.",
        "required": false,
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256,
          "pattern": "[a-zA-Z0-9\\-;,\\s.]*"
        },
        "example": "en-US,en;q=0.5",
        "x-sdk-global-param": true
      },
      "trusted_profile": {
        "name": "Trusted-Profile",
        "in": "header",
        "description": "The CRN of the trusted profile to assume for this request. This can only be retrieved using the CLI using `ibmcloud iam tp <profile_id> -o json`",
        "required": false,
        "schema": {
          "type": "string",
          "minLength": 9,
          "maxLength": 512,
          "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$|^crn:\\[\\.\\.\\.\\]$"
        },
        "example": "crn:v1:bluemix:public:iam-identity::a/5d5ff2a9001c4055ab1408e9bf185f48::profile:Profile-1c0a8609-ca25-4ad2-a09b-aea472d34afc"
      }
    },
    "schemas": {
      "ConfigurationOptions": {
        "description": "Configuration options (eg, available deployment locations, queue manager sizes).",
        "x-data-source-name": "mqcloud_queue_manager_options",
        "x-data-source-operations": {
          "read": "get_options"
        },
        "example": {
          "locations": [
            "ibmcloud_eu_de"
          ],
          "sizes": [
            "xsmall",
            "small",
            "medium",
            "large"
          ],
          "versions": [
            "9.3.3_1"
          ],
          "latest_version": "9.3.3_1"
        },
        "properties": {
          "locations": {
            "description": "List of deployment locations.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Locations"
            },
            "minItems": 1,
            "maxItems": 20
          },
          "sizes": {
            "description": "List of queue manager sizes.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Sizes"
            },
            "minItems": 1,
            "maxItems": 20
          },
          "versions": {
            "description": "List of queue manager versions.",
            "type": "array",
            "items": {
              "description": "Queue manager version.",
              "type": "string"
            },
            "minItems": 1,
            "maxItems": 12
          },
          "latest_version": {
            "description": "The latest Queue manager version.",
            "example": "9.3.2_2",
            "type": "string",
            "pattern": "^[0-9]+.[0-9]+.[0-9]+_[0-9]+$",
            "minLength": 7,
            "maxLength": 15
          }
        }
      },
      "Usage": {
        "description": "Usage details.",
        "example": {
          "vpc_entitlement": 4,
          "vpc_usage": 3.5
        },
        "properties": {
          "vpc_entitlement": {
            "description": "VPC entitlement.",
            "type": "number",
            "format": "float",
            "example": 4
          },
          "vpc_usage": {
            "description": "VPC usage.",
            "type": "number",
            "format": "float",
            "example": 3.3
          }
        }
      },
      "QueueManagerDetailsPrototype": {
        "description": "Payload to be passed to the creation of a queue manager.",
        "required": [
          "name",
          "location",
          "size"
        ],
        "properties": {
          "name": {
            "description": "The name of the queue manager - conforming to MQ rules.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9_.]*$",
            "minLength": 1,
            "maxLength": 48,
            "example": "testqm"
          },
          "display_name": {
            "description": "A displayable name for the queue manager - limited only in length.",
            "type": "string",
            "pattern": "^.*$",
            "minLength": 0,
            "maxLength": 150,
            "example": "A test queue manager"
          },
          "location": {
            "$ref": "#/components/schemas/Locations"
          },
          "size": {
            "$ref": "#/components/schemas/Sizes"
          },
          "version": {
            "description": "The IBM MQ version of the Queue Manager to deploy if not supplied the latest version will be deployed.",
            "example": "9.3.2_2",
            "type": "string",
            "pattern": "^[0-9]+.[0-9]+.[0-9]+_[0-9]+$",
            "minLength": 7,
            "maxLength": 15
          }
        }
      },
      "First": {
        "description": "Link to first page of results.",
        "type": "object",
        "properties": {
          "href": {
            "description": "The URL of the page the link goes to.",
            "type": "string"
          }
        }
      },
      "Next": {
        "description": "Link to next page of results.",
        "type": "object",
        "nullable": true,
        "properties": {
          "href": {
            "description": "The URL of the page the link goes to.",
            "type": "string"
          }
        }
      },
      "Previous": {
        "description": "Link to previous page of results.",
        "type": "object",
        "nullable": true,
        "properties": {
          "href": {
            "description": "The URL of the page the link goes to.",
            "type": "string"
          }
        }
      },
      "QueueManagerDetailsCollection": {
        "description": "A list of queue manager summaries.",
        "x-data-source-name": "mqcloud_queue_manager",
        "x-data-source-operations": {
          "read": "list_queue_managers"
        },
        "x-data-source-collection": "queue_managers",
        "x-terraform-data-source-filter": "name",
        "required": [
          "offset",
          "limit",
          "first",
          "queue_managers"
        ],
        "example": {
          "offset": 25,
          "limit": 25,
          "first": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers?limit=25"
          },
          "next": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers?offset=50&limit=25"
          },
          "previous": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers?offset=25&limit=25"
          },
          "queue_managers": [
            {
              "id": "b8e1aeda078009cf3db74e90d5d42328",
              "name": "testqm",
              "display_name": "Test QM",
              "location": "ibmcloud_us_south",
              "size": "xsmall",
              "status_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/status",
              "version": "9.3.2_2",
              "web_console_url": "https://web-testqm-fc4f.qm1.eu-de.mq.appdomain.cloud/ibmmq/console",
              "rest_api_endpoint_url": "https://web-testqm-fc4f.qm1.eu-de.mq.appdomain.cloud/ibmmq/rest/v3/messaging/qmgr/testqm/queues/<queue_name>/message",
              "administrator_api_endpoint_url": "https://web-testqm-fc4f.qm1.eu-de.mq.appdomain.cloud/ibmmq/rest/v3/admin/qmgr/testqm",
              "connection_info_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/connection_info",
              "date_created": "2023-07-19T14:46:05Z",
              "upgrade_available": false,
              "available_upgrade_versions_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/available_versions",
              "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328"
            }
          ]
        },
        "properties": {
          "offset": {
            "description": "Pagination offset.",
            "type": "integer"
          },
          "limit": {
            "description": "Results per page, same for all collections.",
            "type": "integer",
            "maximum": 50
          },
          "first": {
            "$ref": "#/components/schemas/First"
          },
          "next": {
            "$ref": "#/components/schemas/Next"
          },
          "previous": {
            "$ref": "#/components/schemas/Previous"
          },
          "queue_managers": {
            "description": "List of queue managers.",
            "type": "array",
            "minItems": 0,
            "maxItems": 50,
            "items": {
              "$ref": "#/components/schemas/QueueManagerDetails"
            }
          }
        }
      },
      "QueueManagerStatus": {
        "description": "Queue manager status.",
        "x-data-source-name": "mqcloud_queue_manager_status",
        "x-data-source-operations": {
          "read": "get_queue_manager_status"
        },
        "required": [
          "status"
        ],
        "example": {
          "status": "running"
        },
        "properties": {
          "status": {
            "$ref": "#/components/schemas/RunningStates"
          }
        }
      },
      "QueueManagerDetails": {
        "description": "The details of the queue manager.",
        "x-resource-name": "mqcloud_queue_manager",
        "x-resource-operations": {
          "create": "create_queue_manager",
          "read": "get_queue_manager",
          "update": "set_queue_manager_version",
          "delete": "delete_queue_manager"
        },
        "x-terraform-timeouts": {
          "create": 15,
          "update": 5,
          "delete": 5
        },
        "required": [
          "id",
          "name",
          "display_name",
          "location",
          "size",
          "href",
          "status_uri",
          "version",
          "web_console_url",
          "rest_api_endpoint_url",
          "administrator_api_endpoint_url",
          "connection_info_uri",
          "date_created",
          "upgrade_available",
          "available_upgrade_versions_uri"
        ],
        "example": {
          "id": "b8e1aeda078009cf3db74e90d5d42328",
          "name": "testqm",
          "display_name": "Test QM",
          "location": "ibmcloud_us_south",
          "size": "xsmall",
          "status_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/status",
          "version": "9.3.2_2",
          "web_console_url": "https://web-testqm-fc4f.qm1.eu-de.mq.appdomain.cloud/ibmmq/console",
          "rest_api_endpoint_url": "https://web-testqm-fc4f.qm1.eu-de.mq.appdomain.cloud/ibmmq/rest/v3/messaging/qmgr/testqm/queues/<queue_name>/message",
          "administrator_api_endpoint_url": "https://web-testqm-fc4f.qm1.eu-de.mq.appdomain.cloud/ibmmq/rest/v3/admin/qmgr/testqm",
          "connection_info_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/connection_info",
          "date_created": "2023-07-19T14:46:05Z",
          "upgrade_available": false,
          "available_upgrade_versions_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/available_versions",
          "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328"
        },
        "properties": {
          "id": {
            "description": "The ID of the queue manager which was allocated on creation, and can be used for delete calls.",
            "type": "string"
          },
          "name": {
            "description": "A queue manager name conforming to MQ restrictions.",
            "x-terraform-force-new": true,
            "type": "string",
            "pattern": "^[a-zA-Z0-9._]*$",
            "minLength": 1,
            "maxLength": 48
          },
          "display_name": {
            "description": "A displayable name for the queue manager - limited only in length.",
            "x-terraform-force-new": true,
            "type": "string",
            "maxLength": 150
          },
          "location": {
            "$ref": "#/components/schemas/Locations"
          },
          "size": {
            "$ref": "#/components/schemas/Sizes"
          },
          "status_uri": {
            "description": "A reference uri to get deployment status of the queue manager.",
            "type": "string"
          },
          "version": {
            "description": "The MQ version of the queue manager.",
            "example": "9.3.2_2",
            "type": "string",
            "pattern": "^[0-9]+.[0-9]+.[0-9]+_[0-9]+$",
            "minLength": 7,
            "maxLength": 15
          },
          "web_console_url": {
            "description": "The url through which to access the web console for this queue manager.",
            "type": "string"
          },
          "rest_api_endpoint_url": {
            "description": "The url through which to access REST APIs for this queue manager.",
            "type": "string"
          },
          "administrator_api_endpoint_url": {
            "description": "The url through which to access the Admin REST APIs for this queue manager.",
            "type": "string"
          },
          "connection_info_uri": {
            "description": "The uri through which the CDDT for this queue manager can be obtained.",
            "type": "string"
          },
          "date_created": {
            "description": "RFC3339 formatted UTC date for when the queue manager was created.",
            "type": "string",
            "format": "date-time",
            "example": "2020-01-13T15:39:35.000Z"
          },
          "upgrade_available": {
            "description": "Describes whether an upgrade is available for this queue manager.",
            "type": "boolean",
            "example": true
          },
          "available_upgrade_versions_uri": {
            "description": "The uri through which the available versions to upgrade to can be found for this queue manager.",
            "type": "string"
          },
          "href": {
            "description": "The URL for this queue manager.",
            "type": "string"
          }
        }
      },
      "QueueManagerVersionUpgrades": {
        "description": "The list of available versions that this queue manger can upgrade to.",
        "required": [
          "total_count",
          "versions"
        ],
        "example": {
          "total_count": 1,
          "versions": [
            {
              "version": "9.3.2_2",
              "target_date": "2023-01-13T15:39:35.000Z"
            }
          ]
        },
        "properties": {
          "total_count": {
            "description": "Total count of versions available.",
            "type": "integer",
            "format": "int32"
          },
          "versions": {
            "description": "The list of available versions that this queue manger can upgrade to.",
            "type": "array",
            "minItems": 0,
            "maxItems": 12,
            "items": {
              "$ref": "#/components/schemas/QueueManagerVersionUpgrade"
            }
          }
        }
      },
      "UpgradeQueueManagerBody": {
        "description": "Payload to be passed to the upgrade of a queue manager.",
        "required": [
          "version"
        ],
        "example": {
          "version": "9.3.2_2"
        },
        "properties": {
          "version": {
            "description": "The version upgrade to apply to the queue manager.",
            "example": "9.3.2_2",
            "type": "string",
            "pattern": "^[0-9]+.[0-9]+.[0-9]+_[0-9]+$",
            "minLength": 7,
            "maxLength": 15
          }
        }
      },
      "QueueManagerVersionUpgrade": {
        "description": "An available upgrade for a queue manager.",
        "example": {
          "version": "9.3.2_2",
          "target_date": "2023-01-13T15:39:35.000Z"
        },
        "properties": {
          "version": {
            "description": "The target version of the queue manager upgrade.",
            "example": "9.3.2_2",
            "type": "string",
            "pattern": "^[0-9]+.[0-9]+.[0-9]+_[0-9]+$",
            "minLength": 7,
            "maxLength": 15
          },
          "target_date": {
            "description": "RFC3339 formatted UTC date for when the queue manager will automatically be updated.",
            "example": "2023-01-13T15:39:35.000Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "version",
          "target_date"
        ]
      },
      "ApplicationDetailsCollection": {
        "description": "A list of application summaries.",
        "x-data-source-name": "mqcloud_application",
        "x-data-source-operations": {
          "read": "list_applications"
        },
        "x-data-source-collection": "applications",
        "x-terraform-data-source-filter": "name",
        "required": [
          "offset",
          "limit",
          "first",
          "applications"
        ],
        "example": {
          "offset": 25,
          "limit": 25,
          "first": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/applications?limit=25"
          },
          "next": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/applications?offset=50&limit=25"
          },
          "previous": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/applications?offset=25&limit=25"
          },
          "applications": [
            {
              "id": "0123456789ABCDEF0123456789ABCDEF",
              "name": "test-app",
              "iam_service_id": "IBMid-2700640RCGN",
              "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users/31a413dd84346effc8895b6ba4641641",
              "create_api_key_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users/31a413dd84346effc8895b6ba4641641/api_key"
            }
          ]
        },
        "properties": {
          "offset": {
            "description": "Pagination offset.",
            "type": "integer"
          },
          "limit": {
            "description": "Results per page, same for all collections.",
            "type": "integer",
            "maximum": 50
          },
          "first": {
            "$ref": "#/components/schemas/First"
          },
          "next": {
            "$ref": "#/components/schemas/Next"
          },
          "previous": {
            "$ref": "#/components/schemas/Previous"
          },
          "applications": {
            "description": "List of applications.",
            "type": "array",
            "minItems": 0,
            "maxItems": 50,
            "items": {
              "$ref": "#/components/schemas/ApplicationDetails"
            }
          }
        }
      },
      "ConnectionInfo": {
        "description": "Responds with JSON CCDT of the connection information for the queue manager.",
        "required": [
          "channel"
        ],
        "properties": {
          "channel": {
            "description": "A collection of channel connection details.",
            "type": "array",
            "minItems": 0,
            "maxItems": 999999999,
            "items": {
              "$ref": "#/components/schemas/ConnectionInfoChannel"
            }
          }
        }
      },
      "ConnectionInfoChannel": {
        "description": "A subsection for channels as part of a JSON CCDT of the connection information for the queue manager",
        "required": [
          "name",
          "clientConnection",
          "transmissionSecurity",
          "type"
        ],
        "properties": {
          "name": {
            "description": "Specifies the name of the channel.",
            "type": "string"
          },
          "clientConnection": {
            "$ref": "#/components/schemas/ClientConnection"
          },
          "transmissionSecurity": {
            "$ref": "#/components/schemas/TransmissionSecurity"
          },
          "type": {
            "description": "Specifies the type of the channel.",
            "type": "string"
          }
        }
      },
      "ClientConnection": {
        "description": "Details for a client connection.",
        "type": "object",
        "properties": {
          "connection": {
            "description": "A collection of objects with attributes that define a channel connection.",
            "type": "array",
            "minItems": 0,
            "maxItems": 999999999,
            "items": {
              "$ref": "#/components/schemas/ConnectionDetails"
            }
          },
          "queueManager": {
            "description": "the name of the queue_manager",
            "type": "string"
          }
        }
      },
      "ConnectionDetails": {
        "description": "Attributes that define a channel connection.",
        "type": "object",
        "properties": {
          "host": {
            "description": "Specifies the host that this channel connects to.",
            "type": "string"
          },
          "port": {
            "description": "Specifies the port that this channel uses on this host.",
            "type": "integer"
          }
        }
      },
      "TransmissionSecurity": {
        "description": "An object that contains attributes that are related to security for message transmission.",
        "type": "object",
        "properties": {
          "cipherSpecification": {
            "description": "Specifies the name of the CipherSpec for the channel to use.",
            "type": "string"
          }
        }
      },
      "ApplicationDetails": {
        "description": "A summary of the application for use in a list of applications.",
        "x-resource-name": "mqcloud_application",
        "x-resource-operations": {
          "create": "create_application",
          "read": "get_application",
          "delete": "delete_application"
        },
        "required": [
          "id",
          "name",
          "href",
          "iam_service_id",
          "create_api_key_uri"
        ],
        "example": {
          "id": "0123456789ABCDEF0123456789ABCDEF",
          "name": "test-app",
          "iam_service_id": "IBMid-2700640RCGN",
          "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users/31a413dd84346effc8895b6ba4641641",
          "create_api_key_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users/31a413dd84346effc8895b6ba4641641/api_key"
        },
        "properties": {
          "id": {
            "description": "The ID of the application which was allocated on creation, and can be used for delete calls.",
            "type": "string"
          },
          "name": {
            "description": "The name of the application - conforming to MQ rules.",
            "type": "string",
            "minLength": 1,
            "maxLength": 12
          },
          "iam_service_id": {
            "description": "The IAM ID of the application",
            "type": "string",
            "minLength": 5,
            "maxLength": 50
          },
          "create_api_key_uri": {
            "description": "The URI to create a new apikey for the application.",
            "type": "string"
          },
          "href": {
            "description": "The URL for this application.",
            "type": "string"
          }
        }
      },
      "ApplicationDetailsPrototype": {
        "description": "Payload to be passed to the creation of an application.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "description": "The name of the application - conforming to MQ rules.",
            "type": "string",
            "pattern": "^[a-z][-a-z0-9]*$",
            "maxLength": 12,
            "minLength": 1,
            "example": "test-app"
          }
        }
      },
      "CreateApplicationAPIKeyBody": {
        "description": "Payload to be passed to the creation of a new application api key.",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "description": "The short name of the application api key - conforming to MQ rules.",
            "type": "string",
            "pattern": "^[a-z][-a-z0-9]*$",
            "maxLength": 12,
            "minLength": 1,
            "example": "test-api-key"
          }
        }
      },
      "UserDetailsCollection": {
        "description": "A list of user summaries.",
        "x-data-source-name": "mqcloud_user",
        "x-data-source-operations": {
          "read": "list_users"
        },
        "x-data-source-collection": "users",
        "x-terraform-data-source-filter": "name",
        "required": [
          "offset",
          "limit",
          "first",
          "users"
        ],
        "example": {
          "offset": 25,
          "limit": 25,
          "first": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users?limit=25"
          },
          "next": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users?offset=50&limit=25"
          },
          "previous": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users?offset=25&limit=25"
          },
          "users": [
            {
              "id": "31a413dd84346effc8895b6ba4641641",
              "name": "testuser",
              "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users/31a413dd84346effc8895b6ba4641641",
              "email": "testuser@ibm.com",
              "iam_service_id": "IBMid-2700640RCGN",
              "iam_managed": true,
              "roles": [
                "writer"
              ]
            }
          ]
        },
        "properties": {
          "offset": {
            "description": "Pagination offset.",
            "type": "integer"
          },
          "limit": {
            "description": "Results per page, same for all collections.",
            "type": "integer"
          },
          "first": {
            "$ref": "#/components/schemas/First"
          },
          "next": {
            "$ref": "#/components/schemas/Next"
          },
          "previous": {
            "$ref": "#/components/schemas/Previous"
          },
          "users": {
            "description": "List of users.",
            "type": "array",
            "minItems": 0,
            "maxItems": 50,
            "items": {
              "$ref": "#/components/schemas/UserDetails"
            }
          }
        }
      },
      "UserDetails": {
        "description": "A summary of the user for use in a list of users.",
        "x-resource-name": "mqcloud_user",
        "x-resource-operations": {
          "create": "create_user",
          "read": "get_user",
          "delete": "delete_user"
        },
        "required": [
          "id",
          "name",
          "href",
          "email",
          "iam_service_id",
          "roles",
          "iam_managed"
        ],
        "example": {
          "id": "31a413dd84346effc8895b6ba4641641",
          "name": "testuser",
          "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users/31a413dd84346effc8895b6ba4641641",
          "email": "testuser@ibm.com",
          "iam_service_id": "IBMid-2700640RCGN",
          "iam_managed": true,
          "roles": [
            "writer"
          ]
        },
        "properties": {
          "id": {
            "description": "The ID of the user which was allocated on creation, and can be used for delete calls.",
            "type": "string"
          },
          "name": {
            "description": "The shortname of the user that will be used as the IBM MQ administrator in interactions with a queue manager for this service instance.",
            "type": "string",
            "pattern": "^[a-z][-a-z0-9]*$",
            "minLength": 1,
            "maxLength": 12
          },
          "email": {
            "description": "The email of the user.",
            "type": "string",
            "minLength": 5,
            "maxLength": 253,
            "format": "email"
          },
          "iam_service_id": {
            "description": "The IAM ID of the user",
            "type": "string",
            "minLength": 5,
            "maxLength": 50
          },
          "roles": {
            "description": "A list of roles the user has",
            "items": {
              "type": "string"
            },
            "maxItems": 200,
            "minItems": 0,
            "type": "array"
          },
          "iam_managed": {
            "description": "Indicates whether the user is managed by IAM",
            "type": "boolean"
          },
          "href": {
            "description": "The URL for the user details.",
            "type": "string"
          }
        }
      },
      "UserDetailsPrototype": {
        "description": "Payload to be passed to the creation of a user.",
        "required": [
          "email",
          "name"
        ],
        "properties": {
          "email": {
            "description": "The email of the user to be created.",
            "type": "string",
            "format": "email",
            "minLength": 5,
            "maxLength": 253,
            "example": "testuser@ibm.com"
          },
          "name": {
            "description": "The shortname of the user to be created.",
            "type": "string",
            "pattern": "^[a-z][-a-z0-9]*$",
            "minLength": 1,
            "maxLength": 12,
            "example": "testuser"
          }
        }
      },
      "Locations": {
        "description": "The locations in which the queue manager could be deployed.",
        "x-terraform-force-new": true,
        "type": "string",
        "pattern": "^([^[:ascii:]]|[a-zA-Z0-9-._: ])+$",
        "minLength": 2,
        "maxLength": 150,
        "example": "reserved-eu-de-cluster-f884"
      },
      "Sizes": {
        "description": "The queue manager sizes of deployment available.",
        "x-terraform-force-new": true,
        "type": "string",
        "enum": [
          "xsmall",
          "small",
          "medium",
          "large"
        ],
        "example": "small"
      },
      "RunningStates": {
        "description": "The deploying and failed states are not queue manager states, they are states which can occur when the request to deploy has been fired, or with that request has failed without producing a queue manager to have any state. The other states map to the queue manager states. State \"ending\" is either quiesing or ending immediately. State \"ended\" is either ended normally or endedimmediately. The others map one to one with queue manager states.",
        "type": "string",
        "enum": [
          "initializing",
          "deploying",
          "starting",
          "running",
          "stopping",
          "stopped",
          "status_not_available",
          "deleting",
          "failed",
          "upgrading_version",
          "updating_revision",
          "initialization_failed",
          "restoring_queue_manager",
          "restoring_config",
          "restore_failed",
          "suspended",
          "resumable"
        ]
      },
      "QueueManagerTaskStatus": {
        "description": "A URI for status that can be queried periodically to get the status of the queue manager.",
        "required": [
          "queue_manager_uri",
          "queue_manager_status_uri",
          "queue_manager_id"
        ],
        "example": {
          "queue_manager_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers",
          "queue_manager_status_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/status",
          "queue_manager_id": "b8e1aeda078009cf3db74e90d5d42328"
        },
        "properties": {
          "queue_manager_uri": {
            "description": "Uri for the details of the queue manager.",
            "type": "string"
          },
          "queue_manager_status_uri": {
            "description": "Uri for the status of the queue manager.",
            "type": "string"
          },
          "queue_manager_id": {
            "description": "The queue manager id.",
            "type": "string"
          }
        }
      },
      "ApplicationCreated": {
        "description": "A response to creating an application, giving the only chance to collect the apikey.",
        "required": [
          "id",
          "href",
          "api_key",
          "name",
          "iam_service_id",
          "create_api_key_uri"
        ],
        "example": {
          "id": "0123456789ABCDEF0123456789ABCDEF",
          "name": "test-app",
          "iam_service_id": "IBMid-2700640RCGN",
          "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users/31a413dd84346effc8895b6ba4641641",
          "create_api_key_uri": "/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/users/31a413dd84346effc8895b6ba4641641/api_key",
          "api_key_name": "MQ SaaS API",
          "api_key_id": "ApiKey-bafe0ce4-813a-4d81-9f62-3355a3f4e636",
          "api_key": "HsAeqo1WtpC7RtuxQIGpQZUtbf-Xf9ePSO1u9d-cdsc"
        },
        "properties": {
          "id": {
            "description": "The ID of the application which was allocated on creation, and can be used for delete calls.",
            "type": "string"
          },
          "name": {
            "description": "The name of the application - conforming to MQ rules.",
            "type": "string",
            "pattern": "^[a-z][-a-z0-9]*$",
            "minLength": 1,
            "maxLength": 12
          },
          "iam_service_id": {
            "description": "The IAM ID of the application",
            "type": "string",
            "minLength": 5,
            "maxLength": 50
          },
          "create_api_key_uri": {
            "description": "The URI to create a new apikey for the application.",
            "type": "string"
          },
          "href": {
            "description": "The URL for this application.",
            "type": "string"
          },
          "api_key_name": {
            "description": "The name of the api key.",
            "type": "string"
          },
          "api_key_id": {
            "description": "The id of the api key.",
            "type": "string"
          },
          "api_key": {
            "description": "The api key created.",
            "type": "string"
          }
        }
      },
      "ApplicationAPIKeyCreated": {
        "description": "A response to creating a new api key, giving the only chance to collect the new apikey.",
        "example": {
          "api_key_name": "test_api_key",
          "api_key": "HsAeqo1WtpC7RtuxQIGpQZUtbf-Xf9ePSO1u9d-cdsc",
          "api_key_id": "ApiKey-bafe0ce4-813a-4d81-9f62-3355a3f4e636"
        },
        "required": [
          "api_key_id",
          "api_key"
        ],
        "properties": {
          "api_key_name": {
            "description": "The name of the api key.",
            "type": "string"
          },
          "api_key_id": {
            "description": "The id of the api key.",
            "type": "string"
          },
          "api_key": {
            "description": "The api key created.",
            "type": "string"
          }
        }
      },
      "TrustStoreCertificateDetailsCollection": {
        "description": "A list of certificates in a queue manager's certificate trust store.",
        "x-data-source-name": "mqcloud_truststore_certificate",
        "x-data-source-operations": {
          "read": "list_trust_store_certificates"
        },
        "x-data-source-collection": "trust_store",
        "x-terraform-data-source-filter": "label",
        "example": {
          "total_count": 1,
          "trust_store": [
            {
              "id": "693d09e6f00e89d",
              "label": "qmgrcert",
              "certificate_type": "trust_store",
              "fingerprint_sha256": "BB:C2:09:2B:0C:68:EC:D2:1A:09:DA:F7:51:8D:29:F3:64:88:21:65:40:02:BD:20:1B:11:91:50:8D:90:8B:66",
              "subject_dn": "CN=*.qm1.eu-de.mq.appdomain.cloud",
              "subject_cn": "*.qm1.eu-de.mq.appdomain.cloud",
              "issuer_dn": "CN=R3,O=Let's Encrypt,C=US",
              "issuer_cn": "R3",
              "issued": "2023-05-29T11:17:00Z",
              "expiry": "2023-08-27T11:16:59Z",
              "trusted": true,
              "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/certificates/trust_store/693d09e6f00e89d"
            }
          ]
        },
        "properties": {
          "total_count": {
            "description": "The total count of trust store certificates.",
            "type": "integer",
            "format": "int32",
            "example": 1
          },
          "trust_store": {
            "description": "The list of trust store certificates.",
            "type": "array",
            "minItems": 0,
            "maxItems": 50,
            "items": {
              "$ref": "#/components/schemas/TrustStoreCertificateDetails"
            }
          }
        }
      },
      "KeyStoreCertificateDetailsCollection": {
        "description": "A list of certificates in a queue manager's certificate key store.",
        "x-data-source-name": "mqcloud_keystore_certificate",
        "x-data-source-operations": {
          "read": "list_key_store_certificates"
        },
        "x-data-source-collection": "key_store",
        "x-terraform-data-source-filter": "label",
        "example": {
          "total_count": 1,
          "key_store": [
            {
              "id": "693d09e6f00e89d",
              "label": "qmgrcert",
              "certificate_type": "key_store",
              "fingerprint_sha256": "BB:C2:09:2B:0C:68:EC:D2:1A:09:DA:F7:51:8D:29:F3:64:88:21:65:40:02:BD:20:1B:11:91:50:8D:90:8B:66",
              "subject_dn": "CN=*.qm1.eu-de.mq.appdomain.cloud",
              "subject_cn": "*.qm1.eu-de.mq.appdomain.cloud",
              "issuer_dn": "CN=R3,O=Let's Encrypt,C=US",
              "issuer_cn": "R3",
              "issued": "2023-05-29T11:17:00Z",
              "expiry": "2023-08-27T11:16:59Z",
              "is_default": true,
              "dns_names_total_count": 1,
              "dns_names": [
                "*.qm1.eu-de.mq.appdomain.cloud"
              ],
              "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/certificates/key_store/693d09e6f00e89d",
              "config": {
                "ams": {
                  "channels": [
                    {
                      "name": "CLOUD.APP.SVRCONN"
                    }
                  ]
                }
              }
            }
          ]
        },
        "properties": {
          "total_count": {
            "description": "The total count of key store certificates.",
            "type": "integer",
            "format": "int32",
            "example": 1
          },
          "key_store": {
            "description": "The list of key store certificates.",
            "type": "array",
            "minItems": 0,
            "maxItems": 50,
            "items": {
              "$ref": "#/components/schemas/KeyStoreCertificateDetails"
            }
          }
        }
      },
      "KeyStoreCertificateDetails": {
        "description": "The details of a key store certificate in a queue manager certificate key store.",
        "x-resource-name": "mqcloud_keystore_certificate",
        "x-resource-operations": {
          "create": "create_key_store_pem_certificate",
          "read": "get_key_store_certificate",
          "update": "set_certificate_ams_channels",
          "delete": "delete_key_store_certificate"
        },
        "required": [
          "id",
          "label",
          "certificate_type",
          "fingerprint_sha256",
          "subject_dn",
          "subject_cn",
          "issuer_dn",
          "issuer_cn",
          "issued",
          "expiry",
          "is_default",
          "dns_names_total_count",
          "dns_names",
          "href",
          "config"
        ],
        "example": {
          "id": "693d09e6f00e89d",
          "label": "qmgrcert",
          "certificate_type": "key_store",
          "fingerprint_sha256": "BB:C2:09:2B:0C:68:EC:D2:1A:09:DA:F7:51:8D:29:F3:64:88:21:65:40:02:BD:20:1B:11:91:50:8D:90:8B:66",
          "subject_dn": "CN=*.qm1.eu-de.mq.appdomain.cloud",
          "subject_cn": "*.qm1.eu-de.mq.appdomain.cloud",
          "issuer_dn": "CN=R3,O=Let's Encrypt,C=US",
          "issuer_cn": "R3",
          "issued": "2023-05-29T11:17:00Z",
          "expiry": "2023-08-27T11:16:59Z",
          "is_default": true,
          "dns_names_total_count": 1,
          "dns_names": [
            "*.qm1.eu-de.mq.appdomain.cloud"
          ],
          "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/certificates/key_store/693d09e6f00e89d",
          "config": {
            "ams": {
              "channels": [
                {
                  "name": "CLOUD.APP.SVRCONN"
                }
              ]
            }
          }
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "ID of the certificate.",
            "minLength": 1,
            "maxLength": 16,
            "pattern": "^[0-9a-fA-F]*$"
          },
          "label": {
            "type": "string",
            "description": "Certificate label in queue manager store.",
            "pattern": "^[a-zA-Z0-9_.]*$",
            "minLength": 1,
            "maxLength": 64
          },
          "certificate_type": {
            "description": "The type of certificate.",
            "type": "string",
            "enum": [
              "key_store"
            ]
          },
          "fingerprint_sha256": {
            "type": "string",
            "description": "Fingerprint SHA256.",
            "pattern": "^[A-F0-9]{2}(:[A-F0-9]{2}){31}$"
          },
          "subject_dn": {
            "type": "string",
            "description": "Subject's Distinguished Name."
          },
          "subject_cn": {
            "type": "string",
            "description": "Subject's Common Name."
          },
          "issuer_dn": {
            "type": "string",
            "description": "Issuer's Distinguished Name."
          },
          "issuer_cn": {
            "type": "string",
            "description": "Issuer's Common Name."
          },
          "issued": {
            "type": "string",
            "description": "Date certificate was issued.",
            "format": "date-time"
          },
          "expiry": {
            "type": "string",
            "description": "Expiry date for the certificate.",
            "format": "date-time"
          },
          "is_default": {
            "type": "boolean",
            "description": "Indicates whether it is the queue manager's default certificate."
          },
          "dns_names_total_count": {
            "description": "The total count of dns names.",
            "type": "integer",
            "format": "int32"
          },
          "dns_names": {
            "description": "The list of DNS names.",
            "type": "array",
            "minItems": 0,
            "maxItems": 200,
            "items": {
              "type": "string"
            }
          },
          "href": {
            "description": "The URL for this key store certificate.",
            "type": "string"
          },
          "config": {
            "$ref": "#/components/schemas/CertificateConfiguration"
          }
        }
      },
      "TrustStoreCertificateDetails": {
        "description": "The details of a trust store certificate in a queue manager certificate trust store.",
        "x-resource-name": "mqcloud_truststore_certificate",
        "x-resource-operations": {
          "create": "create_trust_store_pem_certificate",
          "read": "get_trust_store_certificate",
          "delete": "delete_trust_store_certificate"
        },
        "required": [
          "id",
          "label",
          "certificate_type",
          "fingerprint_sha256",
          "subject_dn",
          "subject_cn",
          "issuer_dn",
          "issuer_cn",
          "issued",
          "expiry",
          "trusted",
          "href"
        ],
        "example": {
          "id": "693d09e6f00e89d",
          "label": "qmgrcert",
          "certificate_type": "trust_store",
          "fingerprint_sha256": "BB:C2:09:2B:0C:68:EC:D2:1A:09:DA:F7:51:8D:29:F3:64:88:21:65:40:02:BD:20:1B:11:91:50:8D:90:8B:66",
          "subject_dn": "CN=*.qm1.eu-de.mq.appdomain.cloud",
          "subject_cn": "*.qm1.eu-de.mq.appdomain.cloud",
          "issuer_dn": "CN=R3,O=Let's Encrypt,C=US",
          "issuer_cn": "R3",
          "issued": "2023-05-29T11:17:00Z",
          "expiry": "2023-08-27T11:16:59Z",
          "trusted": true,
          "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/certificates/trust_store/693d09e6f00e89d"
        },
        "properties": {
          "id": {
            "type": "string",
            "description": "Id of the certificate.",
            "minLength": 1,
            "maxLength": 16,
            "pattern": "^[0-9a-fA-F]*$"
          },
          "label": {
            "type": "string",
            "description": "Certificate label in queue manager store.",
            "pattern": "^[a-zA-Z0-9_.]*$",
            "minLength": 1,
            "maxLength": 64
          },
          "certificate_type": {
            "description": "The type of certificate.",
            "type": "string",
            "enum": [
              "trust_store"
            ]
          },
          "fingerprint_sha256": {
            "type": "string",
            "description": "Fingerprint SHA256.",
            "pattern": "^[A-F0-9]{2}(:[A-F0-9]{2}){31}$"
          },
          "subject_dn": {
            "type": "string",
            "description": "Subject's Distinguished Name."
          },
          "subject_cn": {
            "type": "string",
            "description": "Subject's Common Name."
          },
          "issuer_dn": {
            "type": "string",
            "description": "Issuer's Distinguished Name."
          },
          "issuer_cn": {
            "type": "string",
            "description": "Issuer's Common Name."
          },
          "issued": {
            "type": "string",
            "description": "The Date the certificate was issued.",
            "format": "date-time"
          },
          "expiry": {
            "type": "string",
            "description": "Expiry date for the certificate.",
            "format": "date-time"
          },
          "trusted": {
            "type": "boolean",
            "description": "Indicates whether a certificate is trusted."
          },
          "href": {
            "description": "The URL for this trust store certificate.",
            "type": "string"
          }
        }
      },
      "UpdateChannelsBody": {
        "required": [
          "channels"
        ],
        "description": "Payload to be passed to the update of the channels this certificate is applied to.",
        "properties": {
          "update_strategy": {
            "description": "Strategy for how the supplied channels should be applied.",
            "type": "string",
            "enum": [
              "replace",
              "append"
            ]
          },
          "channels": {
            "description": "The list of AMS channels that are using this certificate.",
            "type": "array",
            "minItems": 0,
            "maxItems": 999999999,
            "items": {
              "$ref": "#/components/schemas/ChannelDetails"
            }
          }
        }
      },
      "UpdateUserBody": {
        "required": [
          "name"
        ],
        "description": "Payload to be passed to the update of user name",
        "properties": {
          "name": {
            "description": "The new name to update the user with",
            "type": "string",
            "pattern": "^[a-z][-a-z0-9]*$",
            "minLength": 1,
            "maxLength": 12
          }
        }
      },
      "UpdateApplicationBody": {
        "required": [
          "name"
        ],
        "description": "Payload to be passed to the update of application name",
        "properties": {
          "name": {
            "description": "The new name to update the application with",
            "type": "string",
            "pattern": "^[a-z][-a-z0-9]*$",
            "minLength": 1,
            "maxLength": 12
          }
        }
      },
      "CertificateConfiguration": {
        "description": "The configuration details for this certificate.",
        "example": {
          "ams": {
            "channels": [
              {
                "name": "CLOUD.APP.SVRCONN"
              }
            ]
          }
        },
        "required": [
          "ams"
        ],
        "properties": {
          "ams": {
            "$ref": "#/components/schemas/ChannelsDetails"
          }
        }
      },
      "ChannelsDetails": {
        "required": [
          "channels"
        ],
        "description": "A list of channels that are configured with this certificate.",
        "example": {
          "channels": [
            {
              "name": "CLOUD.APP.SVRCONN"
            }
          ]
        },
        "properties": {
          "channels": {
            "description": "A list of channels that are configured with this certificate.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChannelDetails"
            },
            "minItems": 0,
            "maxItems": 999999999
          }
        }
      },
      "ChannelDetails": {
        "description": "A channel's information that is configured with this certificate.",
        "example": {
          "name": "CLOUD.APP.SVRCONN"
        },
        "properties": {
          "name": {
            "description": "The name of the channel.",
            "type": "string",
            "pattern": "^[a-zA-Z0-9_./%]*$",
            "minLength": 1,
            "maxLength": 20
          }
        }
      },
      "Error": {
        "description": "Error model container as defined by https://cloud.ibm.com/docs/api-handbook?topic=api-handbook-errors",
        "required": [
          "errors"
        ],
        "properties": {
          "errors": {
            "description": "This field MUST contain an array with at least one error model.",
            "type": "array",
            "minItems": 1,
            "maxItems": 10,
            "items": {
              "$ref": "#/components/schemas/ErrorModel"
            }
          },
          "trace": {
            "description": "This field SHOULD contain a lowercase UUID uniquely identifying the request.",
            "type": "string",
            "minLength": 8,
            "maxLength": 1024
          },
          "status_code": {
            "description": "This field MAY contain the HTTP status code used for the response. Otherwise, it MUST be omitted.",
            "type": "integer",
            "enum": [
              400,
              401,
              404,
              405,
              409,
              429,
              500,
              503
            ]
          }
        }
      },
      "ErrorModel": {
        "description": "Error model as defined by https://cloud.ibm.com/docs/api-handbook?topic=api-handbook-errors.",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "description": "This field MUST contain a snake case string succinctly identifying the problem. This field SHOULD NOT indicate which field, parameter, or header caused the error, as this is better done with an error target model.",
            "type": "string",
            "enum": [
              "invalid_request",
              "invalid_server_response",
              "invalid_location",
              "invalid_size",
              "invalid_version",
              "not_authenticated",
              "unexpected_server_response",
              "too_many_requests",
              "invalid_credentials",
              "bad_request",
              "unauthorized",
              "internal_server_error",
              "unexpected_server_response_in_process",
              "resource_not_found",
              "resource_already_exists"
            ]
          },
          "message": {
            "description": "This field MUST contain a plainly-written, developer-oriented explanation of the solution to the problem in complete, well-formed sentences.",
            "type": "string"
          },
          "more_info": {
            "description": "This field SHOULD contain a publicly-accessible URL where information about the error can be read in a web browser.",
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/ErrorTargetModel"
          }
        }
      },
      "ErrorTargetModel": {
        "description": "Error target model as defined by https://cloud.ibm.com/docs/api-handbook?topic=api-handbook-errors.",
        "nullable": true,
        "required": [
          "type",
          "name"
        ],
        "properties": {
          "type": {
            "description": "This field MUST contain field, parameter, or header.",
            "type": "string",
            "enum": [
              "field",
              "parameter",
              "header"
            ]
          },
          "name": {
            "description": "This field MUST contain the name of the problematic field (with dot-syntax if necessary), query parameter, or header.",
            "type": "string"
          }
        }
      },
      "VirtualPrivateEndpointGatewayDetailsCollection": {
        "description": "A list of virtual private endpoint gateway summaries",
        "x-data-source-name": "mqcloud_virtual_private_endpoint_gateways",
        "x-data-source-operations": {
          "read": "list_virtual_private_endpoint_gateways"
        },
        "x-data-source-collection": "virtual_private_endpoint_gateways",
        "x-terraform-data-source-filter": "name",
        "required": [
          "limit",
          "first",
          "virtual_private_endpoint_gateways"
        ],
        "example": {
          "limit": 25,
          "first": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/virtual_private_endpoint_gateway?limit=25"
          },
          "next": {
            "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/virtual_private_endpoint_gateway?start=r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44&limit=25"
          },
          "virtual_private_endpoint_gateways": [
            {
              "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/virtual_private_endpoint_gateway/r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44",
              "id": "r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44",
              "name": "vpe-gateway1-to-vpe-gateway2",
              "target_crn": "crn:v1:bluemix:public:mqcloud:region:a/5d5ff2a9001c4055ab1408e9bf185f48:a2b4d4bc-dadb-4637-bcec-9b7d1e723af8::",
              "status": "approved"
            }
          ]
        },
        "properties": {
          "limit": {
            "description": "Results per page, same for all collections.",
            "type": "integer",
            "maximum": 50
          },
          "first": {
            "$ref": "#/components/schemas/First"
          },
          "next": {
            "$ref": "#/components/schemas/Next"
          },
          "virtual_private_endpoint_gateways": {
            "description": "List of virtual private endpoint gateways",
            "type": "array",
            "minItems": 0,
            "maxItems": 50,
            "items": {
              "$ref": "#/components/schemas/VirtualPrivateEndpointGatewayDetails"
            }
          }
        }
      },
      "VirtualPrivateEndpointGatewayDetails": {
        "description": "The details of a specific Virtual Private Endpoint Gateway.",
        "x-data-source-name": "mqcloud_virtual_private_endpoint_gateway",
        "x-resource-name": "mqcloud_virtual_private_endpoint_gateway",
        "x-resource-operations": {
          "create": "create_virtual_private_endpoint_gateway",
          "read": "get_virtual_private_endpoint_gateway",
          "delete": "delete_virtual_private_endpoint_gateway"
        },
        "required": [
          "href",
          "id",
          "name",
          "target_crn",
          "status"
        ],
        "example": {
          "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/virtual_private_endpoint_gateway/r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44",
          "id": "r010-ebab3c08-c9a8-40c4-8869-61c09ddf7b44",
          "name": "vpe-gateway1-to-vpe-gateway2",
          "target_crn": "crn:v1:bluemix:public:mqcloud:eu-de:a/account-id:reserved-capacity-guid::",
          "status": "approved"
        },
        "properties": {
          "href": {
            "description": "URL for the details of the virtual private endpoint gateway",
            "type": "string",
            "pattern": "^http(s)?:\\/\\/([^\\/?#]*)([^?#]*)(\\?([^#]*))?(#(.*))?$",
            "minLength": 10,
            "maxLength": 8000
          },
          "id": {
            "description": "The ID of the virtual private endpoint gateway which was allocated on creation.",
            "type": "string",
            "pattern": "^[0-9a-zA-Z]{4}-[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
            "minLength": 41,
            "maxLength": 41
          },
          "name": {
            "description": "The name of the virtual private endpoint gateway, created by the user.",
            "type": "string",
            "x-terraform-force-new": true,
            "pattern": "^[a-z]|[a-z][-a-z0-9]*[a-z0-9]$",
            "minLength": 1,
            "maxLength": 63
          },
          "target_crn": {
            "description": "The CRN of the virtual private endpoint gateway the user is trying to connect to.",
            "type": "string",
            "minLength": 9,
            "maxLength": 512,
            "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$|^crn:\\[\\.\\.\\.\\]$"
          },
          "status": {
            "description": "The lifecycle state of this virtual privage endpoint.",
            "type": "string",
            "pattern": "^deleting$|failed$|pending$|stable$|suspended$|updating$|waiting$|approved$",
            "minLength": 2,
            "maxLength": 12
          }
        }
      },
      "VirtualPrivateEndpointGatewayDetailsPrototype": {
        "description": "Payload to be passed to the creation of a virtual private endpoint gateway",
        "required": [
          "name",
          "target_crn"
        ],
        "properties": {
          "name": {
            "description": "The name of the virtual private endpoint gateway - conforming to naming rules.",
            "type": "string",
            "pattern": "^[a-z]|[a-z][-a-z0-9]*[a-z0-9]$",
            "minLength": 1,
            "maxLength": 63,
            "example": "vpe-gateway1-to-vpe-gateway2"
          },
          "target_crn": {
            "description": "The CRN of the target reserved capacity service instance or private path service.",
            "type": "string",
            "pattern": "^crn:v[0-9]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]+:[a-z0-9-]*:([a-z]\\/[a-z0-9-]+)?:[a-z0-9-]*:[a-z0-9-]*:[a-zA-Z0-9-_\\.\\/]*$|^crn:\\[\\.\\.\\.\\]$",
            "example": "crn:v1:bluemix:public:mqcloud:eu-de:::endpoint:qm1.private.eu-de.mq2.test.appdomain.cloud",
            "minLength": 9,
            "maxLength": 512
          }
        }
      }
    },
    "requestBodies": {
      "QueueManagerDetailsPrototype": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/QueueManagerDetailsPrototype"
            }
          }
        },
        "description": "Queue manager to add to the list.",
        "required": true
      },
      "ApplicationDetailsPrototype": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApplicationDetailsPrototype"
            }
          }
        },
        "description": "Application to add to the list.",
        "required": true
      },
      "CreateApplicationAPIKeyBody": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/CreateApplicationAPIKeyBody"
            }
          }
        },
        "description": "Application APIKey to add to the application.",
        "required": true
      },
      "UserDetailsPrototype": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UserDetailsPrototype"
            }
          }
        },
        "description": "User to add to the list.",
        "required": true
      },
      "UpdateUserBody": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateUserBody"
            }
          }
        },
        "description": "The new name to update user.",
        "required": true
      },
      "UpdateApplicationBody": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateApplicationBody"
            }
          }
        },
        "description": "The new name to update user.",
        "required": true
      },
      "UpgradeQueueManagerBody": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpgradeQueueManagerBody"
            }
          }
        },
        "description": "Version to upgrade Queue Manager to.",
        "required": true
      },
      "UpdateChannelsBody": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UpdateChannelsBody"
            }
          }
        },
        "description": "Certificate AMS Channel to replace or append to.",
        "required": true
      },
      "VirtualPrivateEndpointGatewayDetailsPrototype": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VirtualPrivateEndpointGatewayDetailsPrototype"
            }
          }
        },
        "description": "Virtual private endpoint gateway to add to the list",
        "required": true
      }
    },
    "responses": {
      "ApplicationCreated": {
        "description": "Created Application",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApplicationCreated"
            }
          }
        }
      },
      "ApplicationAPIKeyCreated": {
        "description": "Created",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ApplicationAPIKeyCreated"
            }
          }
        }
      },
      "UserCreated": {
        "description": "Created User",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UserDetails"
            }
          }
        }
      },
      "VirtualPrivateEndpointGatewayCreated": {
        "description": "Created Virtual Private Endpoint Gateway",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/VirtualPrivateEndpointGatewayDetails"
            }
          }
        }
      },
      "BadRequest": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "NotFound": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "MethodNotAllowed": {
        "description": "Method not allowed",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Conflict": {
        "description": "Conflict",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "InternalServerError": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "ServiceUnavailable": {
        "description": "Service Unavailable Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "TooManyRequests": {
        "description": "Service Is Overused",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "PermanentlyMoved": {
        "description": "URI has permanently Moved",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  }
}