{
  "openapi": "3.0.1",
  "info": {
    "title": "Quick Create Service for DaaS Quick Deploy with AWS WorkSpaces Core",
    "version": "DaaSTechPreview"
  },
  "servers": [
    {
      "url": "https://api.cloud.com/quickcreateservice"
    }
  ],
  "security": [
    {
      "CWSAuth": []
    }
  ],
  "paths": {
    "/{customerId}/accounts": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Get the accounts configured for the specified customer",
        "operationId": "GetCustomerAccountsAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": "Account Type",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AccountType"
                }
              ]
            }
          },
          {
            "name": "fetchDetails",
            "in": "query",
            "description": "If true, checks if all accounts have the required set of permissions for assume role tasks",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accounts"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "Add a account",
        "operationId": "AddAccountAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Configuration of the account to add",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/customerId_accounts_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/customerId_accounts_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/customerId_accounts_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/customerId_accounts_body"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_201"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Get the account configured for the specified customer",
        "operationId": "GetCustomerAccountAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_201"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "delete": {
        "tags": [
          "Account"
        ],
        "summary": "Deletes the account configured for the specified customer",
        "operationId": "DeleteCustomerAccountAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "patch": {
        "tags": [
          "Account"
        ],
        "summary": "Updates the account access keys for the specified customer",
        "operationId": "UpdateCustomerAccountAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Configuration of the account to update",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateAccount"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateAccountName"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateAwsEdcAccountCredentials"
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateAccount"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateAccountName"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateAwsEdcAccountCredentials"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateAccount"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateAccountName"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateAwsEdcAccountCredentials"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/UpdateAccount"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateAccountName"
                  },
                  {
                    "$ref": "#/components/schemas/UpdateAwsEdcAccountCredentials"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/tasks": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "Registers account BYOL account",
        "operationId": "InititateAccountTaskAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Task request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/accountId_tasks_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/accountId_tasks_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/accountId_tasks_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/accountId_tasks_body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/tasks/{taskId}": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "Gets account task",
        "operationId": "GetCustomerAccountTaskAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "description": "ID of task",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Base class for Tasks",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/TaskBase"
                    },
                    {
                      "$ref": "#/components/schemas/AccountTask"
                    },
                    {
                      "$ref": "#/components/schemas/DeploymentTask"
                    },
                    {
                      "$ref": "#/components/schemas/CommissionTask"
                    },
                    {
                      "$ref": "#/components/schemas/ResourceConnectionTask"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/resources/$search": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "Get the account resources for the specified customer",
        "operationId": "GetCustomerAccountResourcesAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Search request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/resources_search_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/resources_search_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/resources_search_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/resources_search_body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountResources"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/resources/$search": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "Get the account resources for the specified customer",
        "operationId": "GetAccountResourcesAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Search request",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/resources_search_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/resources_search_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/resources_search_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/resources_search_body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountResources"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/connections/{connectionId}": {
      "get": {
        "tags": [
          "Connection"
        ],
        "summary": "Gets resource connection",
        "operationId": "GetResourceConnectionAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "connectionId",
            "in": "path",
            "description": "ID of connection",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200_2"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "delete": {
        "tags": [
          "Connection"
        ],
        "summary": "Removes connection",
        "operationId": "RemoveResourceConnectionAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "connectionId",
            "in": "path",
            "description": "ID of connection",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forceDelete",
            "in": "query",
            "description": "Force delete a connection",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConnectionTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "patch": {
        "tags": [
          "Connection"
        ],
        "summary": "Modifies connection",
        "operationId": "ModifyResourceConnectionAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "connectionId",
            "in": "path",
            "description": "ID of connection",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Update configuration",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/connections_connectionId_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/connections_connectionId_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/connections_connectionId_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/connections_connectionId_body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200_2"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/connections": {
      "get": {
        "tags": [
          "Connection"
        ],
        "summary": "Gets resource connections",
        "operationId": "GetResourceConnectionsAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "citrixManaged",
            "in": "query",
            "description": "citrix managed connections",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConnections"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/connections": {
      "get": {
        "tags": [
          "Connection"
        ],
        "summary": "Gets all resource connections without specifying account",
        "operationId": "GetAllResourceConnectionsAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": "Filtering parameter for account type",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AccountType"
                }
              ]
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConnections"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/connections/$initiate": {
      "post": {
        "tags": [
          "Connection"
        ],
        "summary": "Adds resource connection asyncronously",
        "operationId": "AddResourceConnectionAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Connection configuration",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/connections_initiate_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/connections_initiate_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/connections_initiate_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/connections_initiate_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceConnectionTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments": {
      "get": {
        "tags": [
          "Deployment"
        ],
        "summary": "Gets deployments",
        "operationId": "GetDeploymentsAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeVdas",
            "in": "query",
            "description": "Indicates if the deployment VDAs should be included in the response",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "accountType",
            "in": "query",
            "description": "Account Type",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AccountType"
                }
              ]
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deployments"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}": {
      "get": {
        "tags": [
          "Deployment"
        ],
        "summary": "Gets deployment with vdas",
        "operationId": "GetDeploymentAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200_3"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "delete": {
        "tags": [
          "Deployment"
        ],
        "summary": "Delete deployment",
        "operationId": "DeleteDeploymentAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forceDelete",
            "in": "query",
            "description": "Force delete deployment",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Deployment will be removed at the completion of the processing task.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "204": {
            "description": "Deployment has been removed."
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/$initiate": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Initiates deployment",
        "operationId": "InitiateDeploymentAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Deployment configuration",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/deployments_initiate_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/deployments_initiate_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/deployments_initiate_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/deployments_initiate_body"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200_3"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/image/$update": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Update image for a deployment",
        "operationId": "UpdateDeploymentImageAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Details of the new image",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/image_update_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/image_update_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/image_update_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/image_update_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Deployment will be updated with the given new image.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/$initiateDelete": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Initiate delete deployment",
        "operationId": "InitiateDeleteDeploymentAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forceDelete",
            "in": "query",
            "description": "Force delete deployment",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Deployment AD credentials",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_initiateDelete_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_initiateDelete_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_initiateDelete_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_initiateDelete_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Deployment will be removed at the completion of the processing task.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "204": {
            "description": "Deployment has been removed."
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/$addMachines": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Adds machine to deployment",
        "operationId": "AddMachineAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Configuration of machine",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_addMachines_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_addMachines_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_addMachines_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_addMachines_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/machines/{machineId}/$update": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Updates machine in deployment",
        "operationId": "UpdateMachineAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "machineId",
            "in": "path",
            "description": "ID of the machine",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Configuration of machine",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_update_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_update_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_update_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_update_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/machines/{machineId}": {
      "delete": {
        "tags": [
          "Deployment"
        ],
        "summary": "Removes machine to deployment",
        "operationId": "RemoveMachineAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "machineId",
            "in": "path",
            "description": "ID of the machine",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forceDelete",
            "in": "query",
            "description": "Force delete machine",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/machines/$delete": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Removes machines from deployment",
        "operationId": "RemoveMachinesAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forceDelete",
            "in": "query",
            "description": "Force delete machines",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Configuration object specifying which machines to delete",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/machines_delete_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/machines_delete_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/machines_delete_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/machines_delete_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/machines/{machineId}/$initiateDelete": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Initiate removal of machine from deployment",
        "operationId": "InitiateRemoveMachineAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "machineId",
            "in": "path",
            "description": "ID of the machine",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forceDelete",
            "in": "query",
            "description": "Force delete machine",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Active Directory credentials for the machine",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_initiateDelete_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_initiateDelete_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_initiateDelete_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_initiateDelete_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/machines/{machineId}/$restart": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Restart a machine",
        "operationId": "RestartMachineAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "machineId",
            "in": "path",
            "description": "ID of the machine",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Indicates that a restart operation has been requested"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/$update": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Updates deployment properties",
        "operationId": "UpdateDeploymentPropertiesAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Deployment properties configuration",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_update_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_update_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_update_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_update_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/machines/{machineId}/$saveAsImage": {
      "post": {
        "tags": [
          "Deployment"
        ],
        "summary": "Save image to account",
        "operationId": "SaveAsImageAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "machineId",
            "in": "path",
            "description": "ID of the image builder machine",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "configurations of the new image",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_saveAsImage_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_saveAsImage_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_saveAsImage_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/machineId_saveAsImage_body"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeploymentTask"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/deployments/{deploymentId}/machines": {
      "patch": {
        "tags": [
          "Deployment"
        ],
        "summary": "Turn on or off the deployment mode for deployment machines",
        "operationId": "PatchMachinesAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentId",
            "in": "path",
            "description": "ID of the deployment",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Machines to be modified to turn on or off maintenance mode",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_machines_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_machines_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_machines_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/deploymentId_machines_body"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/images": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "Gets images from workspace",
        "operationId": "GetImagesAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Images"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/images/{imageId}": {
      "get": {
        "tags": [
          "Image"
        ],
        "summary": "Gets image from workspace",
        "operationId": "GetImageAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "imageId",
            "in": "path",
            "description": "Id of image",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200_4"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      },
      "delete": {
        "tags": [
          "Image"
        ],
        "summary": "Removes image to workspace",
        "operationId": "RemoveImageAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of hypervisor",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "imageId",
            "in": "path",
            "description": "ID of image",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "forceDelete",
            "in": "query",
            "description": "Force delete an image",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/images/{imageId}/$copy": {
      "post": {
        "tags": [
          "Image"
        ],
        "summary": "Makes a copy of a workspace image",
        "operationId": "CopyImageAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of the account",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "imageId",
            "in": "path",
            "description": "ID of the image",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "imageName",
            "in": "query",
            "description": "Optional new image name",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200_4"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/accounts/{accountId}/images/$import": {
      "post": {
        "tags": [
          "Image"
        ],
        "summary": "Imports image to workspace",
        "operationId": "ImportImageAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountId",
            "in": "path",
            "description": "ID of hypervisor",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Import image configuration",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/images_import_body"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/images_import_body"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/images_import_body"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/images_import_body"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/inline_response_200_4"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    },
    "/{customerId}/tasks/{taskId}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get the status of a task",
        "operationId": "GetTaskAsync",
        "parameters": [
          {
            "name": "customerId",
            "in": "path",
            "description": "ID of the customer",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "taskId",
            "in": "path",
            "description": "ID of the task",
            "required": true,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Citrix-TransactionId",
            "in": "header",
            "description": "The Transaction Id.",
            "required": false,
            "style": "simple",
            "explode": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Base class for Tasks",
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/TaskBase"
                    },
                    {
                      "$ref": "#/components/schemas/AccountTask"
                    },
                    {
                      "$ref": "#/components/schemas/DeploymentTask"
                    },
                    {
                      "$ref": "#/components/schemas/CommissionTask"
                    },
                    {
                      "$ref": "#/components/schemas/ResourceConnectionTask"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "403": {
            "$ref": "#/components/responses/ForbiddenResponse"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Account": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of cloud provider the account is associated with.",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "accountId": {
            "type": "string",
            "description": "ID of the account",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Name of the account",
            "nullable": true
          },
          "accountState": {
            "description": "State of the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountState"
              }
            ]
          },
          "associatedDeployments": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AssociatedDeployment"
            }
          },
          "associatedResourceConnections": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AssociatedResourceConnection"
            }
          },
          "associatedImages": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AssociatedImage"
            }
          },
          "citrixManaged": {
            "type": "boolean",
            "description": "Indicates whether the account is Citrix managed"
          },
          "errorMessage": {
            "type": "string",
            "description": "The error message for account",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "description": "Warnings and errors associated with the account",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AccountWarning"
            }
          }
        },
        "additionalProperties": false,
        "description": "Account",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AwsEdcAccount"
          }
        }
      },
      "AccountResource": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of account the resource is associated with",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "accountId": {
            "type": "string",
            "description": "Account Id",
            "nullable": true
          },
          "resourceId": {
            "type": "string",
            "description": "Resource Id",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Base class for a resource associated with an account",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AwsEdcAccountResource"
          }
        }
      },
      "AccountResources": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "Enumerable of account resource",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AwsEdcAccountResource"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "Enumerable of account resource"
      },
      "AccountState": {
        "type": "string",
        "description": "State of the account",
        "enum": [
          "AUTHENTICATED",
          "PENDING",
          "ERROR",
          "UNKNOWN"
        ]
      },
      "AccountTask": {
        "required": [
          "operation"
        ],
        "type": "object",
        "properties": {
          "operation": {
            "description": "Task Type",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountTaskOperationType"
              }
            ]
          },
          "accountId": {
            "type": "string",
            "description": "Account Id this task is working on",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Enumerable of AccountTask",
        "discriminator": {
          "propertyName": "operation",
          "mapping": {
            "ACCOUNT": "#/components/schemas/AccountTask",
            "AWS_BYOL_REGISTRATION": "#/components/schemas/AwsEdcAccountByolRegistrationTask"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskBase"
          }
        ]
      },
      "AccountTaskOperationType": {
        "type": "string",
        "description": "Resource connection tasks",
        "enum": [
          "AWS_BYOL_REGISTRATION",
          "DELETE_CONNECTOR"
        ]
      },
      "AccountType": {
        "type": "string",
        "enum": [
          "AWSEDC"
        ]
      },
      "AccountWarning": {
        "type": "object",
        "properties": {
          "warning": {
            "type": "string",
            "description": "The warning message",
            "nullable": true
          },
          "isError": {
            "type": "boolean",
            "description": "Indicates if the warning should be treated as an error"
          },
          "isDismissible": {
            "type": "boolean",
            "description": "Indicates if the warning message can be cleared out by the user"
          }
        },
        "additionalProperties": false
      },
      "Accounts": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "Enumerable of Account",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AwsEdcAccount"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "Enumerable of Account"
      },
      "ActiveConnection": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "description": "AAD TenantId to connect/disconnect",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ActiveTenantUserLicenses": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "description": "AAD Tenant of which the licensed users are part of",
            "nullable": true
          },
          "licensedUsers": {
            "type": "array",
            "description": "User IDs of users with active licenses for which we want to revoke HDX License",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "AddAccount": {
        "required": [
          "accountType",
          "name"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the account to create"
          }
        },
        "additionalProperties": false,
        "description": "Adds account",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AddAwsEdcAccount"
          }
        }
      },
      "AddAwsEdcAccount": {
        "type": "object",
        "properties": {
          "awsAccessKeyId": {
            "maxLength": 128,
            "minLength": 16,
            "pattern": "^[\\w]+$",
            "type": "string",
            "description": "The ID of Access Key associated with the account",
            "nullable": true
          },
          "awsSecretAccessKey": {
            "type": "string",
            "description": "The secret associated with access key for the account",
            "nullable": true
          },
          "awsRegion": {
            "minLength": 1,
            "type": "string",
            "description": "The AWS region the account is associated with"
          },
          "awsRoleArn": {
            "maxLength": 2048,
            "minLength": 20,
            "pattern": "^arn:aws(-us-gov)?:iam::[0-9]{12}:role\\/[a-zA-Z0-9+=,.@\\-_]{1,64}$",
            "type": "string",
            "description": "The ARN of the role to assume when making requests in this account",
            "nullable": true
          },
          "awsExternalId": {
            "type": "string",
            "description": "The ARN external ID to use when assuming the role",
            "nullable": true
          },
          "awsByolFeatureEnabled": {
            "type": "boolean",
            "description": "Indicates if the associated AWS EDC account has BYOL support is enabled\\r\\nBy default we expect customer to use BYOL configuration to be enabled at this moment",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AddAccount"
          }
        ]
      },
      "AddAwsEdcDeploymentMachines": {
        "type": "object",
        "properties": {
          "workspaces": {
            "type": "array",
            "description": "Configuration for individual workspace",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AddAwsEdcWorkspace"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AddDeploymentMachines"
          }
        ]
      },
      "AddAwsEdcDirectoryConnection": {
        "type": "object",
        "properties": {
          "directoryId": {
            "type": "string",
            "description": "Directory Id",
            "nullable": true
          },
          "subnet1Id": {
            "type": "string",
            "description": "First Subnet Id",
            "nullable": true
          },
          "subnet2Id": {
            "type": "string",
            "description": "Second Subnet Id",
            "nullable": true
          },
          "tenancy": {
            "description": "Tenancy of directory\r\nEnum values SHARED, DEDICATED",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Tenancy"
              }
            ]
          },
          "enableWorkDocs": {
            "type": "boolean",
            "description": "Enable Work Docs"
          },
          "userEnabledAsLocalAdministrator": {
            "type": "boolean",
            "description": "Enable Local Administrator"
          },
          "securityGroupId": {
            "type": "string",
            "description": "The identifier of the security group",
            "nullable": true
          },
          "defaultOu": {
            "type": "string",
            "description": "The default OU for workspace directories",
            "nullable": true
          },
          "enableMaintenanceMode": {
            "type": "boolean",
            "description": "Indicates if maintenance mode is enabled for workspaces"
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AddResourceConnection"
          }
        ]
      },
      "AddAwsEdcWorkspace": {
        "type": "object",
        "properties": {
          "username": {
            "type": "string",
            "description": "Username associated with workspace",
            "nullable": true
          },
          "rootVolumeSize": {
            "type": "integer",
            "description": "Size of operating system volume",
            "format": "int32"
          },
          "userVolumeSize": {
            "type": "integer",
            "description": "Size of user storage volume",
            "format": "int32"
          },
          "runningMode": {
            "description": "Running mode of this workspace",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceRunningMode"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Configuration for individual workspace"
      },
      "AddDeploymentMachines": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Adds machines to deployment",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AddAwsEdcDeploymentMachines"
          }
        }
      },
      "AddResourceConnection": {
        "required": [
          "accountType",
          "name"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the resource connection to create"
          },
          "zoneId": {
            "type": "string",
            "description": "Zone id",
            "nullable": true
          },
          "resourceLocationId": {
            "type": "string",
            "description": "The ID of the CC resource location\r\nIgnored if ZoneId is specified",
            "nullable": true
          },
          "connectionId": {
            "type": "string",
            "description": "The ID of the resource connection to be added",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Adds resource connection",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AddAwsEdcDirectoryConnection"
          }
        }
      },
      "AllocationType": {
        "type": "string",
        "description": "Machine allocation type, indicating how machines are allocated to users.",
        "enum": [
          "Unknown",
          "Static",
          "Random"
        ]
      },
      "AssociatedDeployment": {
        "type": "object",
        "properties": {
          "deploymentId": {
            "type": "string",
            "description": "Deployment Id",
            "nullable": true
          },
          "deploymentName": {
            "type": "string",
            "description": "Deployment Name",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AssociatedImage": {
        "type": "object",
        "properties": {
          "imageId": {
            "type": "string",
            "description": "Image Id",
            "nullable": true
          },
          "imageName": {
            "type": "string",
            "description": "Image Name",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AssociatedResourceConnection": {
        "type": "object",
        "properties": {
          "resourceConnectionId": {
            "type": "string",
            "description": "Resource Connection Id",
            "nullable": true
          },
          "resourceConnectionName": {
            "type": "string",
            "description": "Resource Connection Name",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "AwsAccountResourceType": {
        "type": "string",
        "description": "Types of resources that can be located from an AWS account",
        "enum": [
          "AWS_DIRECTORY",
          "AWS_VPC",
          "AWS_SUBNET",
          "AWS_SECGROUP",
          "AWS_CIDRRANGE",
          "AWS_AMI",
          "AWS_REGIONS",
          "AWS_BYOL_REGISTRATION",
          "AWS_CITRIXIAMUSER",
          "AWS_CLOUDFORMATION",
          "AWS_EC2_INSTANCE_TYPE",
          "AWS_EC2_KEY_PAIR"
        ]
      },
      "AwsEdcAccount": {
        "type": "object",
        "properties": {
          "byolAccount": {
            "type": "boolean",
            "description": "Indicates if the associated AWS EDC account has BYOL support enabled"
          },
          "byolCidrRange": {
            "type": "string",
            "description": "The CIDR range that is associated with this account",
            "nullable": true
          },
          "awsAccount": {
            "type": "string",
            "description": "ID of the AWS Account",
            "nullable": true
          },
          "awsRegion": {
            "type": "string",
            "description": "The AWS region the account is associated with",
            "nullable": true
          },
          "awsEdcMissingRolePermissions": {
            "type": "array",
            "description": "Indicates the list of missing permissions in the role associated with the account",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AwsEdcMissingRolePermissions"
            }
          },
          "awsByolFeatureEnabled": {
            "type": "boolean",
            "description": "Indicates if the associated AWS EDC account has BYOL feature is enabled",
            "nullable": true
          },
          "awsAuthType": {
            "description": "Discribes what method of authentication is used for the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcAccountAuthType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/Account"
          }
        ]
      },
      "AwsEdcAccountAuthType": {
        "enum": [
          "ASSUME_ROLE",
          "ACCESS_KEY"
        ],
        "type": "string"
      },
      "AwsEdcAccountByolRegistrationTask": {
        "type": "object",
        "properties": {
          "dedicatedTenancyManagementCidrRange": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "dedicatedTenancySupportEnabled": {
            "type": "boolean",
            "description": "",
            "nullable": true
          },
          "modificationState": {
            "description": "",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcDedicatedTenancyState"
              }
            ]
          },
          "errorCode": {
            "type": "string",
            "description": "",
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "description": "",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Task status for a Aws BYOL Registration task",
        "allOf": [
          {
            "$ref": "#/components/schemas/AccountTask"
          }
        ]
      },
      "AwsEdcAccountResource": {
        "required": [
          "resourceType"
        ],
        "type": "object",
        "properties": {
          "resourceType": {
            "description": "AWS Resource type",
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsAccountResourceType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "discriminator": {
          "propertyName": "resourceType",
          "mapping": {
            "AWS_CIDRRANGE": "#/components/schemas/AwsEdcAccountResourceCidrRange",
            "AWS_BYOL_REGISTRATION": "#/components/schemas/AwsEdcAccountResourceByolRegistration",
            "AWS_AMI": "#/components/schemas/AwsEdcAccountResourceAmiImage",
            "AWS_DIRECTORY": "#/components/schemas/AwsEdcAccountResourceDirectory",
            "AWS_VPC": "#/components/schemas/AwsEdcAccountResourceVpc",
            "AWS_SUBNET": "#/components/schemas/AwsEdcAccountResourceSubnet",
            "AWS_REGIONS": "#/components/schemas/AwsEdcAccountResourceRegion",
            "AWS_SECGROUP": "#/components/schemas/AwsEdcAccountResourceSecurityGroup",
            "AWS_CLOUDFORMATION": "#/components/schemas/AwsEdcAccountResourceFile",
            "AWS_EC2_INSTANCE_TYPE": "#/components/schemas/AwsEdcAccountResourceEc2InstanceType",
            "AWS_EC2_KEY_PAIR": "#/components/schemas/AwsEdcAccountResourceKeyPair"
          }
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/AccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceAmiImage": {
        "type": "object",
        "properties": {
          "imageId": {
            "type": "string",
            "description": "Image Id",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Image Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Image Description",
            "nullable": true
          },
          "status": {
            "description": "Image Status\r\nEnum values AVAILABLE, DEREGISTERED, ERROR, FAILED, INVALID, PENDING, TRANSIENT",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcAmiImageStatus"
              }
            ]
          },
          "location": {
            "type": "string",
            "description": "Image Location",
            "nullable": true
          },
          "imageType": {
            "description": "Image Type\r\nEnum values KERNEL, MACHINE, RAMDISK",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcAmiImageType"
              }
            ]
          },
          "platformType": {
            "description": "Vpc CIDR Block\r\nEnum values WINDOWS",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcAmiImagePlatform"
              }
            ]
          },
          "bootMode": {
            "description": "Image Boot Type\r\nEnum values LEGACYBIOS, UEFI",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcAmiImageBootMode"
              }
            ]
          },
          "architectureType": {
            "description": "Image Architecture\r\nEnum values ARM64, I386, X86_64",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcAmiImageArchitecture"
              }
            ]
          },
          "virtualizationType": {
            "description": "Image Virtualization\r\nEnum values HVM, PARAVIRTUAL",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcAmiImageVirtualization"
              }
            ]
          },
          "public": {
            "type": "boolean",
            "description": "Image IsPublic",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "description": "Image Tags",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceByolRegistration": {
        "type": "object",
        "properties": {
          "dedicatedTenancySupportEnabled": {
            "type": "boolean",
            "description": "Specifies if dedicated tenancy support is enabled"
          },
          "dedicatedTenancyManagementCidrRange": {
            "type": "string",
            "description": "The CIDR range used in dedicated tenancy",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceCidrRange": {
        "type": "object",
        "properties": {
          "baseCidrRange": {
            "type": "string",
            "description": "Base Cidr Range",
            "nullable": true
          },
          "derivedCidrRanges": {
            "type": "array",
            "description": "Derived Cidr Ranges",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceDirectory": {
        "type": "object",
        "properties": {
          "directoryId": {
            "type": "string",
            "description": "Directory ID",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Directory Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Directory Description",
            "nullable": true
          },
          "domain": {
            "type": "string",
            "description": "Directory Domain",
            "nullable": true
          },
          "defaultOU": {
            "type": "string",
            "description": "Directory Organizational Unit",
            "nullable": true
          },
          "type": {
            "description": "Directory Type\r\nEnum values ADCONNECTOR, MICROSOFTAD, SIMPLEAD, SHAREDMICROSOFTAD",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcDirectoryType"
              }
            ]
          },
          "size": {
            "description": "Directory Size\r\nEnum values SMALL, LARGE",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcDirectorySize"
              }
            ]
          },
          "status": {
            "description": "Directory State\r\nEnum values ACTIVE, CREATED, CREATING, DELETED, DELETING, FAILED, IMPARED, INOPERABLE, REQUESTED, RESTOREFAILED, RESTORING",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcDirectoryStatus"
              }
            ]
          },
          "registrationStatus": {
            "description": "Directory Registration State\r\nEnum values REGISTERED, REGISTERING, DEREGISTERED, DEREGISTERING, ERROR",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcDirectoryRegistrationStatus"
              }
            ]
          },
          "tenancy": {
            "description": "Directory Registration Tenancy\r\nEnum values SHARED, DEDICATED",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcDirectoryTenancy"
              }
            ]
          },
          "vpcId": {
            "type": "string",
            "description": "Directory associated VPC",
            "nullable": true
          },
          "securityGroupId": {
            "type": "string",
            "description": "Directory associated Security Group",
            "nullable": true
          },
          "subnetIds": {
            "type": "array",
            "description": "Directory associated Subnets",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceEc2InstanceType": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "vCpus": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "memoryInMB": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "isDefault": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceFile": {
        "type": "object",
        "properties": {
          "fileContent": {
            "type": "string",
            "description": "The file data as an array of bytes",
            "format": "byte",
            "nullable": true
          },
          "fileName": {
            "type": "string",
            "description": "Suggested file name",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "description": "The type of content in the file",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a resource associated with an account that can be saved as a file",
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceKeyPair": {
        "type": "object",
        "properties": {
          "keyName": {
            "type": "string",
            "description": "Name of Key Pari",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "description": "Vpc Tags",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceRegion": {
        "type": "object",
        "properties": {
          "regionNames": {
            "type": "array",
            "description": "The names of the regions",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "type": "array",
            "description": "The list of regions including their names, codes and supported az ids",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AwsWorkspaceRegion"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceSecurityGroup": {
        "type": "object",
        "properties": {
          "securityGroupId": {
            "type": "string",
            "description": "Security Group Id",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Security Group Name",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Security Group Description",
            "nullable": true
          },
          "vpcId": {
            "type": "string",
            "description": "Security Group VpcId",
            "nullable": true
          },
          "inboundPermissions": {
            "type": "array",
            "description": "Security Group Inbound Permissions",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IpPermission"
            }
          },
          "outboundPermissions": {
            "type": "array",
            "description": "Security Group Outbound Permissions",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IpPermission"
            }
          },
          "tags": {
            "type": "array",
            "description": "Security Group Tags",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceSubnet": {
        "type": "object",
        "properties": {
          "subnetId": {
            "type": "string",
            "description": "Subnet Id",
            "nullable": true
          },
          "status": {
            "description": "Subnet Status\r\nEnum values AVAILABLE, PENDING",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcSubnetStatus"
              }
            ]
          },
          "subnetArn": {
            "type": "string",
            "description": "Subnet Status",
            "nullable": true
          },
          "cidrBlock": {
            "type": "string",
            "description": "Subnet CIDR Block",
            "nullable": true
          },
          "vpcId": {
            "type": "string",
            "description": "Subnet Vpc Id",
            "nullable": true
          },
          "awsRegion": {
            "type": "string",
            "description": "The AWS region where the subnet is located",
            "nullable": true
          },
          "availabilityZoneId": {
            "type": "string",
            "description": "Subnet Availability Zone Id",
            "nullable": true
          },
          "availabilityZone": {
            "type": "string",
            "description": "Subnet Availability Zone",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "description": "Subnet Tags",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          },
          "name": {
            "type": "string",
            "description": "The name of the subnet",
            "nullable": true,
            "readOnly": true
          },
          "isSupportedByAwsManagedCapacity": {
            "type": "boolean",
            "description": "Indicates if the subnet can be used for Managed Capacity deployments",
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAccountResourceVpc": {
        "type": "object",
        "properties": {
          "vpcId": {
            "type": "string",
            "description": "Vpc Id",
            "nullable": true
          },
          "status": {
            "description": "Vpc Status\r\nEnum values AVAILABLE, PENDING",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcVpcState"
              }
            ]
          },
          "vpcTenancy": {
            "description": "Vpc Tenancy\r\nEnum values DEFAULT, DEDICATED, HOST",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcVpcTenancy"
              }
            ]
          },
          "cidrBlock": {
            "type": "string",
            "description": "Vpc CIDR Block",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "description": "Vpc Tags",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Tag"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/AwsEdcAccountResource"
          }
        ]
      },
      "AwsEdcAmiImageArchitecture": {
        "type": "string",
        "enum": [
          "ARM64",
          "I386",
          "X86_64"
        ]
      },
      "AwsEdcAmiImageBootMode": {
        "type": "string",
        "enum": [
          "LEGACYBIOS",
          "UEFI"
        ]
      },
      "AwsEdcAmiImagePlatform": {
        "type": "string",
        "enum": [
          "WINDOWS",
          "LINUX"
        ]
      },
      "AwsEdcAmiImageStatus": {
        "type": "string",
        "enum": [
          "AVAILABLE",
          "DEREGISTERED",
          "ERROR",
          "FAILED",
          "INVALID",
          "PENDING",
          "TRANSIENT"
        ]
      },
      "AwsEdcAmiImageType": {
        "type": "string",
        "enum": [
          "KERNEL",
          "MACHINE",
          "RAMDISK"
        ]
      },
      "AwsEdcAmiImageVirtualization": {
        "type": "string",
        "enum": [
          "HVM",
          "PARAVIRTUAL"
        ]
      },
      "AwsEdcAmiImportApplications": {
        "type": "string",
        "description": "Applications that can be installed on imported image",
        "enum": [
          "Microsoft_Office_2019",
          "None"
        ]
      },
      "AwsEdcDedicatedTenancyState": {
        "type": "string",
        "enum": [
          "DISABLED",
          "PENDING",
          "FAILED",
          "COMPLETED"
        ]
      },
      "AwsEdcDeployment": {
        "type": "object",
        "properties": {
          "computeType": {
            "description": "Performance size for bundle creation",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceCompute"
              }
            ]
          },
          "rootVolumeSize": {
            "type": "integer",
            "description": "Size of operating system volume for bundle creation",
            "format": "int32",
            "nullable": true
          },
          "userVolumeSize": {
            "type": "integer",
            "description": "Size of user storage volume for bundle creation",
            "format": "int32",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "description": "Image Id",
            "nullable": true
          },
          "imageName": {
            "type": "string",
            "description": "Image Name",
            "nullable": true
          },
          "runningMode": {
            "description": "Running mode to apply to all workspaces",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceRunningMode"
              }
            ]
          },
          "workspaces": {
            "type": "array",
            "description": "Configuration for individual workspace",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AwsEdcDeploymentMachine"
            }
          },
          "directoryName": {
            "type": "string",
            "description": "The name of the directory associated with the deployment",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/Deployment"
          }
        ]
      },
      "AwsEdcDeploymentMachine": {
        "type": "object",
        "properties": {
          "workspaceId": {
            "type": "string",
            "description": "Workspace Id",
            "nullable": true
          },
          "username": {
            "type": "string",
            "description": "Username associated with workspace",
            "nullable": true
          },
          "rootVolumeSize": {
            "type": "integer",
            "description": "Size of operating system volume",
            "format": "int32",
            "nullable": true
          },
          "userVolumeSize": {
            "type": "integer",
            "description": "Size of user storage volume",
            "format": "int32",
            "nullable": true
          },
          "rootVolumeEncrypted": {
            "type": "boolean",
            "description": "Is operating system volume encrypted"
          },
          "userVolumeEncrypted": {
            "type": "boolean",
            "description": "Is user storage volume encrypted"
          },
          "computeType": {
            "description": "Compute size",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceCompute"
              }
            ]
          },
          "runningMode": {
            "description": "Running mode",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceRunningMode"
              }
            ]
          },
          "workspaceStatus": {
            "description": "Status of workspace\r\nEnum values PENDING, AVAILABLE, ADMIN_MAINTANCE, ERROR, STOPPED, STOPPING, SUSPENDED, TERMINATED, TERMINATING, STARTING, REBOOTING, MAINTENANCE, IMPARED, UNHEALTHY, UPDATING",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceState"
              }
            ]
          },
          "errorMessage": {
            "type": "string",
            "description": "Error Message",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Configuration for individual workspace",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeploymentMachine"
          }
        ]
      },
      "AwsEdcDirectoryConnection": {
        "type": "object",
        "properties": {
          "directoryId": {
            "type": "string",
            "description": "Directory Id",
            "nullable": true
          },
          "registrationStatus": {
            "description": "Registration status of the directory",
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcDirectoryRegistrationStatus"
              }
            ]
          },
          "directoryName": {
            "type": "string",
            "description": "Directory Name",
            "nullable": true
          },
          "vpcId": {
            "type": "string",
            "description": "Directory Vpc",
            "nullable": true
          },
          "subnet1Id": {
            "type": "string",
            "description": "First Subnet Id",
            "nullable": true
          },
          "subnet2Id": {
            "type": "string",
            "description": "Second Subnet Id",
            "nullable": true
          },
          "tenancy": {
            "description": "Tenancy of directory\r\nEnum values SHARED, DEDICATED",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcDirectoryTenancy"
              }
            ]
          },
          "enableWorkDocs": {
            "type": "boolean",
            "description": "Enable Work Docs",
            "nullable": true
          },
          "userEnabledAsLocalAdministrator": {
            "type": "boolean",
            "description": "Enable Local Administrator",
            "nullable": true
          },
          "enableInternetAccess": {
            "type": "boolean",
            "description": "Enable Internet Access",
            "nullable": true
          },
          "enableMaintananceMode": {
            "type": "boolean",
            "description": "Enable Maintanance Mode",
            "nullable": true
          },
          "securityGroupId": {
            "type": "string",
            "description": "Custom Security Group Id",
            "nullable": true
          },
          "defaultOU": {
            "type": "string",
            "description": "Custom Organizational Unit",
            "nullable": true
          },
          "errorMessage": {
            "type": "string",
            "description": "Any error message",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/ResourceConnection"
          }
        ]
      },
      "AwsEdcDirectoryRegistrationStatus": {
        "type": "string",
        "enum": [
          "REGISTERED",
          "REGISTERING",
          "DEREGISTERED",
          "DEREGISTERING",
          "ERROR"
        ]
      },
      "AwsEdcDirectorySize": {
        "type": "string",
        "enum": [
          "SMALL",
          "LARGE"
        ]
      },
      "AwsEdcDirectoryStatus": {
        "type": "string",
        "enum": [
          "ACTIVE",
          "CREATED",
          "CREATING",
          "DELETED",
          "DELETING",
          "FAILED",
          "IMPARED",
          "INOPERABLE",
          "REQUESTED",
          "RESTOREFAILED",
          "RESTORING"
        ]
      },
      "AwsEdcDirectoryTenancy": {
        "type": "string",
        "enum": [
          "SHARED",
          "DEDICATED"
        ]
      },
      "AwsEdcDirectoryType": {
        "type": "string",
        "enum": [
          "ADCONNECTOR",
          "AD_CONNECTOR",
          "SIMPLEAD",
          "SIMPLE_AD",
          "MICROSOFTAD",
          "SHAREDMICROSOFTAD"
        ]
      },
      "AwsEdcImage": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Provides additional status on image like  error message",
            "nullable": true
          },
          "ingestionProcess": {
            "description": "Ingestion Process used during image import",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceImageIngestionProcess"
              }
            ]
          },
          "workspaceImageTenancy": {
            "description": "Tenancy of the image\r\nEnum values DEDICATED, DEFAULT",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceImageTenancy"
              }
            ]
          },
          "workspaceImageState": {
            "description": "State of the image\r\nEnum values AVAILABLE, ERROR, PENDING",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceImageState"
              }
            ]
          },
          "applicationList": {
            "type": "array",
            "description": "The list of installed applications",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AwsEdcAmiImportApplications"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/Image"
          }
        ]
      },
      "AwsEdcMissingRolePermissions": {
        "type": "object",
        "properties": {
          "effect": {
            "type": "string",
            "description": "Determines whether the permissions are Allowed or Denied",
            "nullable": true
          },
          "action": {
            "type": "array",
            "description": "List of permissions",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "resource": {
            "type": "string",
            "description": "Target resources for the permissions",
            "nullable": true
          },
          "condition": {
            "description": "Condition statements",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ConditionalExpression"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "AwsEdcRegisterAccount": {
        "type": "object",
        "properties": {
          "cidrRange": {
            "type": "string",
            "description": "Cidr range used for registration",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/RegisterAccount"
          }
        ]
      },
      "AwsEdcSubnetStatus": {
        "type": "string",
        "enum": [
          "AVAILABLE",
          "PENDING"
        ]
      },
      "AwsEdcVpcState": {
        "type": "string",
        "description": "Amazon.EC2.VpcState",
        "enum": [
          "AVAILABLE",
          "PENDING"
        ]
      },
      "AwsEdcVpcTenancy": {
        "type": "string",
        "enum": [
          "DEDICATED",
          "DEFAULT",
          "HOST"
        ]
      },
      "AwsEdcWorkspaceCompute": {
        "type": "string",
        "enum": [
          "GRAPHICS",
          "GRAPHICSPRO",
          "GRAPHICS_G4DN",
          "GRAPHICSPRO_G4DN",
          "PERFORMANCE",
          "POWER",
          "POWERPRO",
          "STANDARD",
          "VALUE"
        ]
      },
      "AwsEdcWorkspaceImageIngestionProcess": {
        "type": "string",
        "enum": [
          "BYOL_REGULAR_BYOP",
          "BYOL_GRAPHICS_G4DN_BYOP"
        ]
      },
      "AwsEdcWorkspaceImageState": {
        "type": "string",
        "enum": [
          "AVAILABLE",
          "ERROR",
          "PENDING",
          "ERROR_INVALID_ACCOUNT"
        ]
      },
      "AwsEdcWorkspaceImageTenancy": {
        "type": "string",
        "enum": [
          "DEDICATED",
          "DEFAULT"
        ]
      },
      "AwsEdcWorkspaceRunningMode": {
        "type": "string",
        "enum": [
          "ALWAYS_ON",
          "AUTO_STOP",
          "MANUAL"
        ]
      },
      "AwsEdcWorkspaceState": {
        "type": "string",
        "enum": [
          "PENDING",
          "AVAILABLE",
          "ADMIN_MAINTANCE",
          "ERROR",
          "STOPPED",
          "STOPPING",
          "SUSPENDED",
          "TERMINATED",
          "TERMINATING",
          "STARTING",
          "REBOOTING",
          "MAINTENANCE",
          "IMPARED",
          "UNHEALTHY",
          "UPDATING"
        ]
      },
      "AwsWorkspaceRegion": {
        "type": "object",
        "properties": {
          "regionCode": {
            "type": "string",
            "description": "The code of the region",
            "nullable": true
          },
          "regionName": {
            "type": "string",
            "description": "The name of the region",
            "nullable": true
          },
          "supportedAzIds": {
            "type": "string",
            "description": "The availability zone Ids supported by the region",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommissionTask": {
        "type": "object",
        "properties": {
          "operation": {
            "description": "Task Type",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/CommissionTaskOperationType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskBase"
          }
        ]
      },
      "CommissionTaskOperationType": {
        "type": "string",
        "description": "Commission tasks",
        "enum": [
          "DECOMMISSION",
          "DELETE",
          "RECOMMISSION",
          "POWER_RESOURCES"
        ]
      },
      "Compute": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "ConditionalExpression": {
        "type": "object",
        "properties": {
          "stringEquals": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Expression"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "Connection": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "description": "AAD TenantId to connect/disconnect",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConnectionState": {
        "type": "string",
        "enum": [
          "PENDING",
          "ACTIVE",
          "DELETING",
          "PROVISIONING_CONNECTORS",
          "ERROR",
          "ERROR_INVALID_ACCOUNT"
        ]
      },
      "ConsentMetadata": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string",
            "description": "Client/Application for MT AppRegistration for CloudPC Registration service\r\nThis is the app that we would get consent for",
            "nullable": true
          },
          "scope": {
            "type": "string",
            "description": "Scope for consent request\r\n.default would get consent for all permissions listed in AppRegistration APIPermissions section",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CoreUser": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "AAD User ID for which we want to assign/revoke license",
            "nullable": true
          },
          "userPrincipalName": {
            "type": "string",
            "description": "AAD UPN for provided User",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeleteMachines": {
        "required": [
          "accountType",
          "machineIds"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "machineIds": {
            "type": "array",
            "description": "The list of machine ids to be deleted",
            "items": {
              "type": "string"
            }
          },
          "credentials": {
            "description": "Optional domain credentials details",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeploymentCredentials"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Delete machines by id"
      },
      "Deployment": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "deploymentId": {
            "type": "string",
            "description": "Deployment Id",
            "nullable": true
          },
          "deploymentName": {
            "type": "string",
            "description": "Deployment Name",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "description": "Account Id",
            "nullable": true
          },
          "accountName": {
            "type": "string",
            "description": "Account name",
            "nullable": true
          },
          "connectionId": {
            "type": "string",
            "description": "Connection Id",
            "nullable": true
          },
          "connectionName": {
            "type": "string",
            "description": "Connection Name",
            "nullable": true
          },
          "deploymentState": {
            "description": "Deployment State",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeploymentState"
              }
            ]
          },
          "userCount": {
            "type": "integer",
            "description": "The number of users in this deployment",
            "format": "int32"
          },
          "errorMessage": {
            "type": "string",
            "description": "Error message associated with the deployment",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "description": "Warnings and errors associated with the deployment",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/DeploymentWarning"
            }
          },
          "activeTasks": {
            "type": "array",
            "description": "Tasks currently being performed on the deployment",
            "nullable": true,
            "items": {
              "description": "Base class for Tasks",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/TaskBase"
                },
                {
                  "$ref": "#/components/schemas/AccountTask"
                },
                {
                  "$ref": "#/components/schemas/DeploymentTask"
                },
                {
                  "$ref": "#/components/schemas/CommissionTask"
                },
                {
                  "$ref": "#/components/schemas/ResourceConnectionTask"
                }
              ]
            }
          },
          "brokerMachineCatalogId": {
            "type": "string",
            "description": "Id for the machine catalog of the deployment, could be null",
            "nullable": true
          },
          "brokerDeliveryGroupId": {
            "type": "string",
            "description": "Id for the delivery group of the deployment, could be null",
            "nullable": true
          },
          "citrixManaged": {
            "type": "boolean",
            "description": "Indicates whether the deployment is managed by Citrix",
            "nullable": true
          },
          "scaleSettings": {
            "description": "Power management scale settings",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ScaleSettings"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Deployment",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AwsEdcDeployment"
          }
        }
      },
      "DeploymentCredentials": {
        "type": "object",
        "properties": {
          "domainAdminUsername": {
            "type": "string",
            "description": "Domain admin username",
            "nullable": true
          },
          "domainAdminPassword": {
            "type": "string",
            "description": "Domain admin password",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Deployment AD credentials"
      },
      "DeploymentMachine": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "deploymentId": {
            "type": "string",
            "description": "Deployment Id",
            "nullable": true
          },
          "brokerMachineId": {
            "type": "string",
            "description": "MachineId on the Broker",
            "nullable": true
          },
          "taskType": {
            "description": "Task Type",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/TaskType"
              }
            ]
          },
          "taskId": {
            "type": "string",
            "description": "Task Id",
            "nullable": true
          },
          "connectionId": {
            "type": "string",
            "description": "Hosting Connection Id",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "description": "Image Id",
            "nullable": true
          },
          "machineId": {
            "type": "string",
            "description": "Machine Id",
            "nullable": true
          },
          "machineName": {
            "type": "string",
            "description": "Name of the machine",
            "nullable": true
          },
          "registrationState": {
            "description": "Registration state of the machine",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/RegistrationState"
              }
            ]
          },
          "sessionState": {
            "description": "State of active session on machine",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionState"
              }
            ]
          },
          "sessionCount": {
            "type": "integer",
            "description": "Count of active session on machine",
            "format": "int32",
            "nullable": true
          },
          "maintenanceMode": {
            "type": "boolean",
            "description": "Indicates if the machine is in Maintenance Mode",
            "nullable": true
          },
          "associatedUsers": {
            "type": "array",
            "description": "List of users that are associated with the machine",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "brokerMachineCatalogId": {
            "type": "string",
            "description": "Id for the machine catalog of the machine, could be null if machine not in machine catalog",
            "nullable": true
          },
          "brokerDeliveryGroupId": {
            "type": "string",
            "description": "Id for the delivery group of the machine, could be null if machine not in delivery group",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Deployment",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AwsEdcDeploymentMachine"
          }
        }
      },
      "DeploymentMachines": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "Enumerable of HostingUnit",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AwsEdcDeploymentMachine"
                }
              ]
            }
          }
        },
        "additionalProperties": false
      },
      "DeploymentState": {
        "type": "string",
        "enum": [
          "PENDING",
          "ACTIVE",
          "UPDATING",
          "DELETING",
          "ERROR",
          "DELETED",
          "ERROR_INVALID_ACCOUNT",
          "SYNCING_MACHINES"
        ]
      },
      "DeploymentTask": {
        "type": "object",
        "properties": {
          "operation": {
            "description": "Task Type",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/DeploymentTaskOperationType"
              }
            ]
          },
          "deploymentId": {
            "type": "string",
            "description": "Deployment Id this task is working on",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Deployment Task Configuration",
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskBase"
          }
        ]
      },
      "DeploymentTaskOperationType": {
        "type": "string",
        "description": "Deployment tasks",
        "enum": [
          "CREATE_DEPLOYMENT",
          "ADD_MACHINES",
          "REMOVE_MACHINES",
          "UPDATE_MACHINES",
          "UPDATE_IMAGE",
          "UPDATE_DEPLOYMENT_PROPERTIES",
          "DELETE_DEPLOYMENT",
          "UPDATE_DEPLOYMENT_IMAGE",
          "SAVE_AS_IMAGE",
          "SYNC_MACHINES"
        ]
      },
      "DeploymentUsers": {
        "type": "object",
        "properties": {
          "usernames": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "DeploymentWarning": {
        "type": "object",
        "properties": {
          "warningType": {
            "description": "Type of deployment warning",
            "allOf": [
              {
                "$ref": "#/components/schemas/DeploymentWarningType"
              }
            ]
          },
          "id": {
            "type": "string",
            "description": "Id of the warning",
            "nullable": true
          },
          "warning": {
            "type": "string",
            "description": "The warning message",
            "nullable": true
          },
          "taskId": {
            "type": "string",
            "description": "ID of the task the warning was created by",
            "nullable": true
          },
          "isError": {
            "type": "boolean",
            "description": "Indicates if the warning should be treated as an error"
          },
          "isDismissible": {
            "type": "boolean",
            "description": "Indicates if the warning message can be cleared out by the user"
          },
          "transactionId": {
            "type": "string",
            "description": "ID of the transaction the warning was created by",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A warning or error that is associated with the deployment"
      },
      "DeploymentWarningType": {
        "type": "string",
        "description": "Types of warnings / errors that can occur in a deployment",
        "enum": [
          "AwsEdcDeploymentMachineFailedToCreate",
          "AwsEdcDeploymentMachineExistsForUser",
          "AwsEdcDeploymentMachineFailedToDelete",
          "AwsEdcDeploymentMachineFailedToDeleteGeneric",
          "AwsEdcDeploymentMachineFailedToDeleteMachineNotFound",
          "DeploymentAddMachinesFailedGeneric",
          "InsufficientWorkspaceBundleQuota",
          "InsufficientWorkspaceServiceQuota",
          "AwsEdcDeploymentFailedToDelete",
          "AwsEdcDeploymentMachineFailedToUpdate",
          "DeploymentAddMachinesPartialSuccess",
          "AwsEdcDeploymentFailedToUpdateRunningMode",
          "AwsEdcDeploymentBundleFailedToUpdateImage",
          "AwsEdcSaveMachineAsImageFailed"
        ]
      },
      "Deployments": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "Enumerable of Deployment",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AwsEdcDeployment"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "Enumerable of Deployment"
      },
      "ErasureSwitch": {
        "type": "string",
        "enum": [
          "DryRun",
          "Confirm"
        ]
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "parameters": {
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ErrorResponseParameters"
                }
              ]
            }
          }
        },
        "additionalProperties": false
      },
      "ErrorResponseParameters": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Expression": {
        "type": "object",
        "properties": {
          "aws:ResourceTag/CitrixManaged": {
            "type": "string",
            "nullable": true
          },
          "iam:PassedToService": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Group": {
        "type": "object",
        "properties": {
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "operationType": {
            "description": "Group license operation type\r\n            \r\nDO NOT RENAME the enum values!\r\nThey are stored in DB as strings.",
            "allOf": [
              {
                "$ref": "#/components/schemas/GroupLicenseOperationType"
              }
            ]
          },
          "operationStatus": {
            "description": "Group License operation status\r\n\r\nDO NOT RENAME the enum values!\r\nThey are stored in DB as strings.",
            "allOf": [
              {
                "$ref": "#/components/schemas/GroupLicenseOperationStatus"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "GroupLicenseErrorDetailsResponse": {
        "type": "object",
        "properties": {
          "licenseStatus": {
            "type": "array",
            "nullable": true,
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/ResponseDetailsGroupLicenseAssignment"
            }
          }
        },
        "additionalProperties": false
      },
      "GroupLicenseOperationStatus": {
        "type": "string",
        "description": "Group License operation status\r\n\r\nDO NOT RENAME the enum values!\r\nThey are stored in DB as strings.",
        "enum": [
          "Pending",
          "Running",
          "Completed",
          "Failed"
        ]
      },
      "GroupLicenseOperationType": {
        "type": "string",
        "description": "Group license operation type\r\n            \r\nDO NOT RENAME the enum values!\r\nThey are stored in DB as strings.",
        "enum": [
          "Assignment",
          "Unassignment"
        ]
      },
      "GroupUserErrorResponse": {
        "type": "object",
        "properties": {
          "userErrors": {
            "type": "array",
            "description": "User errors",
            "nullable": true,
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/ResponseDetailsLicenseAssignmentEx"
            }
          }
        },
        "additionalProperties": false,
        "description": "Group User Error Response"
      },
      "GroupUsers": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "description": "",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CoreUser"
            }
          }
        },
        "additionalProperties": false,
        "description": ""
      },
      "Image": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of account the resource is associated with",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "imageId": {
            "type": "string",
            "description": "The ID of the image",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "The name of the image",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "The description of the image",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "The notes of the image",
            "nullable": true
          },
          "operatingSystem": {
            "description": "The operating system of the image",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/OperatingSystemType"
              }
            ]
          },
          "associatedDeployments": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AssociatedDeployment"
            }
          },
          "lastModifiedTime": {
            "type": "string",
            "description": "Last time the status was modified",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Base class for image",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AwsEdcImage"
          }
        }
      },
      "Images": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "Enumerable of Image",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AwsEdcImage"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "Enumerable of Image"
      },
      "ImportAwsEdcImage": {
        "required": [
          "ec2ImageId"
        ],
        "type": "object",
        "properties": {
          "ec2ImageId": {
            "minLength": 1,
            "type": "string",
            "description": "Source Image Id"
          },
          "ingestionProcess": {
            "description": "Ingestion Process used during image import",
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceImageIngestionProcess"
              }
            ]
          },
          "applicationList": {
            "type": "array",
            "description": "The list of installed applications",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AwsEdcAmiImportApplications"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/ImportImage"
          }
        ]
      },
      "ImportImage": {
        "required": [
          "accountType",
          "name"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "Image Name"
          },
          "description": {
            "type": "string",
            "description": "Image Name",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Image Name",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Import image",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/ImportAwsEdcImage"
          }
        }
      },
      "InitiateAccountTask": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Registers account",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/RegisterAwsEdcAccountTask"
          }
        }
      },
      "InitiateAwsEdcDeployment": {
        "required": [
          "imageId"
        ],
        "type": "object",
        "properties": {
          "imageId": {
            "minLength": 1,
            "type": "string",
            "description": "Image Id"
          },
          "computeType": {
            "description": "Performance size for bundle creation",
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceCompute"
              }
            ]
          },
          "rootVolumeSize": {
            "type": "integer",
            "description": "Size of operating system volume for bundle creation",
            "format": "int32"
          },
          "userVolumeSize": {
            "type": "integer",
            "description": "Size of user storage volume for bundle creation",
            "format": "int32"
          },
          "runningMode": {
            "description": "Running mode to apply to all workspaces",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceRunningMode"
              }
            ]
          },
          "scaleSettings": {
            "description": "Power Configuration for AWS Deployment",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ScaleSettings"
              }
            ]
          },
          "workspaces": {
            "type": "array",
            "description": "Configuration for individual workspace",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AddAwsEdcWorkspace"
            }
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/InitiateDeployment"
          }
        ]
      },
      "InitiateDeployment": {
        "required": [
          "accountType",
          "connectionId",
          "deploymentName"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "connectionId": {
            "minLength": 1,
            "type": "string",
            "description": "Hosting Connection Id"
          },
          "deploymentName": {
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Initiates deployment",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/InitiateAwsEdcDeployment"
          }
        }
      },
      "IpPermission": {
        "type": "object",
        "properties": {
          "ipRanges": {
            "type": "array",
            "nullable": true,
            "deprecated": true,
            "items": {
              "type": "string"
            }
          },
          "fromPort": {
            "type": "integer",
            "format": "int32"
          },
          "ipProtocol": {
            "type": "string",
            "nullable": true
          },
          "ipv4Ranges": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IpRange"
            }
          },
          "ipv6Ranges": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Ipv6Range"
            }
          },
          "prefixListIds": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/PrefixListId"
            }
          },
          "toPort": {
            "type": "integer",
            "format": "int32"
          },
          "userIdGroupPairs": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/UserIdGroupPair"
            }
          }
        },
        "additionalProperties": false
      },
      "IpRange": {
        "type": "object",
        "properties": {
          "cidrIp": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Ipv6Range": {
        "type": "object",
        "properties": {
          "cidrIpv6": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "LicenseErrorDetailsResponse": {
        "type": "object",
        "properties": {
          "licenseStatus": {
            "type": "array",
            "nullable": true,
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/ResponseDetailsLicenseAssignment"
            }
          }
        },
        "additionalProperties": false,
        "description": "Response Object for Licensing API request"
      },
      "LicenseState": {
        "type": "string",
        "description": "HDX License state",
        "enum": [
          "Active",
          "Inactive"
        ]
      },
      "LicenseUser": {
        "type": "object",
        "properties": {
          "hdxLicenseState": {
            "description": "Denotes whether the user has an active license or not",
            "allOf": [
              {
                "$ref": "#/components/schemas/LicenseState"
              }
            ]
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "windows365Licenses": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "userId": {
            "type": "string",
            "description": "AAD User ID for which we want to assign/revoke license",
            "nullable": true
          },
          "userPrincipalName": {
            "type": "string",
            "description": "AAD UPN for provided User",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "NamingSchemeType": {
        "type": "string",
        "description": "Naming scheme type for creating machine account names during provisioning.",
        "enum": [
          "Unknown",
          "None",
          "Numeric",
          "Alphabetic",
          "Unicode"
        ]
      },
      "OperatingSystemType": {
        "type": "string",
        "enum": [
          "WINDOWS",
          "LINUX"
        ]
      },
      "PatchMachines": {
        "required": [
          "accountType",
          "inMaintenanceMode",
          "machineIds"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "inMaintenanceMode": {
            "type": "boolean",
            "description": "The type of provider associated with the account"
          },
          "machineIds": {
            "type": "array",
            "description": "The list of machine ids to be updated",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false,
        "description": "Turn on or off maintenance mode on machines by id"
      },
      "PowerMode": {
        "type": "string",
        "enum": [
          "Off",
          "On"
        ]
      },
      "PowerResponseCode": {
        "type": "string",
        "description": "Error code for power operation",
        "enum": [
          "Success",
          "Unassigned",
          "NoLicensesAvailable",
          "ActivationFailed",
          "Unknown"
        ]
      },
      "PowerStartResponse": {
        "type": "object",
        "properties": {
          "code": {
            "description": "Code for the response",
            "allOf": [
              {
                "$ref": "#/components/schemas/PowerResponseCode"
              }
            ]
          },
          "errorDescription": {
            "type": "string",
            "description": "Description about the error",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Response of power operation"
      },
      "PowerState": {
        "type": "string",
        "description": "The power state of frontline Cloud PCs.",
        "enum": [
          "Running",
          "PoweredOff",
          "Unknown"
        ]
      },
      "PrefixListId": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProvisioningType": {
        "type": "string",
        "description": "The type of provisioning for Cloud PCs.",
        "enum": [
          "Dedicated",
          "Shared",
          "UnknownFutureValue"
        ]
      },
      "RegisterAccount": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "taskType": {
            "description": "Task type",
            "allOf": [
              {
                "$ref": "#/components/schemas/TaskType"
              }
            ]
          },
          "taskId": {
            "type": "string",
            "description": "Task Id",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Register account",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AwsEdcRegisterAccount"
          }
        }
      },
      "RegisterAwsEdcAccountTask": {
        "required": [
          "cidrRange"
        ],
        "type": "object",
        "properties": {
          "cidrRange": {
            "minLength": 1,
            "type": "string",
            "description": "The Cidr range used in the BYOL registration"
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/InitiateAccountTask"
          }
        ]
      },
      "RegistrationState": {
        "type": "string",
        "description": "Machine registration states.",
        "enum": [
          "Unknown",
          "Unregistered",
          "Initializing",
          "Registered",
          "AgentError"
        ]
      },
      "ResourceConnection": {
        "required": [
          "accountType",
          "citrixManaged",
          "connectionId",
          "name"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "accountId": {
            "type": "string",
            "description": "The ID of the account",
            "nullable": true
          },
          "connectionId": {
            "minLength": 1,
            "type": "string",
            "description": "The Id of the connection"
          },
          "name": {
            "minLength": 1,
            "type": "string",
            "description": "The name of the connection"
          },
          "connectionState": {
            "description": "The state of connection",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ConnectionState"
              }
            ]
          },
          "zoneId": {
            "type": "string",
            "description": "Zone id",
            "nullable": true
          },
          "resourceLocationId": {
            "type": "string",
            "description": "Resource Location Id",
            "nullable": true
          },
          "activeTasks": {
            "type": "array",
            "description": "Tasks currently being performed on the connection",
            "nullable": true,
            "items": {
              "description": "Base class for Tasks",
              "oneOf": [
                {
                  "$ref": "#/components/schemas/TaskBase"
                },
                {
                  "$ref": "#/components/schemas/AccountTask"
                },
                {
                  "$ref": "#/components/schemas/DeploymentTask"
                },
                {
                  "$ref": "#/components/schemas/CommissionTask"
                },
                {
                  "$ref": "#/components/schemas/ResourceConnectionTask"
                }
              ]
            }
          },
          "citrixManaged": {
            "type": "boolean",
            "description": "Indicates whether the resource connection is Citrix managed"
          },
          "associatedDeployments": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/AssociatedDeployment"
            }
          },
          "warnings": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/ResourceConnectionWarning"
            }
          }
        },
        "additionalProperties": false,
        "description": "Resource connection",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/AwsEdcDirectoryConnection"
          }
        }
      },
      "ResourceConnectionTask": {
        "type": "object",
        "properties": {
          "operation": {
            "description": "Task Type",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceConnectionTaskOperationType"
              }
            ]
          },
          "resourceConnectionId": {
            "type": "string",
            "description": "The ResourceConnectionId this task is working on",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Deployment Task Configuration",
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskBase"
          }
        ]
      },
      "ResourceConnectionTaskOperationType": {
        "type": "string",
        "description": "Resource connection tasks",
        "enum": [
          "ADD_CONNECTION",
          "ADD_CONNECTORS",
          "ADD_CONNECTOR_APPLIANCES",
          "REMOVE_CONNECTION"
        ]
      },
      "ResourceConnectionWarning": {
        "type": "object",
        "properties": {
          "warningType": {
            "description": "Type of resource connection warning",
            "allOf": [
              {
                "$ref": "#/components/schemas/ResourceConnectionWarningType"
              }
            ]
          },
          "id": {
            "type": "string",
            "description": "Id of the warning",
            "nullable": true
          },
          "warning": {
            "type": "string",
            "description": "The warning message",
            "nullable": true
          },
          "taskId": {
            "type": "string",
            "description": "ID of the task the warning was created by",
            "nullable": true
          },
          "isError": {
            "type": "boolean",
            "description": "Indicates if the warning should be treated as an error"
          },
          "isDismissible": {
            "type": "boolean",
            "description": "Indicates if the warning message can be cleared out by the user"
          },
          "transactionId": {
            "type": "string",
            "description": "ID of the transaction the warning was created by",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResourceConnectionWarningType": {
        "type": "string",
        "enum": [
          "ResourceConnectionFailedToAddConnectors"
        ]
      },
      "ResourceConnections": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "description": "Enumerable of HostingUnit",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AwsEdcDirectoryConnection"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "description": "Enumerable of HostingUnit"
      },
      "ResponseDetails": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "integer",
            "description": "Once of the error codes listed in the ErrorCode enum",
            "format": "int32"
          },
          "errorDescription": {
            "type": "string",
            "description": "Description about the error",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Details about the failure"
      },
      "ResponseDetailsGroupLicenseAssignment": {
        "type": "object",
        "properties": {
          "groups": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "errorCode": {
            "type": "integer",
            "description": "Once of the error codes listed in the ErrorCode enum",
            "format": "int32"
          },
          "errorDescription": {
            "type": "string",
            "description": "Description about the error",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResponseDetailsLicenseAssignment": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "description": "List of user IDs that failed with the specific errorcode",
            "nullable": true,
            "readOnly": true,
            "items": {
              "type": "string"
            }
          },
          "errorCode": {
            "type": "integer",
            "description": "Once of the error codes listed in the ErrorCode enum",
            "format": "int32"
          },
          "errorDescription": {
            "type": "string",
            "description": "Description about the error",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Each object of License error describing the number of users that failed with each error"
      },
      "ResponseDetailsLicenseAssignmentEx": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "description": "List of users that failed with the specific errorcode",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CoreUser"
            }
          },
          "errorCode": {
            "type": "integer",
            "description": "Once of the error codes listed in the ErrorCode enum",
            "format": "int32"
          },
          "errorDescription": {
            "type": "string",
            "description": "Description about the error",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Comparing to ResponseDetailsLicenseAssignment, provides additional user metadata"
      },
      "SaveAsImageRequest": {
        "required": [
          "accountId",
          "imageDescription",
          "imageName"
        ],
        "type": "object",
        "properties": {
          "accountId": {
            "minLength": 1,
            "type": "string",
            "description": "Id for the image builder machine"
          },
          "imageName": {
            "minLength": 1,
            "type": "string",
            "description": "Image Name"
          },
          "imageDescription": {
            "minLength": 1,
            "type": "string",
            "description": "Image Description"
          },
          "imageNotes": {
            "type": "string",
            "description": "Image Notes",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ScaleSettings": {
        "type": "object",
        "properties": {
          "autoScaleEnabled": {
            "type": "boolean",
            "description": "Indicates whether the scale settings are enabled for the deployment",
            "nullable": true
          },
          "offPeakDisconnectTimeoutMinutes": {
            "type": "integer",
            "description": "The number of minutes before the configured action should be\r\nperformed after a user session disconnects outside peak hours.",
            "format": "int32",
            "nullable": true
          },
          "offPeakLogOffTimeoutMinutes": {
            "type": "integer",
            "description": "The number of minutes before the configured action should be\r\nperformed after a user session ends outside peak hours.",
            "format": "int32",
            "nullable": true
          },
          "sessionIdleTimeoutMinutes": {
            "type": "integer",
            "description": "Specifies the time in minutes after which an idle session\r\nbelonging to the delivery group is disconnected during off-peak time.",
            "format": "int32",
            "nullable": true
          },
          "offPeakBufferSizePercent": {
            "type": "integer",
            "description": "The percentage of machines in the delivery group that should be\r\nkept available in an idle state outside peak hours.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SearchAccountResourceRequest": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of cloud provider the account is associated with.",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "filterProperty": {
            "type": "string",
            "description": "The filter property key.",
            "nullable": true
          },
          "filterValue": {
            "type": "string",
            "description": "The filter property value.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Resource objects associated with account",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/SearchAwsEdcAccountResourceRequest"
          }
        }
      },
      "SearchAwsEdcAccountResourceRequest": {
        "type": "object",
        "properties": {
          "resourceType": {
            "description": "AWS Resource type to search",
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsAccountResourceType"
              }
            ]
          },
          "awsRoleArn": {
            "maxLength": 2048,
            "minLength": 20,
            "pattern": "^arn:aws(-us-gov)?:iam::[0-9]{12}:role\\/[a-zA-Z0-9+=,.@\\-_]{1,64}$",
            "type": "string",
            "description": "The ARN of the role to assume when searching for resources in an account that has not been added yet",
            "nullable": true
          },
          "awsRegion": {
            "pattern": "^[a-zA-Z0-9\\-]+$",
            "type": "string",
            "description": "The AWS region to use",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/SearchAccountResourceRequest"
          }
        ]
      },
      "SessionChangeHostingAction": {
        "type": "string",
        "description": "Hosting actions which may be taken when a session\r\n<br />change occurs on a machine.",
        "enum": [
          "Unknown",
          "Nothing",
          "Suspend",
          "Shutdown"
        ]
      },
      "SessionState": {
        "type": "string",
        "description": "Session states.",
        "enum": [
          "Unknown",
          "Connected",
          "Active",
          "Disconnected"
        ]
      },
      "SessionSupport": {
        "type": "string",
        "description": "Quantity of sessions supported per-machine.",
        "enum": [
          "Unknown",
          "SingleSession",
          "MultiSession"
        ]
      },
      "Tag": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaskBase": {
        "required": [
          "taskType"
        ],
        "type": "object",
        "properties": {
          "taskType": {
            "description": "The type of task",
            "allOf": [
              {
                "$ref": "#/components/schemas/TaskType"
              }
            ]
          },
          "taskId": {
            "type": "string",
            "description": "Task Id",
            "nullable": true
          },
          "taskState": {
            "description": "The state of the task",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/TaskState"
              }
            ]
          },
          "status": {
            "type": "string",
            "description": "Status of the task",
            "nullable": true
          },
          "accountType": {
            "description": "The type of account the task is associated with",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          },
          "startedAt": {
            "type": "string",
            "description": "DateTime when the task started",
            "format": "date-time",
            "nullable": true
          },
          "completedAt": {
            "type": "string",
            "description": "Datetime when the task completed",
            "format": "date-time",
            "nullable": true
          },
          "warnings": {
            "type": "array",
            "description": "Warnings that occurred in task processing",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TaskWarning"
            }
          },
          "errors": {
            "type": "array",
            "description": "Errors that occurred in task processing",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/TaskError"
            }
          },
          "transactionId": {
            "type": "string",
            "description": "ID of the transaction the task is associated with",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Base class for Tasks",
        "discriminator": {
          "propertyName": "taskType",
          "mapping": {
            "ACCOUNT": "#/components/schemas/AccountTask",
            "DEPLOYMENT": "#/components/schemas/DeploymentTask",
            "COMMISSION": "#/components/schemas/CommissionTask",
            "RESOURCE_CONNECTION": "#/components/schemas/ResourceConnectionTask"
          }
        }
      },
      "TaskError": {
        "type": "object",
        "properties": {
          "errorId": {
            "type": "string",
            "description": "Error Id",
            "nullable": true
          },
          "message": {
            "type": "string",
            "description": "Error Message",
            "nullable": true
          },
          "exception": {
            "description": "Error Message",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Deployment Task Error"
      },
      "TaskState": {
        "type": "string",
        "enum": [
          "PENDING",
          "ACTIVE",
          "PROCESSING",
          "ERROR",
          "COMPLETED"
        ]
      },
      "TaskType": {
        "type": "string",
        "description": "Task Type",
        "enum": [
          "ACCOUNT",
          "DEPLOYMENT",
          "RESOURCE_CONNECTION",
          "COMMISSION",
          "WORKER_TEST"
        ]
      },
      "TaskWarning": {
        "type": "object",
        "properties": {
          "warningId": {
            "type": "string",
            "description": "Warning Id",
            "nullable": true
          },
          "message": {
            "type": "string",
            "description": "Warning Message",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Deployment Task Warning"
      },
      "Tenancy": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "TenancyType": {
        "type": "string",
        "description": "Indicates whether to use tenancy type Shared, Instance or Host when creating machines in Cloud Hypervisors.",
        "enum": [
          "Unknown",
          "Shared",
          "Instance",
          "Host"
        ]
      },
      "TenantGroupLicenses": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "nullable": true
          },
          "groupIds": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "TenantLicenses": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "description": "AAD Tenant of which the listed users are part of",
            "nullable": true
          },
          "users": {
            "type": "array",
            "description": "List of users to assign/revoke license for in the provided AAD tenant",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CoreUser"
            }
          }
        },
        "additionalProperties": false
      },
      "UpdateAccount": {
        "required": [
          "accountOperationType"
        ],
        "type": "object",
        "properties": {
          "accountOperationType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateAccountOperationType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Updates account",
        "discriminator": {
          "propertyName": "accountOperationType",
          "mapping": {
            "RenameAccount": "#/components/schemas/UpdateAccountName",
            "UpdateAwsEdcAccountCredentials": "#/components/schemas/UpdateAwsEdcAccountCredentials"
          }
        }
      },
      "UpdateAccountName": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The new name of account",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateAccount"
          }
        ]
      },
      "UpdateAccountOperationType": {
        "type": "string",
        "enum": [
          "RenameAccount",
          "UpdateAwsEdcAccountCredentials"
        ]
      },
      "UpdateAwsEdcAccountCredentials": {
        "type": "object",
        "properties": {
          "awsAccessKeyId": {
            "maxLength": 128,
            "minLength": 16,
            "pattern": "^[\\w]+$",
            "type": "string",
            "description": "The ID of Access Key associated with the account",
            "nullable": true
          },
          "awsSecretAccessKey": {
            "type": "string",
            "description": "The secret associated with access key for the account",
            "nullable": true
          },
          "awsRoleArn": {
            "maxLength": 2048,
            "minLength": 20,
            "pattern": "^arn:aws(-us-gov)?:iam::[0-9]{12}:role\\/[a-zA-Z0-9+=,.@\\-_]{1,64}$",
            "type": "string",
            "description": "The ARN of the role to assume",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateAccount"
          }
        ]
      },
      "UpdateAwsEdcDeploymentMachine": {
        "type": "object",
        "properties": {
          "compute": {
            "description": "Size of operating system volume",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Compute"
              }
            ]
          },
          "rootVolumeSize": {
            "type": "integer",
            "description": "Size of operating system volume",
            "format": "int32",
            "nullable": true
          },
          "userVolumeSize": {
            "type": "integer",
            "description": "Size of user storage volume",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateDeploymentMachine"
          }
        ]
      },
      "UpdateAwsEdcDeploymentProperties": {
        "type": "object",
        "properties": {
          "runningMode": {
            "description": "Running mode to apply to all workspaces",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceRunningMode"
              }
            ]
          },
          "scaleSettings": {
            "description": "Power Configuration for AWS Deployment",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ScaleSettings"
              }
            ]
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateDeploymentProperties"
          }
        ]
      },
      "UpdateAwsEdcDirectoryConnection": {
        "type": "object",
        "properties": {
          "defaultOU": {
            "type": "string",
            "description": "Default OU",
            "nullable": true
          },
          "enableWorkDocs": {
            "type": "boolean",
            "description": "Enable Work Docs",
            "nullable": true
          },
          "userEnabledAsLocalAdministrator": {
            "type": "boolean",
            "description": "Enable Local Administrator",
            "nullable": true
          },
          "enableInternetAccess": {
            "type": "boolean",
            "description": "Enable Internet Access",
            "nullable": true
          },
          "enableMaintananceMode": {
            "type": "boolean",
            "description": "Enable Maintanance Mode",
            "nullable": true
          },
          "securityGroupId": {
            "type": "string",
            "description": "Custom Security Group Id",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateResourceConnection"
          }
        ]
      },
      "UpdateDeploymentImage": {
        "type": "object",
        "properties": {
          "imageId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateDeploymentMachine": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Adds machines to deployment",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/UpdateAwsEdcDeploymentMachine"
          }
        }
      },
      "UpdateDeploymentProperties": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Update deployment properties which includes machine performance, running mode and power management settings\r\ndepending on deployment type",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/UpdateAwsEdcDeploymentProperties"
          }
        }
      },
      "UpdatePowerConfigurationModel": {
        "type": "object",
        "properties": {
          "runningMode": {
            "description": "Running Mode (Manual or AlwaysOn for AWS Deployments)",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AwsEdcWorkspaceRunningMode"
              }
            ]
          },
          "autoScaleEnabled": {
            "type": "boolean",
            "description": "Whether auto-scale is enabled for the delivery group.",
            "nullable": true
          },
          "offPeakDisconnectTimeoutMinutes": {
            "type": "integer",
            "description": "The number of minutes before the configured action should be\r\nperformed after a user session disconnects outside peak hours.",
            "format": "int32",
            "nullable": true
          },
          "offPeakBufferSizePercent": {
            "type": "integer",
            "description": "The percentage of machines in the delivery group that should be\r\nkept available in an idle state outside peak hours.",
            "format": "int32",
            "nullable": true
          },
          "disconnectOffPeakIdleSessionAfterSeconds": {
            "type": "integer",
            "description": "Specifies the time in seconds after which an idle session\r\nbelonging to the delivery group is disconnected during off-peak time.",
            "format": "int32",
            "nullable": true
          },
          "timeZone": {
            "type": "string",
            "description": "The time zone in which this delivery group's machines reside.",
            "nullable": true,
            "example": "For example, America/New_York"
          },
          "offPeakLogOffAction": {
            "description": "The action to be performed after a configurable period of a user\r\nsession ending outside peak hours.",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionChangeHostingAction"
              }
            ]
          },
          "offPeakDisconnectAction": {
            "description": "The action to be performed after a second configurable period of a\r\nuser session disconnecting outside peak hours.",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/SessionChangeHostingAction"
              }
            ]
          },
          "offPeakLogOffTimeoutMinutes": {
            "type": "integer",
            "description": "The number of minutes before the configured action should be\r\nperformed after a user session ends outside peak hours.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateResourceConnection": {
        "required": [
          "accountType"
        ],
        "type": "object",
        "properties": {
          "accountType": {
            "description": "The type of provider associated with the account",
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountType"
              }
            ]
          }
        },
        "additionalProperties": false,
        "description": "Updates resource connection",
        "discriminator": {
          "propertyName": "accountType",
          "mapping": {
            "AWSEDC": "#/components/schemas/UpdateAwsEdcDirectoryConnection"
          }
        }
      },
      "UserIdGroupPair": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "groupName": {
            "type": "string",
            "nullable": true
          },
          "peeringStatus": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "vpcId": {
            "type": "string",
            "nullable": true
          },
          "vpcPeeringConnectionId": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "customerId_accounts_body": {
        "description": "Adds account",
        "$ref": "#/components/schemas/AddAwsEdcAccount"
      },
      "inline_response_201": {
        "description": "Account",
        "$ref": "#/components/schemas/AwsEdcAccount"
      },
      "accountId_tasks_body": {
        "description": "Registers account",
        "$ref": "#/components/schemas/RegisterAwsEdcAccountTask"
      },
      "inline_response_200": {
        "description": "Register account",
        "$ref": "#/components/schemas/AwsEdcRegisterAccount"
      },
      "resources_search_body": {
        "description": "Resource objects associated with account",
        "$ref": "#/components/schemas/SearchAwsEdcAccountResourceRequest"
      },
      "inline_response_200_2": {
        "description": "Resource connection",
        "$ref": "#/components/schemas/AwsEdcDirectoryConnection"
      },
      "connections_connectionId_body": {
        "description": "Updates resource connection",
        "$ref": "#/components/schemas/UpdateAwsEdcDirectoryConnection"
      },
      "connections_initiate_body": {
        "description": "Adds resource connection",
        "$ref": "#/components/schemas/AddAwsEdcDirectoryConnection"
      },
      "inline_response_200_3": {
        "description": "Deployment",
        "$ref": "#/components/schemas/AwsEdcDeployment"
      },
      "deployments_initiate_body": {
        "description": "Initiates deployment",
        "$ref": "#/components/schemas/InitiateAwsEdcDeployment"
      },
      "image_update_body": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UpdateDeploymentImage"
          }
        ]
      },
      "deploymentId_initiateDelete_body": {
        "description": "Deployment AD credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeploymentCredentials"
          }
        ]
      },
      "deploymentId_addMachines_body": {
        "description": "Adds machines to deployment",
        "$ref": "#/components/schemas/AddAwsEdcDeploymentMachines"
      },
      "machineId_update_body": {
        "description": "Adds machines to deployment",
        "$ref": "#/components/schemas/UpdateAwsEdcDeploymentMachine"
      },
      "machines_delete_body": {
        "description": "Delete machines by id",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeleteMachines"
          }
        ]
      },
      "machineId_initiateDelete_body": {
        "description": "Deployment AD credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/DeploymentCredentials"
          }
        ]
      },
      "deploymentId_update_body": {
        "description": "Update deployment properties which includes machine performance, running mode and power management settings\r\ndepending on deployment type",
        "$ref": "#/components/schemas/UpdateAwsEdcDeploymentProperties"
      },
      "machineId_saveAsImage_body": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SaveAsImageRequest"
          }
        ]
      },
      "deploymentId_machines_body": {
        "description": "Turn on or off maintenance mode on machines by id",
        "allOf": [
          {
            "$ref": "#/components/schemas/PatchMachines"
          }
        ]
      },
      "inline_response_200_4": {
        "description": "Base class for image",
        "$ref": "#/components/schemas/AwsEdcImage"
      },
      "images_import_body": {
        "description": "Import image",
        "$ref": "#/components/schemas/ImportAwsEdcImage"
      }
    },
    "securitySchemes": {
      "CWSAuth": {
        "type": "apiKey",
        "description": "Authorization header. Should be in the form: CWSAuth service=&lt;ServiceKey&gt; or CWSAuth bearer=&lt;CWC Bearer Token&gt;",
        "name": "Authorization",
        "in": "header"
      }
    },
    "responses": {
      "BadRequestResponse": {
        "description": "Bad Request",
        "headers": {
          "citrix-transactionid": {
            "schema": {
              "type": "string"
            },
            "description": "Globally-unique identifier (usually a GUID) that allows the flow of a call to be traced through all components within the system.",
            "style": "simple",
            "explode": false
          },
          "content-type": {
            "schema": {
              "type": "string"
            },
            "description": "Tells the type of the content in the request body.",
            "style": "simple",
            "explode": false
          },
          "cache-control": {
            "schema": {
              "type": "string"
            },
            "description": "Holds directives for caching response.",
            "style": "simple",
            "explode": false
          },
          "x-content-type-options": {
            "schema": {
              "type": "string"
            },
            "description": "Marker used by the server to indicate that the MIME types advertised in the Content-Type headers should not be changed and be followed.",
            "style": "simple",
            "explode": false
          }
        }
      },
      "UnauthorizedResponse": {
        "description": "Unauthorized",
        "headers": {
          "citrix-transactionid": {
            "schema": {
              "type": "string"
            },
            "description": "Globally-unique identifier (usually a GUID) that allows the flow of a call to be traced through all components within the system.",
            "style": "simple",
            "explode": false
          },
          "content-type": {
            "schema": {
              "type": "string"
            },
            "description": "Tells the type of the content in the request body.",
            "style": "simple",
            "explode": false
          },
          "cache-control": {
            "schema": {
              "type": "string"
            },
            "description": "Holds directives for caching response.",
            "style": "simple",
            "explode": false
          },
          "x-content-type-options": {
            "schema": {
              "type": "string"
            },
            "description": "Marker used by the server to indicate that the MIME types advertised in the Content-Type headers should not be changed and be followed.",
            "style": "simple",
            "explode": false
          }
        }
      },
      "ForbiddenResponse": {
        "description": "Forbidden",
        "headers": {
          "citrix-transactionid": {
            "schema": {
              "type": "string"
            },
            "description": "Globally-unique identifier (usually a GUID) that allows the flow of a call to be traced through all components within the system.",
            "style": "simple",
            "explode": false
          },
          "content-type": {
            "schema": {
              "type": "string"
            },
            "description": "Tells the type of the content in the request body.",
            "style": "simple",
            "explode": false
          },
          "cache-control": {
            "schema": {
              "type": "string"
            },
            "description": "Holds directives for caching response.",
            "style": "simple",
            "explode": false
          },
          "x-content-type-options": {
            "schema": {
              "type": "string"
            },
            "description": "Marker used by the server to indicate that the MIME types advertised in the Content-Type headers should not be changed and be followed.",
            "style": "simple",
            "explode": false
          }
        }
      },
      "NotFoundResponse": {
        "description": "Not Found",
        "headers": {
          "citrix-transactionid": {
            "schema": {
              "type": "string"
            },
            "description": "Globally-unique identifier (usually a GUID) that allows the flow of a call to be traced through all components within the system.",
            "style": "simple",
            "explode": false
          },
          "content-type": {
            "schema": {
              "type": "string"
            },
            "description": "Tells the type of the content in the request body.",
            "style": "simple",
            "explode": false
          },
          "cache-control": {
            "schema": {
              "type": "string"
            },
            "description": "Holds directives for caching response.",
            "style": "simple",
            "explode": false
          },
          "x-content-type-options": {
            "schema": {
              "type": "string"
            },
            "description": "Marker used by the server to indicate that the MIME types advertised in the Content-Type headers should not be changed and be followed.",
            "style": "simple",
            "explode": false
          }
        }
      },
      "InternalServerErrorResponse": {
        "description": "Internal Server Error",
        "headers": {
          "citrix-transactionid": {
            "schema": {
              "type": "string"
            },
            "description": "Globally-unique identifier (usually a GUID) that allows the flow of a call to be traced through all components within the system.",
            "style": "simple",
            "explode": false
          },
          "content-type": {
            "schema": {
              "type": "string"
            },
            "description": "Tells the type of the content in the request body.",
            "style": "simple",
            "explode": false
          },
          "cache-control": {
            "schema": {
              "type": "string"
            },
            "description": "Holds directives for caching response.",
            "style": "simple",
            "explode": false
          },
          "x-content-type-options": {
            "schema": {
              "type": "string"
            },
            "description": "Marker used by the server to indicate that the MIME types advertised in the Content-Type headers should not be changed and be followed.",
            "style": "simple",
            "explode": false
          }
        }
      }
    }
  }
}