{
  "swagger": "2.0",
  "info": {
    "title": "Azure Blob Storage",
    "version": "2019-02-02",
    "x-ms-code-generation-settings": {
      "header": "MIT",
      "strictSpecAdherence": false
    }
  },
  "x-ms-parameterized-host": {
    "hostTemplate": "{url}",
    "useSchemePrefix": false,
    "positionInOperation": "first",
    "parameters": [
      {
        "$ref": "#/parameters/Url"
      }
    ]
  },
  "securityDefinitions": {
    "blob_shared_key": {
      "type": "apiKey",
      "name": "Authorization",
      "in": "header"
    }
  },
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/xml"
  ],
  "produces": [
    "application/xml"
  ],
  "paths": {},
  "x-ms-paths": {
    "/?restype=service&comp=properties": {
      "put": {
        "tags": [
          "service"
        ],
        "operationId": "Service_SetProperties",
        "description": "Sets properties for a storage account's Blob service endpoint, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules",
        "parameters": [
          {
            "$ref": "#/parameters/StorageServiceProperties"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "202": {
            "description": "Success (Accepted)",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "get": {
        "tags": [
          "service"
        ],
        "operationId": "Service_GetProperties",
        "description": "gets the properties of a storage account's Blob service, including properties for Storage Analytics and CORS (Cross-Origin Resource Sharing) rules.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageServiceProperties"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "service"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "properties"
          ]
        }
      ]
    },
    "/?restype=service&comp=stats": {
      "get": {
        "tags": [
          "service"
        ],
        "operationId": "Service_GetStatistics",
        "description": "Retrieves statistics related to replication for the Blob service. It is only available on the secondary location endpoint when read-access geo-redundant replication is enabled for the storage account.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageServiceStats"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "service"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "stats"
          ]
        }
      ]
    },
    "/?comp=list": {
      "get": {
        "tags": [
          "service"
        ],
        "operationId": "Service_ListContainersSegment",
        "description": "The List Containers Segment operation returns a list of the containers under the specified account",
        "parameters": [
          {
            "$ref": "#/parameters/Prefix"
          },
          {
            "$ref": "#/parameters/Marker"
          },
          {
            "$ref": "#/parameters/MaxResults"
          },
          {
            "$ref": "#/parameters/ListContainersInclude"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              }
            },
            "schema": {
              "$ref": "#/definitions/ListContainersSegmentResponse"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "NextMarker"
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "list"
          ]
        }
      ]
    },
    "/?restype=service&comp=userdelegationkey": {
      "post": {
        "tags": [
          "service"
        ],
        "operationId": "Service_GetUserDelegationKey",
        "description": "Retrieves a user delegation key for the Blob service. This is only a valid operation when using bearer token authentication.",
        "parameters": [
          {
            "$ref": "#/parameters/KeyInfo"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            },
            "schema": {
              "$ref": "#/definitions/UserDelegationKey"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "service"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "userdelegationkey"
          ]
        }
      ]
    },
    "/?restype=account&comp=properties": {
      "get": {
        "tags": [
          "service"
        ],
        "operationId": "Service_GetAccountInfo",
        "description": "Returns the sku name and account kind ",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (OK)",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-sku-name": {
                "x-ms-client-name": "SkuName",
                "type": "string",
                "enum": [
                  "Standard_LRS",
                  "Standard_GRS",
                  "Standard_RAGRS",
                  "Standard_ZRS",
                  "Premium_LRS"
                ],
                "x-ms-enum": {
                  "name": "SkuName",
                  "modelAsString": false
                },
                "description": "Identifies the sku name of the account"
              },
              "x-ms-account-kind": {
                "x-ms-client-name": "AccountKind",
                "type": "string",
                "enum": [
                  "Storage",
                  "BlobStorage",
                  "StorageV2"
                ],
                "x-ms-enum": {
                  "name": "AccountKind",
                  "modelAsString": false
                },
                "description": "Identifies the account kind"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "account"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "properties"
          ]
        }
      ]
    },
    "/?comp=batch": {
      "post": {
        "tags": [
          "service"
        ],
        "operationId": "Service_SubmitBatch",
        "description": "The Batch operation allows multiple API calls to be embedded into a single HTTP request.",
        "parameters": [
          {
            "$ref": "#/parameters/Body"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/MultipartContentType"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "Content-Type": {
                "type": "string",
                "description": "The media type of the body of the response. For batch requests, this is multipart/mixed; boundary=batchresponse_GUID"
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              }
            },
            "schema": {
              "type": "object",
              "format": "file"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "batch"
          ]
        }
      ]
    },
    "/{containerName}?restype=container": {
      "put": {
        "tags": [
          "container"
        ],
        "operationId": "Container_Create",
        "description": "creates a new container under the specified account. If the container with the same name already exists, the operation fails",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/BlobPublicAccess"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "Success, Container created.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "get": {
        "tags": [
          "container"
        ],
        "operationId": "Container_GetProperties",
        "description": "returns all user-defined metadata and system properties for the specified container. The data returned does not include the container's list of blobs",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "x-ms-meta": {
                "type": "string",
                "x-ms-client-name": "Metadata",
                "x-ms-header-collection-prefix": "x-ms-meta-"
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-lease-duration": {
                "x-ms-client-name": "LeaseDuration",
                "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.",
                "type": "string",
                "enum": [
                  "infinite",
                  "fixed"
                ],
                "x-ms-enum": {
                  "name": "LeaseDurationType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-state": {
                "x-ms-client-name": "LeaseState",
                "description": "Lease state of the blob.",
                "type": "string",
                "enum": [
                  "available",
                  "leased",
                  "expired",
                  "breaking",
                  "broken"
                ],
                "x-ms-enum": {
                  "name": "LeaseStateType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-status": {
                "x-ms-client-name": "LeaseStatus",
                "description": "The current lease status of the blob.",
                "type": "string",
                "enum": [
                  "locked",
                  "unlocked"
                ],
                "x-ms-enum": {
                  "name": "LeaseStatusType",
                  "modelAsString": false
                }
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-blob-public-access": {
                "x-ms-client-name": "BlobPublicAccess",
                "description": "Indicated whether data in the container may be accessed publicly and the level of access",
                "type": "string",
                "enum": [
                  "container",
                  "blob"
                ],
                "x-ms-enum": {
                  "name": "PublicAccessType",
                  "modelAsString": true
                }
              },
              "x-ms-has-immutability-policy": {
                "x-ms-client-name": "HasImmutabilityPolicy",
                "description": "Indicates whether the container has an immutability policy set on it.",
                "type": "boolean"
              },
              "x-ms-has-legal-hold": {
                "x-ms-client-name": "HasLegalHold",
                "description": "Indicates whether the container has a legal hold.",
                "type": "boolean"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "container"
        ],
        "operationId": "Container_Delete",
        "description": "operation marks the specified container for deletion. The container and any blobs contained within it are later deleted during garbage collection",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        }
      ]
    },
    "/{containerName}?restype=container&comp=metadata": {
      "put": {
        "tags": [
          "container"
        ],
        "operationId": "Container_SetMetadata",
        "description": "operation sets one or more user-defined name-value pairs for the specified container.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "metadata"
          ]
        }
      ]
    },
    "/{containerName}?restype=container&comp=acl": {
      "get": {
        "tags": [
          "container"
        ],
        "operationId": "Container_GetAccessPolicy",
        "description": "gets the permissions for the specified container. The permissions indicate whether container data may be accessed publicly.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "headers": {
              "x-ms-blob-public-access": {
                "x-ms-client-name": "BlobPublicAccess",
                "description": "Indicated whether data in the container may be accessed publicly and the level of access",
                "type": "string",
                "enum": [
                  "container",
                  "blob"
                ],
                "x-ms-enum": {
                  "name": "PublicAccessType",
                  "modelAsString": true
                }
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            },
            "schema": {
              "$ref": "#/definitions/SignedIdentifiers"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "put": {
        "tags": [
          "container"
        ],
        "operationId": "Container_SetAccessPolicy",
        "description": "sets the permissions for the specified container. The permissions indicate whether blobs in a container may be accessed publicly.",
        "parameters": [
          {
            "$ref": "#/parameters/ContainerAcl"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/BlobPublicAccess"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "acl"
          ]
        }
      ]
    },
    "/{containerName}?comp=lease&restype=container&acquire": {
      "put": {
        "tags": [
          "container"
        ],
        "operationId": "Container_AcquireLease",
        "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseDuration"
          },
          {
            "$ref": "#/parameters/ProposedLeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The Acquire operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-lease-id": {
                "x-ms-client-name": "LeaseId",
                "type": "string",
                "description": "Uniquely identifies a container's lease"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "acquire"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}?comp=lease&restype=container&release": {
      "put": {
        "tags": [
          "container"
        ],
        "operationId": "Container_ReleaseLease",
        "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdRequired"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Release operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "release"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}?comp=lease&restype=container&renew": {
      "put": {
        "tags": [
          "container"
        ],
        "operationId": "Container_RenewLease",
        "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdRequired"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Renew operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-lease-id": {
                "x-ms-client-name": "LeaseId",
                "type": "string",
                "description": "Uniquely identifies a container's lease"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "renew"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}?comp=lease&restype=container&break": {
      "put": {
        "tags": [
          "container"
        ],
        "operationId": "Container_BreakLease",
        "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseBreakPeriod"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "202": {
            "description": "The Break operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-lease-time": {
                "x-ms-client-name": "LeaseTime",
                "type": "integer",
                "description": "Approximate time remaining in the lease period, in seconds."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "break"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}?comp=lease&restype=container&change": {
      "put": {
        "tags": [
          "container"
        ],
        "operationId": "Container_ChangeLease",
        "description": "[Update] establishes and manages a lock on a container for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdRequired"
          },
          {
            "$ref": "#/parameters/ProposedLeaseIdRequired"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Change operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-lease-id": {
                "x-ms-client-name": "LeaseId",
                "type": "string",
                "description": "Uniquely identifies a container's lease"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "change"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}?restype=container&comp=list&flat": {
      "get": {
        "tags": [
          "containers"
        ],
        "operationId": "Container_ListBlobFlatSegment",
        "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container",
        "parameters": [
          {
            "$ref": "#/parameters/Prefix"
          },
          {
            "$ref": "#/parameters/Marker"
          },
          {
            "$ref": "#/parameters/MaxResults"
          },
          {
            "$ref": "#/parameters/ListBlobsInclude"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "Content-Type": {
                "type": "string",
                "description": "The media type of the body of the response. For List Blobs this is 'application/xml'"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            },
            "schema": {
              "$ref": "#/definitions/ListBlobsFlatSegmentResponse"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "NextMarker"
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "list"
          ]
        }
      ]
    },
    "/{containerName}?restype=container&comp=list&hierarchy": {
      "get": {
        "tags": [
          "containers"
        ],
        "operationId": "Container_ListBlobHierarchySegment",
        "description": "[Update] The List Blobs operation returns a list of the blobs under the specified container",
        "parameters": [
          {
            "$ref": "#/parameters/Prefix"
          },
          {
            "$ref": "#/parameters/Delimiter"
          },
          {
            "$ref": "#/parameters/Marker"
          },
          {
            "$ref": "#/parameters/MaxResults"
          },
          {
            "$ref": "#/parameters/ListBlobsInclude"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Success.",
            "headers": {
              "Content-Type": {
                "type": "string",
                "description": "The media type of the body of the response. For List Blobs this is 'application/xml'"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            },
            "schema": {
              "$ref": "#/definitions/ListBlobsHierarchySegmentResponse"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "NextMarker"
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "container"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "list"
          ]
        }
      ]
    },
    "/{containerName}?restype=account&comp=properties": {
      "get": {
        "tags": [
          "container"
        ],
        "operationId": "Container_GetAccountInfo",
        "description": "Returns the sku name and account kind ",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (OK)",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-sku-name": {
                "x-ms-client-name": "SkuName",
                "type": "string",
                "enum": [
                  "Standard_LRS",
                  "Standard_GRS",
                  "Standard_RAGRS",
                  "Standard_ZRS",
                  "Premium_LRS"
                ],
                "x-ms-enum": {
                  "name": "SkuName",
                  "modelAsString": false
                },
                "description": "Identifies the sku name of the account"
              },
              "x-ms-account-kind": {
                "x-ms-client-name": "AccountKind",
                "type": "string",
                "enum": [
                  "Storage",
                  "BlobStorage",
                  "StorageV2"
                ],
                "x-ms-enum": {
                  "name": "AccountKind",
                  "modelAsString": false
                },
                "description": "Identifies the account kind"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "account"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "properties"
          ]
        }
      ]
    },
    "/{filesystem}/{path}?resource=directory&Create": {
      "put": {
        "tags": [
          "directory"
        ],
        "operationId": "Directory_Create",
        "description": "Create a directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests.  For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).  To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/DirectoryProperties"
          },
          {
            "$ref": "#/parameters/PosixPermissions"
          },
          {
            "$ref": "#/parameters/PosixUmask"
          },
          {
            "$ref": "#/parameters/XMsCacheControl"
          },
          {
            "$ref": "#/parameters/XMsContentType"
          },
          {
            "$ref": "#/parameters/XMsContentEncoding"
          },
          {
            "$ref": "#/parameters/XMsContentLanguage"
          },
          {
            "$ref": "#/parameters/XMsContentDisposition"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The file or directory was created.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "An HTTP entity tag associated with the file or directory."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              },
              "Content-Length": {
                "type": "integer",
                "format": "int64",
                "description": "The size of the resource in bytes."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            },
            "schema": {
              "$ref": "#/definitions/DataLakeStorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "resource",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "directory"
          ]
        }
      ]
    },
    "/{filesystem}/{path}?DirectoryRename": {
      "put": {
        "tags": [
          "directory"
        ],
        "operationId": "Directory_Rename",
        "description": "Rename a directory. By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Continuation"
          },
          {
            "$ref": "#/parameters/PathRenameMode"
          },
          {
            "$ref": "#/parameters/FileRenameSource"
          },
          {
            "$ref": "#/parameters/DirectoryProperties"
          },
          {
            "$ref": "#/parameters/PosixPermissions"
          },
          {
            "$ref": "#/parameters/PosixUmask"
          },
          {
            "$ref": "#/parameters/XMsCacheControl"
          },
          {
            "$ref": "#/parameters/XMsContentType"
          },
          {
            "$ref": "#/parameters/XMsContentEncoding"
          },
          {
            "$ref": "#/parameters/XMsContentLanguage"
          },
          {
            "$ref": "#/parameters/XMsContentDisposition"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/SourceLeaseId"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/SourceIfModifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfMatch"
          },
          {
            "$ref": "#/parameters/SourceIfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The directory was renamed.",
            "headers": {
              "x-ms-continuation": {
                "x-ms-client-name": "marker",
                "type": "string",
                "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "An HTTP entity tag associated with the file or directory."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              },
              "Content-Length": {
                "type": "integer",
                "format": "int64",
                "description": "The size of the resource in bytes."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            },
            "schema": {
              "$ref": "#/definitions/DataLakeStorageError"
            }
          }
        }
      }
    },
    "/{filesystem}/{path}?DirectoryDelete": {
      "delete": {
        "tags": [
          "directory"
        ],
        "operationId": "Directory_Delete",
        "description": "Deletes the directory",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/RecursiveDirectoryDelete"
          },
          {
            "$ref": "#/parameters/Continuation"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The directory was deleted.",
            "headers": {
              "x-ms-continuation": {
                "x-ms-client-name": "marker",
                "type": "string",
                "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header. When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            },
            "schema": {
              "$ref": "#/definitions/DataLakeStorageError"
            }
          }
        }
      }
    },
    "/{filesystem}/{path}?action=setAccessControl&directory": {
      "patch": {
        "tags": [
          "directory"
        ],
        "operationId": "Directory_SetAccessControl",
        "description": "Set the owner, group, permissions, or access control list for a directory.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/Owner"
          },
          {
            "$ref": "#/parameters/Group"
          },
          {
            "$ref": "#/parameters/PosixPermissions"
          },
          {
            "$ref": "#/parameters/PosixAcl"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Set directory access control response.",
            "headers": {
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "An HTTP entity tag associated with the file or directory."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            },
            "schema": {
              "$ref": "#/definitions/DataLakeStorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "action",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "setAccessControl"
          ]
        }
      ]
    },
    "/{filesystem}/{path}?action=getAccessControl&directory": {
      "head": {
        "tags": [
          "directory"
        ],
        "operationId": "Directory_GetAccessControl",
        "description": "Get the owner, group, permissions, or access control list for a directory.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Upn"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Get directory access control response.",
            "headers": {
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "An HTTP entity tag associated with the file or directory."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time."
              },
              "x-ms-owner": {
                "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.",
                "type": "string"
              },
              "x-ms-group": {
                "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.",
                "type": "string"
              },
              "x-ms-permissions": {
                "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.",
                "type": "string"
              },
              "x-ms-acl": {
                "description": "The POSIX access control list for the file or directory.  Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.",
                "type": "string"
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            },
            "schema": {
              "$ref": "#/definitions/DataLakeStorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "action",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "getAccessControl"
          ]
        }
      ]
    },
    "/{containerName}/{blob}": {
      "get": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_Download",
        "description": "The Download operation reads or downloads a blob from the system, including its metadata and properties. You can also call Download to read a snapshot.",
        "parameters": [
          {
            "$ref": "#/parameters/Snapshot"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Range"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/GetRangeContentMD5"
          },
          {
            "$ref": "#/parameters/GetRangeContentCRC64"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the content of the entire blob.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-meta": {
                "type": "string",
                "x-ms-client-name": "Metadata",
                "x-ms-header-collection-prefix": "x-ms-meta-"
              },
              "Content-Length": {
                "type": "integer",
                "format": "int64",
                "description": "The number of bytes present in the response body."
              },
              "Content-Type": {
                "type": "string",
                "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'"
              },
              "Content-Range": {
                "type": "string",
                "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "Content-Encoding": {
                "type": "string",
                "description": "This header returns the value that was specified for the Content-Encoding request header"
              },
              "Cache-Control": {
                "type": "string",
                "description": "This header is returned if it was previously specified for the blob."
              },
              "Content-Disposition": {
                "type": "string",
                "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified."
              },
              "Content-Language": {
                "type": "string",
                "description": "This header returns the value that was specified for the Content-Language request header."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs"
              },
              "x-ms-blob-type": {
                "x-ms-client-name": "BlobType",
                "description": "The blob's type.",
                "type": "string",
                "enum": [
                  "BlockBlob",
                  "PageBlob",
                  "AppendBlob"
                ],
                "x-ms-enum": {
                  "name": "BlobType",
                  "modelAsString": false
                }
              },
              "x-ms-copy-completion-time": {
                "x-ms-client-name": "CopyCompletionTime",
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List."
              },
              "x-ms-copy-status-description": {
                "x-ms-client-name": "CopyStatusDescription",
                "type": "string",
                "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List"
              },
              "x-ms-copy-id": {
                "x-ms-client-name": "CopyId",
                "type": "string",
                "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy."
              },
              "x-ms-copy-progress": {
                "x-ms-client-name": "CopyProgress",
                "type": "string",
                "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List"
              },
              "x-ms-copy-source": {
                "x-ms-client-name": "CopySource",
                "type": "string",
                "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List."
              },
              "x-ms-copy-status": {
                "x-ms-client-name": "CopyStatus",
                "description": "State of the copy operation identified by x-ms-copy-id.",
                "type": "string",
                "enum": [
                  "pending",
                  "success",
                  "aborted",
                  "failed"
                ],
                "x-ms-enum": {
                  "name": "CopyStatusType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-duration": {
                "x-ms-client-name": "LeaseDuration",
                "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.",
                "type": "string",
                "enum": [
                  "infinite",
                  "fixed"
                ],
                "x-ms-enum": {
                  "name": "LeaseDurationType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-state": {
                "x-ms-client-name": "LeaseState",
                "description": "Lease state of the blob.",
                "type": "string",
                "enum": [
                  "available",
                  "leased",
                  "expired",
                  "breaking",
                  "broken"
                ],
                "x-ms-enum": {
                  "name": "LeaseStateType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-status": {
                "x-ms-client-name": "LeaseStatus",
                "description": "The current lease status of the blob.",
                "type": "string",
                "enum": [
                  "locked",
                  "unlocked"
                ],
                "x-ms-enum": {
                  "name": "LeaseStatusType",
                  "modelAsString": false
                }
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Accept-Ranges": {
                "type": "string",
                "description": "Indicates that the service supports requests for partial blob content."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-blob-committed-block-count": {
                "x-ms-client-name": "BlobCommittedBlockCount",
                "type": "integer",
                "description": "The number of committed blocks present in the blob. This header is returned only for append blobs."
              },
	            "x-ms-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key."
              },
              "x-ms-blob-content-md5": {
                "x-ms-client-name": "BlobContentMD5",
                "type": "string",
                "format": "byte",
                "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range"
              }
            },
            "schema": {
              "type": "object",
              "format": "file"
            }
          },
          "206": {
            "description": "Returns the content of a specified range of the blob.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-meta": {
                "type": "string",
                "x-ms-client-name": "Metadata",
                "x-ms-header-collection-prefix": "x-ms-meta-"
              },
              "Content-Length": {
                "type": "integer",
                "format": "int64",
                "description": "The number of bytes present in the response body."
              },
              "Content-Type": {
                "type": "string",
                "description": "The media type of the body of the response. For Download Blob this is 'application/octet-stream'"
              },
              "Content-Range": {
                "type": "string",
                "description": "Indicates the range of bytes returned in the event that the client requested a subset of the blob by setting the 'Range' request header."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "Content-Encoding": {
                "type": "string",
                "description": "This header returns the value that was specified for the Content-Encoding request header"
              },
              "Cache-Control": {
                "type": "string",
                "description": "This header is returned if it was previously specified for the blob."
              },
              "Content-Disposition": {
                "type": "string",
                "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified."
              },
              "Content-Language": {
                "type": "string",
                "description": "This header returns the value that was specified for the Content-Language request header."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs"
              },
              "x-ms-blob-type": {
                "x-ms-client-name": "BlobType",
                "description": "The blob's type.",
                "type": "string",
                "enum": [
                  "BlockBlob",
                  "PageBlob",
                  "AppendBlob"
                ],
                "x-ms-enum": {
                  "name": "BlobType",
                  "modelAsString": false
                }
              },
              "x-ms-content-crc64": {
                "x-ms-client-name": "ContentCrc64",
                "type": "string",
                "format": "byte",
                "description": "If the request is to read a specified range and the x-ms-range-get-content-crc64 is set to true, then the request returns a crc64 for the range, as long as the range size is less than or equal to 4 MB. If both x-ms-range-get-content-crc64 & x-ms-range-get-content-md5 is specified in the same request, it will fail with 400(Bad Request)"
              },
              "x-ms-copy-completion-time": {
                "x-ms-client-name": "CopyCompletionTime",
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List."
              },
              "x-ms-copy-status-description": {
                "x-ms-client-name": "CopyStatusDescription",
                "type": "string",
                "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List"
              },
              "x-ms-copy-id": {
                "x-ms-client-name": "CopyId",
                "type": "string",
                "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy."
              },
              "x-ms-copy-progress": {
                "x-ms-client-name": "CopyProgress",
                "type": "string",
                "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List"
              },
              "x-ms-copy-source": {
                "x-ms-client-name": "CopySource",
                "type": "string",
                "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List."
              },
              "x-ms-copy-status": {
                "x-ms-client-name": "CopyStatus",
                "description": "State of the copy operation identified by x-ms-copy-id.",
                "type": "string",
                "enum": [
                  "pending",
                  "success",
                  "aborted",
                  "failed"
                ],
                "x-ms-enum": {
                  "name": "CopyStatusType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-duration": {
                "x-ms-client-name": "LeaseDuration",
                "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.",
                "type": "string",
                "enum": [
                  "infinite",
                  "fixed"
                ],
                "x-ms-enum": {
                  "name": "LeaseDurationType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-state": {
                "x-ms-client-name": "LeaseState",
                "description": "Lease state of the blob.",
                "type": "string",
                "enum": [
                  "available",
                  "leased",
                  "expired",
                  "breaking",
                  "broken"
                ],
                "x-ms-enum": {
                  "name": "LeaseStateType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-status": {
                "x-ms-client-name": "LeaseStatus",
                "description": "The current lease status of the blob.",
                "type": "string",
                "enum": [
                  "locked",
                  "unlocked"
                ],
                "x-ms-enum": {
                  "name": "LeaseStatusType",
                  "modelAsString": false
                }
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Accept-Ranges": {
                "type": "string",
                "description": "Indicates that the service supports requests for partial blob content."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-blob-committed-block-count": {
                "x-ms-client-name": "BlobCommittedBlockCount",
                "type": "integer",
                "description": "The number of committed blocks present in the blob. This header is returned only for append blobs."
              },
	            "x-ms-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key."
              },
              "x-ms-blob-content-md5": {
                "x-ms-client-name": "BlobContentMD5",
                "type": "string",
                "format": "byte",
                "description": "If the blob has a MD5 hash, and if request contains range header (Range or x-ms-range), this response header is returned with the value of the whole blob's MD5 value. This value may or may not be equal to the value returned in Content-MD5 header, with the latter calculated from the requested range"
              }
            },
            "schema": {
              "type": "object",
              "format": "file"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "head": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_GetProperties",
        "description": "The Get Properties operation returns all user-defined metadata, standard HTTP properties, and system properties for the blob. It does not return the content of the blob.",
        "parameters": [
          {
            "$ref": "#/parameters/Snapshot"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the properties of the blob.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-creation-time": {
                "x-ms-client-name": "CreationTime",
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the blob was created."
              },
              "x-ms-meta": {
                "type": "string",
                "x-ms-client-name": "Metadata",
                "x-ms-header-collection-prefix": "x-ms-meta-"
              },
              "x-ms-blob-type": {
                "x-ms-client-name": "BlobType",
                "description": "The blob's type.",
                "type": "string",
                "enum": [
                  "BlockBlob",
                  "PageBlob",
                  "AppendBlob"
                ],
                "x-ms-enum": {
                  "name": "BlobType",
                  "modelAsString": false
                }
              },
              "x-ms-copy-completion-time": {
                "x-ms-client-name": "CopyCompletionTime",
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Conclusion time of the last attempted Copy Blob operation where this blob was the destination blob. This value can specify the time of a completed, aborted, or failed copy attempt. This header does not appear if a copy is pending, if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List."
              },
              "x-ms-copy-status-description": {
                "x-ms-client-name": "CopyStatusDescription",
                "type": "string",
                "description": "Only appears when x-ms-copy-status is failed or pending. Describes the cause of the last fatal or non-fatal copy operation failure. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List"
              },
              "x-ms-copy-id": {
                "x-ms-client-name": "CopyId",
                "type": "string",
                "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy."
              },
              "x-ms-copy-progress": {
                "x-ms-client-name": "CopyProgress",
                "type": "string",
                "description": "Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this blob was the destination blob. Can show between 0 and Content-Length bytes copied. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List"
              },
              "x-ms-copy-source": {
                "x-ms-client-name": "CopySource",
                "type": "string",
                "description": "URL up to 2 KB in length that specifies the source blob or file used in the last attempted Copy Blob operation where this blob was the destination blob. This header does not appear if this blob has never been the destination in a Copy Blob operation, or if this blob has been modified after a concluded Copy Blob operation using Set Blob Properties, Put Blob, or Put Block List."
              },
              "x-ms-copy-status": {
                "x-ms-client-name": "CopyStatus",
                "description": "State of the copy operation identified by x-ms-copy-id.",
                "type": "string",
                "enum": [
                  "pending",
                  "success",
                  "aborted",
                  "failed"
                ],
                "x-ms-enum": {
                  "name": "CopyStatusType",
                  "modelAsString": false
                }
              },
              "x-ms-incremental-copy": {
                "x-ms-client-name": "IsIncrementalCopy",
                "type": "boolean",
                "description": "Included if the blob is incremental copy blob."
              },
              "x-ms-copy-destination-snapshot": {
                "x-ms-client-name": "DestinationSnapshot",
                "type": "string",
                "description": "Included if the blob is incremental copy blob or incremental copy snapshot, if x-ms-copy-status is success. Snapshot time of the last successful incremental copy snapshot for this blob."
              },
              "x-ms-lease-duration": {
                "x-ms-client-name": "LeaseDuration",
                "description": "When a blob is leased, specifies whether the lease is of infinite or fixed duration.",
                "type": "string",
                "enum": [
                  "infinite",
                  "fixed"
                ],
                "x-ms-enum": {
                  "name": "LeaseDurationType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-state": {
                "x-ms-client-name": "LeaseState",
                "description": "Lease state of the blob.",
                "type": "string",
                "enum": [
                  "available",
                  "leased",
                  "expired",
                  "breaking",
                  "broken"
                ],
                "x-ms-enum": {
                  "name": "LeaseStateType",
                  "modelAsString": false
                }
              },
              "x-ms-lease-status": {
                "x-ms-client-name": "LeaseStatus",
                "description": "The current lease status of the blob.",
                "type": "string",
                "enum": [
                  "locked",
                  "unlocked"
                ],
                "x-ms-enum": {
                  "name": "LeaseStatusType",
                  "modelAsString": false
                }
              },
              "Content-Length": {
                "type": "integer",
                "format": "int64",
                "description": "The number of bytes present in the response body."
              },
              "Content-Type": {
                "type": "string",
                "description": "The content type specified for the blob. The default content type is 'application/octet-stream'"
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "Content-Encoding": {
                "type": "string",
                "description": "This header returns the value that was specified for the Content-Encoding request header"
              },
              "Content-Disposition": {
                "type": "string",
                "description": "This header returns the value that was specified for the 'x-ms-blob-content-disposition' header. The Content-Disposition response header field conveys additional information about how to process the response payload, and also can be used to attach additional metadata. For example, if set to attachment, it indicates that the user-agent should not display the response, but instead show a Save As dialog with a filename other than the blob name specified."
              },
              "Content-Language": {
                "type": "string",
                "description": "This header returns the value that was specified for the Content-Language request header."
              },
              "Cache-Control": {
                "type": "string",
                "description": "This header is returned if it was previously specified for the blob."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "Accept-Ranges": {
                "type": "string",
                "description": "Indicates that the service supports requests for partial blob content."
              },
              "x-ms-blob-committed-block-count": {
                "x-ms-client-name": "BlobCommittedBlockCount",
                "type": "integer",
                "description": "The number of committed blocks present in the blob. This header is returned only for append blobs."
              },
	            "x-ms-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the blob data and application metadata are completely encrypted using the specified algorithm. Otherwise, the value is set to false (when the blob is unencrypted, or if only parts of the blob/application metadata are encrypted)."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the metadata. This header is only returned when the metadata was encrypted with a customer-provided key."
              },
              "x-ms-access-tier": {
                "x-ms-client-name": "AccessTier",
                "type": "string",
                "description": "The tier of page blob on a premium storage account or tier of block blob on blob storage LRS accounts. For a list of allowed premium page blob tiers, see https://docs.microsoft.com/en-us/azure/virtual-machines/windows/premium-storage#features. For blob storage LRS accounts, valid values are Hot/Cool/Archive."
              },
              "x-ms-access-tier-inferred": {
                "x-ms-client-name": "AccessTierInferred",
                "type": "boolean",
                "description": "For page blobs on a premium storage account only. If the access tier is not explicitly set on the blob, the tier is inferred based on its content length and this header will be returned with true value."
              },
              "x-ms-archive-status": {
                "x-ms-client-name": "ArchiveStatus",
                "type": "string",
                "description": "For blob storage LRS accounts, valid values are rehydrate-pending-to-hot/rehydrate-pending-to-cool. If the blob is being rehydrated and is not complete then this header is returned indicating that rehydrate is pending and also tells the destination tier."
              },
              "x-ms-access-tier-change-time": {
                "x-ms-client-name": "AccessTierChangeTime",
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "The time the tier was changed on the object. This is only returned if the tier on the block blob was ever set."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "delete": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_Delete",
        "description": "If the storage account's soft delete feature is disabled then, when a blob is deleted, it is permanently removed from the storage account. If the storage account's soft delete feature is enabled, then, when a blob is deleted, it is marked for deletion and becomes inaccessible immediately. However, the blob service retains the blob or snapshot for the number of days specified by the DeleteRetentionPolicy section of [Storage service properties] (Set-Blob-Service-Properties.md). After the specified number of days has passed, the blob's data is permanently removed from the storage account. Note that you continue to be charged for the soft-deleted blob's storage until it is permanently removed. Use the List Blobs API and specify the \"include=deleted\" query parameter to discover which blobs and snapshots have been soft deleted. You can then use the Undelete Blob API to restore a soft-deleted blob. All other operations on a soft-deleted blob or snapshot causes the service to return an HTTP status code of 404 (ResourceNotFound).",
        "parameters": [
          {
            "$ref": "#/parameters/Snapshot"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/DeleteSnapshots"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "202": {
            "description": "The delete request was accepted and the blob will be deleted.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      }
    },
    "/{filesystem}/{path}?action=setAccessControl&blob": {
      "patch": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_SetAccessControl",
        "description": "Set the owner, group, permissions, or access control list for a blob.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/Owner"
          },
          {
            "$ref": "#/parameters/Group"
          },
          {
            "$ref": "#/parameters/PosixPermissions"
          },
          {
            "$ref": "#/parameters/PosixAcl"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Set blob access control response.",
            "headers": {
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "An HTTP entity tag associated with the file or directory."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            },
            "schema": {
              "$ref": "#/definitions/DataLakeStorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "action",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "setAccessControl"
          ]
        }
      ]
    },
    "/{filesystem}/{path}?action=getAccessControl&blob": {
      "head": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_GetAccessControl",
        "description": "Get the owner, group, permissions, or access control list for a blob.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Upn"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Get blob access control response.",
            "headers": {
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "An HTTP entity tag associated with the file or directory."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "The data and time the file or directory was last modified. Write operations on the file or directory update the last modified time."
              },
              "x-ms-owner": {
                "description": "The owner of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.",
                "type": "string"
              },
              "x-ms-group": {
                "description": "The owning group of the file or directory. Included in the response if Hierarchical Namespace is enabled for the account.",
                "type": "string"
              },
              "x-ms-permissions": {
                "description": "The POSIX access permissions for the file owner, the file owning group, and others. Included in the response if Hierarchical Namespace is enabled for the account.",
                "type": "string"
              },
              "x-ms-acl": {
                "description": "The POSIX access control list for the file or directory.  Included in the response only if the action is \"getAccessControl\" and Hierarchical Namespace is enabled for the account.",
                "type": "string"
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            },
            "schema": {
              "$ref": "#/definitions/DataLakeStorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "action",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "getAccessControl"
          ]
        }
      ]
    },
    "/{filesystem}/{path}?FileRename": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_Rename",
        "description": "Rename a blob/file.  By default, the destination is overwritten and if the destination already exists and has a lease the lease is broken.  This operation supports conditional HTTP requests.  For more information, see [Specifying Conditional Headers for Blob Service Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).  To fail if the destination already exists, use a conditional request with If-None-Match: \"*\".",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/PathRenameMode"
          },
          {
            "$ref": "#/parameters/FileRenameSource"
          },
          {
            "$ref": "#/parameters/DirectoryProperties"
          },
          {
            "$ref": "#/parameters/PosixPermissions"
          },
          {
            "$ref": "#/parameters/PosixUmask"
          },
          {
            "$ref": "#/parameters/XMsCacheControl"
          },
          {
            "$ref": "#/parameters/XMsContentType"
          },
          {
            "$ref": "#/parameters/XMsContentEncoding"
          },
          {
            "$ref": "#/parameters/XMsContentLanguage"
          },
          {
            "$ref": "#/parameters/XMsContentDisposition"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/SourceLeaseId"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/SourceIfModifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfMatch"
          },
          {
            "$ref": "#/parameters/SourceIfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The file was renamed.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "An HTTP entity tag associated with the file or directory."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "The data and time the file or directory was last modified.  Write operations on the file or directory update the last modified time."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              },
              "Content-Length": {
                "type": "integer",
                "format": "int64",
                "description": "The size of the resource in bytes."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "A UTC date/time value generated by the service that indicates the time at which the response was initiated."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "A server-generated UUID recorded in the analytics logs for troubleshooting and correlation."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "The version of the REST protocol used to process the request."
              }
            },
            "schema": {
              "$ref": "#/definitions/DataLakeStorageError"
            }
          }
        }
      }
    },
    "/{containerName}/{blob}?PageBlob": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "PageBlob_Create",
        "description": "The Create operation creates a new page blob.",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/PremiumPageBlobAccessTierOptional"
          },
          {
            "$ref": "#/parameters/BlobContentType"
          },
          {
            "$ref": "#/parameters/BlobContentEncoding"
          },
          {
            "$ref": "#/parameters/BlobContentLanguage"
          },
          {
            "$ref": "#/parameters/BlobContentMD5"
          },
          {
            "$ref": "#/parameters/BlobCacheControl"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/BlobContentDisposition"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/BlobContentLengthRequired"
          },
          {
            "$ref": "#/parameters/BlobSequenceNumber"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The blob was created.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
	            },
	            "x-ms-request-server-encrypted": {
		            "x-ms-client-name": "IsServerEncrypted",
		            "type": "boolean",
		            "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "x-ms-blob-type",
          "x-ms-client-name": "blobType",
          "in": "header",
          "required": true,
          "x-ms-parameter-location": "method",
          "description": "Specifies the type of blob to create: block blob, page blob, or append blob.",
          "type": "string",
          "enum": [
            "PageBlob"
          ],
          "x-ms-enum": {
            "name": "BlobType",
            "modelAsString": false
          }
        }
      ]
    },
    "/{containerName}/{blob}?AppendBlob": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "AppendBlob_Create",
        "description": "The Create Append Blob operation creates a new append blob.",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/BlobContentType"
          },
          {
            "$ref": "#/parameters/BlobContentEncoding"
          },
          {
            "$ref": "#/parameters/BlobContentLanguage"
          },
          {
            "$ref": "#/parameters/BlobContentMD5"
          },
          {
            "$ref": "#/parameters/BlobCacheControl"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/BlobContentDisposition"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The blob was created.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
	            },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "x-ms-blob-type",
          "x-ms-client-name": "blobType",
          "in": "header",
          "required": true,
          "x-ms-parameter-location": "method",
          "description": "Specifies the type of blob to create: block blob, page blob, or append blob.",
          "type": "string",
          "enum": [
            "AppendBlob"
          ],
          "x-ms-enum": {
            "name": "BlobType",
            "modelAsString": false
          }
        }
      ]
    },
    "/{containerName}/{blob}?BlockBlob": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "BlockBlob_Upload",
        "description": "The Upload Block Blob operation updates the content of an existing block blob. Updating an existing block blob overwrites any existing metadata on the blob. Partial updates are not supported with Put Blob; the content of the existing blob is overwritten with the content of the new blob. To perform a partial update of the content of a block blob, use the Put Block List operation.",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Body"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
		      {
            "$ref": "#/parameters/ContentMD5"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/BlobContentType"
          },
          {
            "$ref": "#/parameters/BlobContentEncoding"
          },
          {
            "$ref": "#/parameters/BlobContentLanguage"
          },
          {
            "$ref": "#/parameters/BlobContentMD5"
          },
          {
            "$ref": "#/parameters/BlobCacheControl"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/BlobContentDisposition"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/AccessTierOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The blob was updated.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
	            },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "x-ms-blob-type",
          "x-ms-client-name": "blobType",
          "in": "header",
          "required": true,
          "x-ms-parameter-location": "method",
          "description": "Specifies the type of blob to create: block blob, page blob, or append blob.",
          "type": "string",
          "enum": [
            "BlockBlob"
          ],
          "x-ms-enum": {
            "name": "BlobType",
            "modelAsString": false
          }
        }
      ]
    },
    "/{containerName}/{blob}?comp=undelete": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_Undelete",
        "description": "Undelete a blob that was previously soft deleted",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The blob was undeleted successfully.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "undelete"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=properties&SetHTTPHeaders": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_SetHTTPHeaders",
        "description": "The Set HTTP Headers operation sets system properties on the blob",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/BlobCacheControl"
          },
          {
            "$ref": "#/parameters/BlobContentType"
          },
          {
            "$ref": "#/parameters/BlobContentMD5"
          },
          {
            "$ref": "#/parameters/BlobContentEncoding"
          },
          {
            "$ref": "#/parameters/BlobContentLanguage"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/BlobContentDisposition"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The properties were set successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "properties"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=metadata": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_SetMetadata",
        "description": "The Set Blob Metadata operation sets user-defined metadata for the specified blob as one or more name-value pairs",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The metadata was set successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the metadata. This header is only returned when the metadata was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "metadata"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=lease&acquire": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_AcquireLease",
        "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseDuration"
          },
          {
            "$ref": "#/parameters/ProposedLeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The Acquire operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-lease-id": {
                "x-ms-client-name": "LeaseId",
                "type": "string",
                "description": "Uniquely identifies a blobs's lease"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "acquire"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}/{blob}?comp=lease&release": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_ReleaseLease",
        "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdRequired"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Release operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "release"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}/{blob}?comp=lease&renew": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_RenewLease",
        "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdRequired"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Renew operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-lease-id": {
                "x-ms-client-name": "LeaseId",
                "type": "string",
                "description": "Uniquely identifies a blobs's lease"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "renew"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}/{blob}?comp=lease&change": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_ChangeLease",
        "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdRequired"
          },
          {
            "$ref": "#/parameters/ProposedLeaseIdRequired"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Change operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-lease-id": {
                "x-ms-client-name": "LeaseId",
                "type": "string",
                "description": "Uniquely identifies a blobs's lease"
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "change"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}/{blob}?comp=lease&break": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_BreakLease",
        "description": "[Update] The Lease Blob operation establishes and manages a lock on a blob for write and delete operations",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseBreakPeriod"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "202": {
            "description": "The Break operation completed successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the blob was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-lease-time": {
                "x-ms-client-name": "LeaseTime",
                "type": "integer",
                "description": "Approximate time remaining in the lease period, in seconds."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "lease"
          ]
        },
        {
          "name": "x-ms-lease-action",
          "x-ms-client-name": "action",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "break"
          ],
          "x-ms-enum": {
            "name": "LeaseAction",
            "modelAsString": false
          },
          "x-ms-parameter-location": "method",
          "description": "Describes what lease action to take."
        }
      ]
    },
    "/{containerName}/{blob}?comp=snapshot": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_CreateSnapshot",
        "description": "The Create Snapshot operation creates a read-only snapshot of a blob",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The snaptshot was taken successfully.",
            "headers": {
              "x-ms-snapshot": {
                "x-ms-client-name": "Snapshot",
                "type": "string",
                "description": "Uniquely identifies the snapshot and indicates the snapshot version. It may be used in subsequent requests to access the snapshot"
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "True if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise. For a snapshot request, this header is set to true when metadata was provided in the request and encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "snapshot"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=copy": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_StartCopyFromURL",
        "description": "The Start Copy From URL operation copies a blob or an internet resource to a new blob.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/AccessTierOptional"
          },
          {
            "$ref": "#/parameters/RehydratePriority"
          },
          {
            "$ref": "#/parameters/SourceIfModifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfMatch"
          },
          {
            "$ref": "#/parameters/SourceIfNoneMatch"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/CopySource"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "202": {
            "description": "The copy blob has been accepted with the specified copy status.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-copy-id": {
                "x-ms-client-name": "CopyId",
                "type": "string",
                "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy."
              },
              "x-ms-copy-status": {
                "x-ms-client-name": "CopyStatus",
                "description": "State of the copy operation identified by x-ms-copy-id.",
                "type": "string",
                "enum": [
                  "pending",
                  "success",
                  "aborted",
                  "failed"
                ],
                "x-ms-enum": {
                  "name": "CopyStatusType",
                  "modelAsString": false
                }
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": []
    },
    "/{containerName}/{blob}?comp=copy&sync": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_CopyFromURL",
        "description": "The Copy From URL operation copies a blob or an internet resource to a new blob. It will not return a response until the copy is complete.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/AccessTierOptional"
          },
          {
            "$ref": "#/parameters/SourceIfModifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfMatch"
          },
          {
            "$ref": "#/parameters/SourceIfNoneMatch"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/CopySource"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          },
          {
            "$ref": "#/parameters/SourceContentMD5"
          }
        ],
        "responses": {
          "202": {
            "description": "The copy has completed.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-copy-id": {
                "x-ms-client-name": "CopyId",
                "type": "string",
                "description": "String identifier for this copy operation."
              },
              "x-ms-copy-status": {
                "x-ms-client-name": "CopyStatus",
                "description": "State of the copy operation identified by x-ms-copy-id.",
                "type": "string",
                "enum": [
                  "success"
                ],
                "x-ms-enum": {
                  "name": "SyncCopyStatusType",
                  "modelAsString": false
                }
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "This response header is returned so that the client can check for the integrity of the copied content. This header is only returned if the source content MD5 was specified."
              },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This response header is returned so that the client can check for the integrity of the copied content."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "x-ms-requires-sync",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "true"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=copy&copyid={CopyId}": {
      "put": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_AbortCopyFromURL",
        "description": "The Abort Copy From URL operation aborts a pending Copy From URL operation, and leaves a destination blob with zero length and full metadata.",
        "parameters": [
          {
            "$ref": "#/parameters/CopyId"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "204": {
            "description": "The delete request was accepted and the blob will be deleted.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "copy"
          ]
        },
        {
          "name": "x-ms-copy-action",
          "x-ms-client-name": "copyActionAbortConstant",
          "in": "header",
          "required": true,
          "type": "string",
          "enum": [
            "abort"
          ],
          "x-ms-parameter-location": "method"
        }
      ]
    },
    "/{containerName}/{blob}?comp=tier": {
      "put": {
        "tags": [
          "blobs"
        ],
        "operationId": "Blob_SetTier",
        "description": "The Set Tier operation sets the tier on a blob. The operation is allowed on a page blob in a premium storage account and on a block blob in a blob storage account (locally redundant storage only). A premium page blob's tier determines the allowed size, IOPS, and bandwidth of the blob. A block blob's tier determines Hot/Cool/Archive storage type. This operation does not update the blob's ETag.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/AccessTierRequired"
          },
          {
            "$ref": "#/parameters/RehydratePriority"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          }
        ],
        "responses": {
          "200": {
            "description": "The new tier will take effect immediately.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer."
              }
            }
          },
          "202": {
            "description": "The transition to the new tier is pending.",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and newer."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "tier"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?restype=account&comp=properties": {
      "get": {
        "tags": [
          "blob"
        ],
        "operationId": "Blob_GetAccountInfo",
        "description": "Returns the sku name and account kind ",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Success (OK)",
            "headers": {
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-sku-name": {
                "x-ms-client-name": "SkuName",
                "type": "string",
                "enum": [
                  "Standard_LRS",
                  "Standard_GRS",
                  "Standard_RAGRS",
                  "Standard_ZRS",
                  "Premium_LRS"
                ],
                "x-ms-enum": {
                  "name": "SkuName",
                  "modelAsString": false
                },
                "description": "Identifies the sku name of the account"
              },
              "x-ms-account-kind": {
                "x-ms-client-name": "AccountKind",
                "type": "string",
                "enum": [
                  "Storage",
                  "BlobStorage",
                  "StorageV2"
                ],
                "x-ms-enum": {
                  "name": "AccountKind",
                  "modelAsString": false
                },
                "description": "Identifies the account kind"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "restype",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "account"
          ]
        },
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "properties"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=block": {
      "put": {
        "tags": [
          "blockblob"
        ],
        "operationId": "BlockBlob_StageBlock",
        "description": "The Stage Block operation creates a new block to be committed as part of a blob",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/BlockId"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/ContentMD5"
          },
          {
            "$ref": "#/parameters/ContentCrc64"
          },
          {
            "$ref": "#/parameters/Body"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The block was created.",
            "headers": {
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
	            },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "block"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=block&fromURL": {
      "put": {
        "tags": [
          "blockblob"
        ],
        "operationId": "BlockBlob_StageBlockFromURL",
        "description": "The Stage Block operation creates a new block to be committed as part of a blob where the contents are read from a URL.",
        "parameters": [
          {
            "$ref": "#/parameters/BlockId"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/SourceUrl"
          },
          {
            "$ref": "#/parameters/SourceRange"
          },
          {
            "$ref": "#/parameters/SourceContentMD5"
          },
          {
            "$ref": "#/parameters/SourceContentCRC64"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
           {
            "$ref": "#/parameters/SourceIfModifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfMatch"
          },
          {
            "$ref": "#/parameters/SourceIfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
    	    }
        ],
        "responses": {
          "201": {
            "description": "The block was created.",
            "headers": {
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
	            },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "block"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=blocklist": {
      "put": {
        "tags": [
          "blockblob"
        ],
        "operationId": "BlockBlob_CommitBlockList",
        "description": "The Commit Block List operation writes a blob by specifying the list of block IDs that make up the blob. In order to be written as part of a blob, a block must have been successfully written to the server in a prior Put Block operation. You can call Put Block List to update a blob by uploading only those blocks that have changed, then committing the new and existing blocks together. You can do this by specifying whether to commit a block from the committed block list or from the uncommitted block list, or to commit the most recently uploaded version of the block, whichever list it may belong to.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/BlobCacheControl"
          },
          {
            "$ref": "#/parameters/BlobContentType"
          },
          {
            "$ref": "#/parameters/BlobContentEncoding"
          },
          {
            "$ref": "#/parameters/BlobContentLanguage"
          },
          {
            "$ref": "#/parameters/BlobContentMD5"
          },
          {
            "$ref": "#/parameters/ContentMD5"
          },
          {
            "$ref": "#/parameters/ContentCrc64"
          },
          {
            "$ref": "#/parameters/Metadata"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/BlobContentDisposition"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/AccessTierOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "name": "blocks",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/BlockLookupList"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The block list was recorded.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. This header refers to the content of the request, meaning, in this case, the list of blocks, and not the content of the blob itself."
              },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. This header refers to the content of the request, meaning, in this case, the list of blocks, and not the content of the blob itself."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
	            },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "get": {
        "tags": [
          "blockblob"
        ],
        "operationId": "BlockBlob_GetBlockList",
        "description": "The Get Block List operation retrieves the list of blocks that have been uploaded as part of a block blob",
        "parameters": [
          {
            "$ref": "#/parameters/Snapshot"
          },
          {
            "$ref": "#/parameters/BlockListType"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The page range was written.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Content-Type": {
                "type": "string",
                "description": "The media type of the body of the response. For Get Block List this is 'application/xml'"
              },
              "x-ms-blob-content-length": {
                "x-ms-client-name": "BlobContentLength",
                "type": "integer",
                "format": "int64",
                "description": "The size of the blob in bytes."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            },
            "schema": {
              "$ref": "#/definitions/BlockList"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "blocklist"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=page&update": {
      "put": {
        "tags": [
          "pageblob"
        ],
        "operationId": "PageBlob_UploadPages",
        "description": "The Upload Pages operation writes a range of pages to a page blob",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/Body"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/ContentMD5"
          },
          {
            "$ref": "#/parameters/ContentCrc64"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Range"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberLessThan"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberEqualTo"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The page range was written.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for the page blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
	            },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the pages. This header is only returned when the pages were encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "page"
          ]
        },
        {
          "name": "x-ms-page-write",
          "x-ms-client-name": "pageWrite",
          "in": "header",
          "required": true,
          "x-ms-parameter-location": "method",
          "description": "Required. You may specify one of the following options:\n  - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n  - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.",
          "type": "string",
          "enum": [
            "update"
          ],
          "x-ms-enum": {
            "name": "PageWriteType",
            "modelAsString": false
          }
        }
      ]
    },
    "/{containerName}/{blob}?comp=page&clear": {
      "put": {
        "tags": [
          "pageblob"
        ],
        "operationId": "PageBlob_ClearPages",
        "description": "The Clear Pages operation clears a set of pages from a page blob",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Range"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberLessThan"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberEqualTo"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The page range was cleared.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for the page blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "page"
          ]
        },
        {
          "name": "x-ms-page-write",
          "x-ms-client-name": "pageWrite",
          "in": "header",
          "required": true,
          "x-ms-parameter-location": "method",
          "description": "Required. You may specify one of the following options:\n  - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n  - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.",
          "type": "string",
          "enum": [
            "clear"
          ],
          "x-ms-enum": {
            "name": "PageWriteType",
            "modelAsString": false
          }
        }
      ]
    },
    "/{containerName}/{blob}?comp=page&update&fromUrl": {
      "put": {
        "tags": [
          "pageblob"
        ],
        "operationId": "PageBlob_UploadPagesFromURL",
        "description": "The Upload Pages operation writes a range of pages to a page blob where the contents are read from a URL",
        "consumes": [
          "application/octet-stream"
        ],
        "parameters": [
          {
            "$ref": "#/parameters/SourceUrl"
          },
          {
            "$ref": "#/parameters/SourceRangeRequiredPutPageFromUrl"
          },
          {
            "$ref": "#/parameters/SourceContentMD5"
          },
          {
            "$ref": "#/parameters/SourceContentCRC64"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/RangeRequiredPutPageFromUrl"
          },
	        {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberLessThanOrEqualTo"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberLessThan"
          },
          {
            "$ref": "#/parameters/IfSequenceNumberEqualTo"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/SourceIfModifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfMatch"
          },
          {
            "$ref": "#/parameters/SourceIfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The page range was written.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for the page blob."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the blob. This header is only returned when the blob was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "page"
          ]
        },
        {
          "name": "x-ms-page-write",
          "x-ms-client-name": "pageWrite",
          "in": "header",
          "required": true,
          "x-ms-parameter-location": "method",
          "description": "Required. You may specify one of the following options:\n  - Update: Writes the bytes specified by the request body into the specified range. The Range and Content-Length headers must match to perform the update.\n  - Clear: Clears the specified range and releases the space used in storage for that range. To clear a range, set the Content-Length header to zero, and the Range header to a value that indicates the range to clear, up to maximum blob size.",
          "type": "string",
          "enum": [
            "update"
          ],
          "x-ms-enum": {
            "name": "PageWriteType",
            "modelAsString": false
          }
        }
      ]
    },
    "/{containerName}/{blob}?comp=pagelist": {
      "get": {
        "tags": [
          "pageblob"
        ],
        "operationId": "PageBlob_GetPageRanges",
        "description": "The Get Page Ranges operation returns the list of valid page ranges for a page blob or snapshot of a page blob",
        "parameters": [
          {
            "$ref": "#/parameters/Snapshot"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/Range"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Information on the page blob was found.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "x-ms-blob-content-length": {
                "x-ms-client-name": "BlobContentLength",
                "type": "integer",
                "format": "int64",
                "description": "The size of the blob in bytes."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            },
            "schema": {
              "$ref": "#/definitions/PageList"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "pagelist"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=pagelist&diff": {
      "get": {
        "tags": [
          "pageblob"
        ],
        "operationId": "PageBlob_GetPageRangesDiff",
        "description": "The Get Page Ranges Diff operation returns the list of valid page ranges for a page blob that were changed between target blob and previous snapshot.",
        "parameters": [
          {
            "$ref": "#/parameters/Snapshot"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/PrevSnapshot"
          },
          {
            "$ref": "#/parameters/Range"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Information on the page blob was found.",
            "headers": {
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "x-ms-blob-content-length": {
                "x-ms-client-name": "BlobContentLength",
                "type": "integer",
                "format": "int64",
                "description": "The size of the blob in bytes."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            },
            "schema": {
              "$ref": "#/definitions/PageList"
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "pagelist"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=properties&Resize": {
      "put": {
        "tags": [
          "pageblob"
        ],
        "operationId": "PageBlob_Resize",
        "description": "Resize the Blob",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/BlobContentLengthRequired"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Blob was resized successfully",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "properties"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=properties&UpdateSequenceNumber": {
      "put": {
        "tags": [
          "pageblob"
        ],
        "operationId": "PageBlob_UpdateSequenceNumber",
        "description": "Update the sequence number of the blob",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/SequenceNumberAction"
          },
          {
            "$ref": "#/parameters/BlobSequenceNumber"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The sequence numbers were updated successfully.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-blob-sequence-number": {
                "x-ms-client-name": "BlobSequenceNumber",
                "type": "integer",
                "format": "int64",
                "description": "The current sequence number for a page blob. This header is not returned for block blobs or append blobs"
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "properties"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=incrementalcopy": {
      "put": {
        "tags": [
          "pageblob"
        ],
        "operationId": "PageBlob_CopyIncremental",
        "description": "The Copy Incremental operation copies a snapshot of the source page blob to a destination page blob. The snapshot is copied such that only the differential changes between the previously copied snapshot are transferred to the destination. The copied snapshots are complete copies of the original snapshot and can be read or copied from as usual. This API is supported since REST version 2016-05-31.",
        "parameters": [
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/CopySource"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "202": {
            "description": "The blob was copied.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-copy-id": {
                "x-ms-client-name": "CopyId",
                "type": "string",
                "description": "String identifier for this copy operation. Use with Get Blob Properties to check the status of this copy operation, or pass to Abort Copy Blob to abort a pending copy."
              },
              "x-ms-copy-status": {
                "x-ms-client-name": "CopyStatus",
                "description": "State of the copy operation identified by x-ms-copy-id.",
                "type": "string",
                "enum": [
                  "pending",
                  "success",
                  "aborted",
                  "failed"
                ],
                "x-ms-enum": {
                  "name": "CopyStatusType",
                  "modelAsString": false
                }
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "incrementalcopy"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=appendblock": {
      "put": {
        "tags": [
          "appendblob"
        ],
        "consumes": [
          "application/octet-stream"
        ],
        "operationId": "AppendBlob_AppendBlock",
        "description": "The Append Block operation commits a new block of data to the end of an existing append blob. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.",
        "parameters": [
          {
            "$ref": "#/parameters/Body"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
          {
            "$ref": "#/parameters/ContentMD5"
          },
          {
            "$ref": "#/parameters/ContentCrc64"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/BlobConditionMaxSize"
          },
          {
            "$ref": "#/parameters/BlobConditionAppendPos"
          },
          {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The block was created.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-client-request-id": {
                "x-ms-client-name": "ClientRequestId",
                "type": "string",
                "description": "If a client request id header is sent in the request, this header will be present in the response with the same value."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-blob-append-offset": {
                "x-ms-client-name": "BlobAppendOffset",
                "type": "string",
                "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes."
              },
              "x-ms-blob-committed-block-count": {
                "x-ms-client-name": "BlobCommittedBlockCount",
                "type": "integer",
                "description": "The number of committed blocks present in the blob. This header is returned only for append blobs."
              },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "appendblock"
          ]
        }
      ]
    },
    "/{containerName}/{blob}?comp=appendblock&fromUrl": {
      "put": {
        "tags": [
          "appendblob"
        ],
        "operationId": "AppendBlob_AppendBlockFromUrl",
        "description": "The Append Block operation commits a new block of data to the end of an existing append blob where the contents are read from a source url. The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on version 2015-02-21 version or later.",
        "parameters": [
          {
            "$ref": "#/parameters/SourceUrl"
          },
          {
            "$ref": "#/parameters/SourceRange"
          },
          {
            "$ref": "#/parameters/SourceContentMD5"
          },
          {
	          "$ref": "#/parameters/SourceContentCRC64"
          },
          {
            "$ref": "#/parameters/Timeout"
          },
          {
            "$ref": "#/parameters/ContentLength"
          },
	        {
            "$ref": "#/parameters/ContentMD5"
          },
	        {
            "$ref": "#/parameters/EncryptionKey"
          },
          {
            "$ref": "#/parameters/EncryptionKeySha256"
          },
          {
            "$ref": "#/parameters/EncryptionAlgorithm"
          },
          {
            "$ref": "#/parameters/LeaseIdOptional"
          },
          {
            "$ref": "#/parameters/BlobConditionMaxSize"
          },
          {
            "$ref": "#/parameters/BlobConditionAppendPos"
          },
          {
            "$ref": "#/parameters/IfModifiedSince"
          },
          {
            "$ref": "#/parameters/IfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/IfMatch"
          },
          {
            "$ref": "#/parameters/IfNoneMatch"
          },
          {
            "$ref": "#/parameters/SourceIfModifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfUnmodifiedSince"
          },
          {
            "$ref": "#/parameters/SourceIfMatch"
          },
          {
            "$ref": "#/parameters/SourceIfNoneMatch"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/ClientRequestId"
          }
        ],
        "responses": {
          "201": {
            "description": "The block was created.",
            "headers": {
              "ETag": {
                "type": "string",
                "format": "etag",
                "description": "The ETag contains a value that you can use to perform operations conditionally. If the request version is 2011-08-18 or newer, the ETag value will be in quotes."
              },
              "Last-Modified": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "Returns the date and time the container was last modified. Any operation that modifies the blob, including an update of the blob's metadata or properties, changes the last-modified time of the blob."
              },
              "Content-MD5": {
                "type": "string",
                "format": "byte",
                "description": "If the blob has an MD5 hash and this operation is to read the full blob, this response header is returned so that the client can check for message content integrity."
              },
              "x-ms-content-crc64": {
                "type": "string",
                "format": "byte",
                "description": "This header is returned so that the client can check for message content integrity. The value of this header is computed by the Blob service; it is not necessarily the same value specified in the request headers."
              },
              "x-ms-request-id": {
                "x-ms-client-name": "RequestId",
                "type": "string",
                "description": "This header uniquely identifies the request that was made and can be used for troubleshooting the request."
              },
              "x-ms-version": {
                "x-ms-client-name": "Version",
                "type": "string",
                "description": "Indicates the version of the Blob service used to execute the request. This header is returned for requests made against version 2009-09-19 and above."
              },
              "Date": {
                "type": "string",
                "format": "date-time-rfc1123",
                "description": "UTC date/time value generated by the service that indicates the time at which the response was initiated"
              },
              "x-ms-blob-append-offset": {
                "x-ms-client-name": "BlobAppendOffset",
                "type": "string",
                "description": "This response header is returned only for append operations. It returns the offset at which the block was committed, in bytes."
              },
              "x-ms-blob-committed-block-count": {
                "x-ms-client-name": "BlobCommittedBlockCount",
                "type": "integer",
                "description": "The number of committed blocks present in the blob. This header is returned only for append blobs."
              },
              "x-ms-encryption-key-sha256": {
                "x-ms-client-name": "EncryptionKeySha256",
                "type": "string",
                "description": "The SHA-256 hash of the encryption key used to encrypt the block. This header is only returned when the block was encrypted with a customer-provided key."
              },
              "x-ms-request-server-encrypted": {
                "x-ms-client-name": "IsServerEncrypted",
                "type": "boolean",
                "description": "The value of this header is set to true if the contents of the request are successfully encrypted using the specified algorithm, and false otherwise."
              }
            }
          },
          "default": {
            "description": "Failure",
            "headers": {
              "x-ms-error-code": {
                "x-ms-client-name": "ErrorCode",
                "type": "string"
              }
            },
            "schema": {
              "$ref": "#/definitions/StorageError"
            }
          }
        }
      },
      "parameters": [
        {
          "name": "comp",
          "in": "query",
          "required": true,
          "type": "string",
          "enum": [
            "appendblock"
          ]
        }
      ]
    }
  },
  "definitions": {
    "KeyInfo": {
      "type": "object",
      "required": [
        "Start",
        "Expiry"
      ],
      "description": "Key information",
      "properties": {
        "Start": {
          "description": "The date-time the key is active in ISO 8601 UTC time",
          "type": "string"
        },
        "Expiry": {
          "description": "The date-time the key expires in ISO 8601 UTC time",
          "type": "string"
        }
      }
    },
    "UserDelegationKey": {
      "type": "object",
      "required": [
        "SignedOid",
        "SignedTid",
        "SignedStart",
        "SignedExpiry",
        "SignedService",
        "SignedVersion",
        "Value"
      ],
      "description": "A user delegation key",
      "properties": {
        "SignedOid": {
          "description": "The Azure Active Directory object ID in GUID format.",
          "type": "string"
        },
        "SignedTid": {
          "description": "The Azure Active Directory tenant ID in GUID format",
          "type": "string"
        },
        "SignedStart": {
          "description": "The date-time the key is active",
          "type": "string",
          "format": "date-time"
        },
        "SignedExpiry": {
          "description": "The date-time the key expires",
          "type": "string",
          "format": "date-time"
        },
        "SignedService": {
          "description": "Abbreviation of the Azure Storage service that accepts the key",
          "type": "string"
        },
        "SignedVersion": {
          "description": "The service version that created the key",
          "type": "string"
        },
        "Value": {
          "description": "The key as a base64 string",
          "type": "string"
        }
      }
    },
    "PublicAccessType": {
      "type": "string",
      "enum": [
        "container",
        "blob"
      ],
      "x-ms-enum": {
        "name": "PublicAccessType",
        "modelAsString": true
      }
    },
    "CopyStatus": {
      "type": "string",
      "enum": [
        "pending",
        "success",
        "aborted",
        "failed"
      ],
      "x-ms-enum": {
        "name": "CopyStatusType",
        "modelAsString": false
      }
    },
    "LeaseDuration": {
      "type": "string",
      "enum": [
        "infinite",
        "fixed"
      ],
      "x-ms-enum": {
        "name": "LeaseDurationType",
        "modelAsString": false
      }
    },
    "LeaseState": {
      "type": "string",
      "enum": [
        "available",
        "leased",
        "expired",
        "breaking",
        "broken"
      ],
      "x-ms-enum": {
        "name": "LeaseStateType",
        "modelAsString": false
      }
    },
    "LeaseStatus": {
      "type": "string",
      "enum": [
        "locked",
        "unlocked"
      ],
      "x-ms-enum": {
        "name": "LeaseStatusType",
        "modelAsString": false
      }
    },
    "StorageError": {
      "type": "object",
      "properties": {
        "Message": {
          "type": "string"
        }
      }
    },
    "DataLakeStorageError": {
      "type": "object",
      "properties": {
        "error": {
          "description": "The service error response object.",
          "properties": {
        "Code": {
              "description": "The service error code.",
          "type": "string"
        },
        "Message": {
              "description": "The service error message.",
          "type": "string"
            }
          }
        }
      }
    },
    "AccessPolicy": {
      "type": "object",
      "required": [
        "Start",
        "Expiry",
        "Permission"
      ],
      "description": "An Access policy",
      "properties": {
        "Start": {
          "description": "the date-time the policy is active",
          "type": "string",
          "format": "date-time"
        },
        "Expiry": {
          "description": "the date-time the policy expires",
          "type": "string",
          "format": "date-time"
        },
        "Permission": {
          "description": "the permissions for the acl policy",
          "type": "string"
        }
      }
    },
    "AccessTier": {
      "type": "string",
      "enum": [
        "P4",
        "P6",
        "P10",
        "P15",
        "P20",
        "P30",
        "P40",
        "P50",
        "P60",
        "P70",
        "P80",
        "Hot",
        "Cool",
        "Archive"
      ],
      "x-ms-enum": {
        "name": "AccessTier",
        "modelAsString": true
      }
    },
    "ArchiveStatus": {
      "type": "string",
      "enum": [
        "rehydrate-pending-to-hot",
        "rehydrate-pending-to-cool"
      ],
      "x-ms-enum": {
        "name": "ArchiveStatus",
        "modelAsString": true
      }
    },
    "BlobItem": {
      "xml": {
        "name": "Blob"
      },
      "description": "An Azure Storage blob",
      "type": "object",
      "required": [
        "Name",
        "Deleted",
        "Snapshot",
        "Properties"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Deleted": {
          "type": "boolean"
        },
        "Snapshot": {
          "type": "string"
        },
        "Properties": {
          "$ref": "#/definitions/BlobProperties"
        },
        "Metadata": {
          "$ref": "#/definitions/BlobMetadata"
        }
      }
    },
    "BlobProperties": {
      "xml": {
        "name": "Properties"
      },
      "description": "Properties of a blob",
      "type": "object",
      "required": [
        "Etag",
        "Last-Modified"
      ],
      "properties": {
        "Creation-Time": {
          "type": "string",
          "format": "date-time-rfc1123"
        },
        "Last-Modified": {
          "type": "string",
          "format": "date-time-rfc1123"
        },
        "Etag": {
          "type": "string",
          "format": "etag"
        },
        "Content-Length": {
          "type": "integer",
          "format": "int64",
          "description": "Size in bytes"
        },
        "Content-Type": {
          "type": "string"
        },
        "Content-Encoding": {
          "type": "string"
        },
        "Content-Language": {
          "type": "string"
        },
        "Content-MD5": {
          "type": "string",
          "format": "byte"
        },
        "Content-Disposition": {
          "type": "string"
        },
        "Cache-Control": {
          "type": "string"
        },
        "x-ms-blob-sequence-number": {
          "x-ms-client-name": "blobSequenceNumber",
          "type": "integer",
          "format": "int64"
        },
        "BlobType": {
          "type": "string",
          "enum": [
            "BlockBlob",
            "PageBlob",
            "AppendBlob"
          ],
          "x-ms-enum": {
            "name": "BlobType",
            "modelAsString": false
          }
        },
        "LeaseStatus": {
          "$ref": "#/definitions/LeaseStatus"
        },
        "LeaseState": {
          "$ref": "#/definitions/LeaseState"
        },
        "LeaseDuration": {
          "$ref": "#/definitions/LeaseDuration"
        },
        "CopyId": {
          "type": "string"
        },
        "CopyStatus": {
          "$ref": "#/definitions/CopyStatus"
        },
        "CopySource": {
          "type": "string"
        },
        "CopyProgress": {
          "type": "string"
        },
        "CopyCompletionTime": {
          "type": "string",
          "format": "date-time-rfc1123"
        },
        "CopyStatusDescription": {
          "type": "string"
        },
        "ServerEncrypted": {
          "type": "boolean"
        },
        "IncrementalCopy": {
          "type": "boolean"
        },
        "DestinationSnapshot": {
          "type": "string"
        },
        "DeletedTime": {
          "type": "string",
          "format": "date-time-rfc1123"
        },
        "RemainingRetentionDays": {
          "type": "integer"
        },
        "AccessTier": {
          "$ref": "#/definitions/AccessTier"
        },
        "AccessTierInferred": {
          "type": "boolean"
        },
        "ArchiveStatus": {
          "$ref": "#/definitions/ArchiveStatus"
        },
        "CustomerProvidedKeySha256": {
          "type": "string"
        },
        "AccessTierChangeTime": {
          "type": "string",
          "format": "date-time-rfc1123"
        }
      }
    },
    "ListBlobsFlatSegmentResponse": {
      "xml": {
        "name": "EnumerationResults"
      },
      "description": "An enumeration of blobs",
      "type": "object",
      "required": [
        "ServiceEndpoint",
        "ContainerName",
        "Segment"
      ],
      "properties": {
        "ServiceEndpoint": {
          "type": "string",
          "xml": {
            "attribute": true
          }
        },
        "ContainerName": {
          "type": "string",
          "xml": {
            "attribute": true
          }
        },
        "Prefix": {
          "type": "string"
        },
        "Marker": {
          "type": "string"
        },
        "MaxResults": {
          "type": "integer"
        },
        "Segment": {
          "$ref": "#/definitions/BlobFlatListSegment"
        },
        "NextMarker": {
          "type": "string"
        }
      }
    },
    "ListBlobsHierarchySegmentResponse": {
      "xml": {
        "name": "EnumerationResults"
      },
      "description": "An enumeration of blobs",
      "type": "object",
      "required": [
        "ServiceEndpoint",
        "ContainerName",
        "Segment"
      ],
      "properties": {
        "ServiceEndpoint": {
          "type": "string",
          "xml": {
            "attribute": true
          }
        },
        "ContainerName": {
          "type": "string",
          "xml": {
            "attribute": true
          }
        },
        "Prefix": {
          "type": "string"
        },
        "Marker": {
          "type": "string"
        },
        "MaxResults": {
          "type": "integer"
        },
        "Delimiter": {
          "type": "string"
        },
        "Segment": {
          "$ref": "#/definitions/BlobHierarchyListSegment"
        },
        "NextMarker": {
          "type": "string"
        }
      }
    },
    "BlobFlatListSegment": {
      "xml": {
        "name": "Blobs"
      },
      "required": [
        "BlobItems"
      ],
      "type": "object",
      "properties": {
        "BlobItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BlobItem"
          }
        }
      }
    },
    "BlobHierarchyListSegment": {
      "xml": {
        "name": "Blobs"
      },
      "type": "object",
      "required": [
        "BlobItems"
      ],
      "properties": {
        "BlobPrefixes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BlobPrefix"
          }
        },
        "BlobItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BlobItem"
          }
        }
      }
    },
    "BlobPrefix": {
      "type": "object",
      "required": [
        "Name"
      ],
      "properties": {
        "Name": {
          "type": "string"
        }
      }
    },
    "Block": {
      "type": "object",
      "required": [
        "Name",
        "Size"
      ],
      "description": "Represents a single block in a block blob.  It describes the block's ID and size.",
      "properties": {
        "Name": {
          "description": "The base64 encoded block ID.",
          "type": "string"
        },
        "Size": {
          "description": "The block size in bytes.",
          "type": "integer"
        }
      }
    },
    "BlockList": {
      "type": "object",
      "properties": {
        "CommittedBlocks": {
          "xml": {
            "wrapped": true
          },
          "type": "array",
          "items": {
            "$ref": "#/definitions/Block"
          }
        },
        "UncommittedBlocks": {
          "xml": {
            "wrapped": true
          },
          "type": "array",
          "items": {
            "$ref": "#/definitions/Block"
          }
        }
      }
    },
    "BlockLookupList": {
      "type": "object",
      "properties": {
        "Committed": {
          "type": "array",
          "items": {
            "type": "string",
            "xml": {
              "name": "Committed"
            }
          }
        },
        "Uncommitted": {
          "type": "array",
          "items": {
            "type": "string",
            "xml": {
              "name": "Uncommitted"
            }
          }
        },
        "Latest": {
          "type": "array",
          "items": {
            "type": "string",
            "xml": {
              "name": "Latest"
            }
          }
        }
      },
      "xml": {
        "name": "BlockList"
      }
    },
    "ContainerItem": {
      "xml": {
        "name": "Container"
      },
      "type": "object",
      "required": [
        "Name",
        "Properties"
      ],
      "description": "An Azure Storage container",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Properties": {
          "$ref": "#/definitions/ContainerProperties"
        },
        "Metadata": {
          "$ref": "#/definitions/ContainerMetadata"
        }
      }
    },
    "ContainerProperties": {
      "type": "object",
      "required": [
        "Last-Modified",
        "Etag"
      ],
      "description": "Properties of a container",
      "properties": {
        "Last-Modified": {
          "type": "string",
          "format": "date-time-rfc1123"
        },
        "Etag": {
          "type": "string",
          "format": "etag"
        },
        "LeaseStatus": {
          "$ref": "#/definitions/LeaseStatus"
        },
        "LeaseState": {
          "$ref": "#/definitions/LeaseState"
        },
        "LeaseDuration": {
          "$ref": "#/definitions/LeaseDuration"
        },
        "PublicAccess": {
          "$ref": "#/definitions/PublicAccessType"
        },
        "HasImmutabilityPolicy": {
          "type": "boolean"
        },
        "HasLegalHold": {
          "type": "boolean"
        }
      }
    },
    "ListContainersSegmentResponse": {
      "xml": {
        "name": "EnumerationResults"
      },
      "description": "An enumeration of containers",
      "type": "object",
      "required": [
        "ServiceEndpoint",
        "ContainerItems"
      ],
      "properties": {
        "ServiceEndpoint": {
          "type": "string",
          "xml": {
            "attribute": true
          }
        },
        "Prefix": {
          "type": "string"
        },
        "Marker": {
          "type": "string"
        },
        "MaxResults": {
          "type": "integer"
        },
        "ContainerItems": {
          "xml": {
            "wrapped": true,
            "name": "Containers"
          },
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContainerItem"
          }
        },
        "NextMarker": {
          "type": "string"
        }
      }
    },
    "CorsRule": {
      "description": "CORS is an HTTP feature that enables a web application running under one domain to access resources in another domain. Web browsers implement a security restriction known as same-origin policy that prevents a web page from calling APIs in a different domain; CORS provides a secure way to allow one domain (the origin domain) to call APIs in another domain",
      "type": "object",
      "required": [
        "AllowedOrigins",
        "AllowedMethods",
        "AllowedHeaders",
        "ExposedHeaders",
        "MaxAgeInSeconds"
      ],
      "properties": {
        "AllowedOrigins": {
          "description": "The origin domains that are permitted to make a request against the storage service via CORS. The origin domain is the domain from which the request originates. Note that the origin must be an exact case-sensitive match with the origin that the user age sends to the service. You can also use the wildcard character '*' to allow all origin domains to make requests via CORS.",
          "type": "string"
        },
        "AllowedMethods": {
          "description": "The methods (HTTP request verbs) that the origin domain may use for a CORS request. (comma separated)",
          "type": "string"
        },
        "AllowedHeaders": {
          "description": "the request headers that the origin domain may specify on the CORS request.",
          "type": "string"
        },
        "ExposedHeaders": {
          "description": "The response headers that may be sent in the response to the CORS request and exposed by the browser to the request issuer",
          "type": "string"
        },
        "MaxAgeInSeconds": {
          "description": "The maximum amount time that a browser should cache the preflight OPTIONS request.",
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "ErrorCode": {
      "description": "Error codes returned by the service",
      "type": "string",
      "enum": [
        "AccountAlreadyExists",
        "AccountBeingCreated",
        "AccountIsDisabled",
        "AuthenticationFailed",
        "AuthorizationFailure",
        "ConditionHeadersNotSupported",
        "ConditionNotMet",
        "EmptyMetadataKey",
        "InsufficientAccountPermissions",
        "InternalError",
        "InvalidAuthenticationInfo",
        "InvalidHeaderValue",
        "InvalidHttpVerb",
        "InvalidInput",
        "InvalidMd5",
        "InvalidMetadata",
        "InvalidQueryParameterValue",
        "InvalidRange",
        "InvalidResourceName",
        "InvalidUri",
        "InvalidXmlDocument",
        "InvalidXmlNodeValue",
        "Md5Mismatch",
        "MetadataTooLarge",
        "MissingContentLengthHeader",
        "MissingRequiredQueryParameter",
        "MissingRequiredHeader",
        "MissingRequiredXmlNode",
        "MultipleConditionHeadersNotSupported",
        "OperationTimedOut",
        "OutOfRangeInput",
        "OutOfRangeQueryParameterValue",
        "RequestBodyTooLarge",
        "ResourceTypeMismatch",
        "RequestUrlFailedToParse",
        "ResourceAlreadyExists",
        "ResourceNotFound",
        "ServerBusy",
        "UnsupportedHeader",
        "UnsupportedXmlNode",
        "UnsupportedQueryParameter",
        "UnsupportedHttpVerb",
        "AppendPositionConditionNotMet",
        "BlobAlreadyExists",
        "BlobNotFound",
        "BlobOverwritten",
        "BlobTierInadequateForContentLength",
        "BlockCountExceedsLimit",
        "BlockListTooLong",
        "CannotChangeToLowerTier",
        "CannotVerifyCopySource",
        "ContainerAlreadyExists",
        "ContainerBeingDeleted",
        "ContainerDisabled",
        "ContainerNotFound",
        "ContentLengthLargerThanTierLimit",
        "CopyAcrossAccountsNotSupported",
        "CopyIdMismatch",
        "FeatureVersionMismatch",
        "IncrementalCopyBlobMismatch",
        "IncrementalCopyOfEralierVersionSnapshotNotAllowed",
        "IncrementalCopySourceMustBeSnapshot",
        "InfiniteLeaseDurationRequired",
        "InvalidBlobOrBlock",
        "InvalidBlobTier",
        "InvalidBlobType",
        "InvalidBlockId",
        "InvalidBlockList",
        "InvalidOperation",
        "InvalidPageRange",
        "InvalidSourceBlobType",
        "InvalidSourceBlobUrl",
        "InvalidVersionForPageBlobOperation",
        "LeaseAlreadyPresent",
        "LeaseAlreadyBroken",
        "LeaseIdMismatchWithBlobOperation",
        "LeaseIdMismatchWithContainerOperation",
        "LeaseIdMismatchWithLeaseOperation",
        "LeaseIdMissing",
        "LeaseIsBreakingAndCannotBeAcquired",
        "LeaseIsBreakingAndCannotBeChanged",
        "LeaseIsBrokenAndCannotBeRenewed",
        "LeaseLost",
        "LeaseNotPresentWithBlobOperation",
        "LeaseNotPresentWithContainerOperation",
        "LeaseNotPresentWithLeaseOperation",
        "MaxBlobSizeConditionNotMet",
        "NoPendingCopyOperation",
        "OperationNotAllowedOnIncrementalCopyBlob",
        "PendingCopyOperation",
        "PreviousSnapshotCannotBeNewer",
        "PreviousSnapshotNotFound",
        "PreviousSnapshotOperationNotSupported",
        "SequenceNumberConditionNotMet",
        "SequenceNumberIncrementTooLarge",
        "SnapshotCountExceeded",
        "SnaphotOperationRateExceeded",
        "SnapshotsPresent",
        "SourceConditionNotMet",
        "SystemInUse",
        "TargetConditionNotMet",
        "UnauthorizedBlobOverwrite",
        "BlobBeingRehydrated",
        "BlobArchived",
        "BlobNotArchived",
        "AuthorizationSourceIPMismatch",
        "AuthorizationProtocolMismatch",
        "AuthorizationPermissionMismatch",
        "AuthorizationServiceMismatch",
        "AuthorizationResourceTypeMismatch"
      ],
      "x-ms-enum": {
        "name": "StorageErrorCode",
        "modelAsString": true
      }
    },
    "GeoReplication": {
      "description": "Geo-Replication information for the Secondary Storage Service",
      "type": "object",
      "required": [
        "Status",
        "LastSyncTime"
      ],
      "properties": {
        "Status": {
          "description": "The status of the secondary location",
          "type": "string",
          "enum": [
            "live",
            "bootstrap",
            "unavailable"
          ],
          "x-ms-enum": {
            "name": "GeoReplicationStatusType",
            "modelAsString": true
          }
        },
        "LastSyncTime": {
          "description": "A GMT date/time value, to the second. All primary writes preceding this value are guaranteed to be available for read operations at the secondary. Primary writes after this point in time may or may not be available for reads.",
          "type": "string",
          "format": "date-time-rfc1123"
        }
      }
    },
    "Logging": {
      "description": "Azure Analytics Logging settings.",
      "type": "object",
      "required": [
        "Version",
        "Delete",
        "Read",
        "Write",
        "RetentionPolicy"
      ],
      "properties": {
        "Version": {
          "description": "The version of Storage Analytics to configure.",
          "type": "string"
        },
        "Delete": {
          "description": "Indicates whether all delete requests should be logged.",
          "type": "boolean"
        },
        "Read": {
          "description": "Indicates whether all read requests should be logged.",
          "type": "boolean"
        },
        "Write": {
          "description": "Indicates whether all write requests should be logged.",
          "type": "boolean"
        },
        "RetentionPolicy": {
          "$ref": "#/definitions/RetentionPolicy"
        }
      }
    },
    "ContainerMetadata": {
      "type": "object",
      "xml": {
        "name": "Metadata"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "BlobMetadata": {
      "type": "object",
      "xml": {
        "name": "Metadata"
      },
      "properties": {
        "Encrypted": {
          "type": "string",
          "xml": {
            "attribute": true
          }
        }
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "Metrics": {
      "description": "a summary of request statistics grouped by API in hour or minute aggregates for blobs",
      "required": [
        "Enabled"
      ],
      "properties": {
        "Version": {
          "description": "The version of Storage Analytics to configure.",
          "type": "string"
        },
        "Enabled": {
          "description": "Indicates whether metrics are enabled for the Blob service.",
          "type": "boolean"
        },
        "IncludeAPIs": {
          "description": "Indicates whether metrics should generate summary statistics for called API operations.",
          "type": "boolean"
        },
        "RetentionPolicy": {
          "$ref": "#/definitions/RetentionPolicy"
        }
      }
    },
    "PageList": {
      "description": "the list of pages",
      "type": "object",
      "properties": {
        "PageRange": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PageRange"
          }
        },
        "ClearRange": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ClearRange"
          }
        }
      }
    },
    "PageRange": {
      "type": "object",
      "required": [
        "Start",
        "End"
      ],
      "properties": {
        "Start": {
          "type": "integer",
          "format": "int64",
          "xml": {
            "name": "Start"
          }
        },
        "End": {
          "type": "integer",
          "format": "int64",
          "xml": {
            "name": "End"
          }
        }
      },
      "xml": {
        "name": "PageRange"
      }
    },
    "ClearRange": {
      "type": "object",
      "required": [
        "Start",
        "End"
      ],
      "properties": {
        "Start": {
          "type": "integer",
          "format": "int64",
          "xml": {
            "name": "Start"
          }
        },
        "End": {
          "type": "integer",
          "format": "int64",
          "xml": {
            "name": "End"
          }
        }
      },
      "xml": {
        "name": "ClearRange"
      }
    },
    "RetentionPolicy": {
      "description": "the retention policy which determines how long the associated data should persist",
      "type": "object",
      "required": [
        "Enabled"
      ],
      "properties": {
        "Enabled": {
          "description": "Indicates whether a retention policy is enabled for the storage service",
          "type": "boolean"
        },
        "Days": {
          "description": "Indicates the number of days that metrics or logging or soft-deleted data should be retained. All data older than this value will be deleted",
          "type": "integer",
          "minimum": 1
        }
      }
    },
    "SignedIdentifier": {
      "xml": {
        "name": "SignedIdentifier"
      },
      "description": "signed identifier",
      "type": "object",
      "required": [
        "Id",
        "AccessPolicy"
      ],
      "properties": {
        "Id": {
          "type": "string",
          "description": "a unique id"
        },
        "AccessPolicy": {
          "$ref": "#/definitions/AccessPolicy"
        }
      }
    },
    "SignedIdentifiers": {
      "description": "a collection of signed identifiers",
      "type": "array",
      "items": {
        "$ref": "#/definitions/SignedIdentifier"
      },
      "xml": {
        "wrapped": true,
        "name": "SignedIdentifiers"
      }
    },
    "StaticWebsite": {
      "description": "The properties that enable an account to host a static website",
      "type": "object",
      "required": [
        "Enabled"
      ],
      "properties": {
        "Enabled": {
          "description": "Indicates whether this account is hosting a static website",
          "type": "boolean"
        },
        "IndexDocument": {
          "description": "The default name of the index page under each directory",
          "type": "string"
        },
        "ErrorDocument404Path": {
          "description": "The absolute path of the custom 404 page",
          "type": "string"
        }
      }
    },
    "StorageServiceProperties": {
      "description": "Storage Service Properties.",
      "type": "object",
      "properties": {
        "Logging": {
          "$ref": "#/definitions/Logging"
        },
        "HourMetrics": {
          "$ref": "#/definitions/Metrics"
        },
        "MinuteMetrics": {
          "$ref": "#/definitions/Metrics"
        },
        "Cors": {
          "description": "The set of CORS rules.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/CorsRule"
          },
          "xml": {
            "wrapped": true
          }
        },
        "DefaultServiceVersion": {
          "description": "The default version to use for requests to the Blob service if an incoming request's version is not specified. Possible values include version 2008-10-27 and all more recent versions",
          "type": "string"
        },
        "DeleteRetentionPolicy": {
          "$ref": "#/definitions/RetentionPolicy"
        },
        "StaticWebsite": {
          "$ref": "#/definitions/StaticWebsite"
        }
      }
    },
    "StorageServiceStats": {
      "description": "Stats for the storage service.",
      "type": "object",
      "properties": {
        "GeoReplication": {
          "$ref": "#/definitions/GeoReplication"
        }
      }
    }
  },
  "parameters": {
    "Url": {
      "name": "url",
      "description": "The URL of the service account, container, or blob that is the targe of the desired operation.",
      "required": true,
      "type": "string",
      "in": "path",
      "x-ms-skip-url-encoding": true
    },
    "ApiVersionParameter": {
      "name": "x-ms-version",
      "x-ms-client-name": "version",
      "in": "header",
      "required": true,
      "type": "string",
      "description": "Specifies the version of the operation to use for this request.",
      "enum": [
        "2019-02-02"
      ]
    },
    "Blob": {
      "name": "blob",
      "in": "path",
      "required": true,
      "type": "string",
      "pattern": "^[a-zA-Z0-9]+(?:/[a-zA-Z0-9]+)*(?:\\.[a-zA-Z0-9]+){0,1}$",
      "minLength": 1,
      "maxLength": 1024,
      "x-ms-parameter-location": "method",
      "description": "The blob name."
    },
    "Filesystem": {
      "name": "filesystem",
      "in": "path",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "The filesystem name."
    },
    "Path": {
      "name": "path",
      "in": "path",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "The namespace path to a file or directory."
    },
    "BlobCacheControl": {
      "name": "x-ms-blob-cache-control",
      "x-ms-client-name": "blobCacheControl",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "blob-HTTP-headers"
      },
      "description": "Optional. Sets the blob's cache control. If specified, this property is stored with the blob and returned with a read request."
    },
    "BlobConditionAppendPos": {
      "name": "x-ms-blob-condition-appendpos",
      "x-ms-client-name": "appendPosition",
      "in": "header",
      "required": false,
      "type": "integer",
      "format": "int64",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "append-position-access-conditions"
      },
      "description": "Optional conditional header, used only for the Append Block operation. A number indicating the byte offset to compare. Append Block will succeed only if the append position is equal to this number. If it is not, the request will fail with the AppendPositionConditionNotMet error (HTTP status code 412 - Precondition Failed)."
    },
    "BlobConditionMaxSize": {
      "name": "x-ms-blob-condition-maxsize",
      "x-ms-client-name": "maxSize",
      "in": "header",
      "required": false,
      "type": "integer",
      "format": "int64",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "append-position-access-conditions"
      },
      "description": "Optional conditional header. The max length in bytes permitted for the append blob. If the Append Block operation would cause the blob to exceed that limit or if the blob size is already greater than the value specified in this header, the request will fail with MaxBlobSizeConditionNotMet error (HTTP status code 412 - Precondition Failed)."
    },
    "BlobPublicAccess": {
      "name": "x-ms-blob-public-access",
      "x-ms-client-name": "access",
      "in": "header",
      "required": false,
      "x-ms-parameter-location": "method",
      "description": "Specifies whether data in the container may be accessed publicly and the level of access",
      "type": "string",
      "enum": [
        "container",
        "blob"
      ],
      "x-ms-enum": {
        "name": "PublicAccessType",
        "modelAsString": true
      }
    },
    "AccessTierRequired": {
      "name": "x-ms-access-tier",
      "x-ms-client-name": "tier",
      "in": "header",
      "required": true,
      "type": "string",
      "enum": [
        "P4",
        "P6",
        "P10",
        "P15",
        "P20",
        "P30",
        "P40",
        "P50",
        "P60",
        "P70",
        "P80",
        "Hot",
        "Cool",
        "Archive"
      ],
      "x-ms-enum": {
        "name": "AccessTier",
        "modelAsString": true
      },
      "x-ms-parameter-location": "method",
      "description": "Indicates the tier to be set on the blob."
    },
    "AccessTierOptional": {
      "name": "x-ms-access-tier",
      "x-ms-client-name": "tier",
      "in": "header",
      "required": false,
      "type": "string",
      "enum": [
        "P4",
        "P6",
        "P10",
        "P15",
        "P20",
        "P30",
        "P40",
        "P50",
        "P60",
        "P70",
        "P80",
        "Hot",
        "Cool",
        "Archive"
      ],
      "x-ms-enum": {
        "name": "AccessTier",
        "modelAsString": true
      },
      "x-ms-parameter-location": "method",
      "description": "Optional. Indicates the tier to be set on the blob."
    },
    "PremiumPageBlobAccessTierOptional": {
      "name": "x-ms-access-tier",
      "x-ms-client-name": "tier",
      "in": "header",
      "required": false,
      "type": "string",
      "enum": [
        "P4",
        "P6",
        "P10",
        "P15",
        "P20",
        "P30",
        "P40",
        "P50",
        "P60",
        "P70",
        "P80"
      ],
      "x-ms-enum": {
        "name": "PremiumPageBlobAccessTier",
        "modelAsString": true
      },
      "x-ms-parameter-location": "method",
      "description": "Optional. Indicates the tier to be set on the page blob."
    },
    "RehydratePriority": {
      "name": "x-ms-rehydrate-priority",
      "x-ms-client-name": "rehydratePriority",
      "in": "header",
      "required": false,
      "type": "string",
      "enum": [
        "High",
        "Standard"
      ],
      "x-ms-enum": {
        "name": "RehydratePriority",
        "modelAsString": true
      },
      "x-ms-parameter-location": "method",
      "description": "Optional: Indicates the priority with which to rehydrate an archived blob."
    },
    "BlobContentDisposition": {
      "name": "x-ms-blob-content-disposition",
      "x-ms-client-name": "blobContentDisposition",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "blob-HTTP-headers"
      },
      "description": "Optional. Sets the blob's Content-Disposition header."
    },
    "BlobContentEncoding": {
      "name": "x-ms-blob-content-encoding",
      "x-ms-client-name": "blobContentEncoding",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "blob-HTTP-headers"
      },
      "description": "Optional. Sets the blob's content encoding. If specified, this property is stored with the blob and returned with a read request."
    },
    "BlobContentLanguage": {
      "name": "x-ms-blob-content-language",
      "x-ms-client-name": "blobContentLanguage",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "blob-HTTP-headers"
      },
      "description": "Optional. Set the blob's content language. If specified, this property is stored with the blob and returned with a read request."
    },
    "BlobContentLengthOptional": {
      "name": "x-ms-blob-content-length",
      "x-ms-client-name": "blobContentLength",
      "in": "header",
      "required": false,
      "type": "integer",
      "format": "int64",
      "x-ms-parameter-location": "method",
      "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary."
    },
    "BlobContentLengthRequired": {
      "name": "x-ms-blob-content-length",
      "x-ms-client-name": "blobContentLength",
      "in": "header",
      "required": true,
      "type": "integer",
      "format": "int64",
      "x-ms-parameter-location": "method",
      "description": "This header specifies the maximum size for the page blob, up to 1 TB. The page blob size must be aligned to a 512-byte boundary."
    },
    "BlobContentMD5": {
      "name": "x-ms-blob-content-md5",
      "x-ms-client-name": "blobContentMD5",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "byte",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "blob-HTTP-headers"
      },
      "description": "Optional. An MD5 hash of the blob content. Note that this hash is not validated, as the hashes for the individual blocks were validated when each was uploaded."
    },
    "BlobContentType": {
      "name": "x-ms-blob-content-type",
      "x-ms-client-name": "blobContentType",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "blob-HTTP-headers"
      },
      "description": "Optional. Sets the blob's content type. If specified, this property is stored with the blob and returned with a read request."
    },
    "BlobSequenceNumber": {
      "name": "x-ms-blob-sequence-number",
      "x-ms-client-name": "blobSequenceNumber",
      "in": "header",
      "required": false,
      "type": "integer",
      "format": "int64",
      "default": 0,
      "x-ms-parameter-location": "method",
      "description": "Set for page blobs only. The sequence number is a user-controlled value that you can use to track requests. The value of the sequence number must be between 0 and 2^63 - 1."
    },
    "BlockId": {
      "name": "blockid",
      "x-ms-client-name": "blockId",
      "in": "query",
      "type": "string",
      "required": true,
      "x-ms-parameter-location": "method",
      "description": "A valid Base64 string value that identifies the block. Prior to encoding, the string must be less than or equal to 64 bytes in size. For a given blob, the length of the value specified for the blockid parameter must be the same size for each block."
    },
    "BlockListType": {
      "name": "blocklisttype",
      "x-ms-client-name": "listType",
      "in": "query",
      "required": true,
      "default": "committed",
      "x-ms-parameter-location": "method",
      "description": "Specifies whether to return the list of committed blocks, the list of uncommitted blocks, or both lists together.",
      "type": "string",
      "enum": [
        "committed",
        "uncommitted",
        "all"
      ],
      "x-ms-enum": {
        "name": "BlockListType",
        "modelAsString": false
      }
    },
    "Body": {
      "name": "body",
      "in": "body",
      "required": true,
      "schema": {
        "type": "object",
        "format": "file"
      },
      "x-ms-parameter-location": "method",
      "description": "Initial data"
    },
    "Continuation": {
      "name": "continuation",
      "x-ms-client-name": "marker",
      "in": "query",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "When renaming a directory, the number of paths that are renamed with each invocation is limited.  If the number of paths to be renamed exceeds this limit, a continuation token is returned in this response header.  When a continuation token is returned in the response, it must be specified in a subsequent invocation of the rename operation to continue renaming the directory."
    },
    "ContainerAcl": {
      "name": "containerAcl",
      "in": "body",
      "schema": {
        "$ref": "#/definitions/SignedIdentifiers"
      },
      "x-ms-parameter-location": "method",
      "description": "the acls for the container"
    },
    "CopyId": {
      "name": "copyid",
      "x-ms-client-name": "copyId",
      "in": "query",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "The copy identifier provided in the x-ms-copy-id header of the original Copy Blob operation."
    },
    "ClientRequestId": {
      "name": "x-ms-client-request-id",
      "x-ms-client-name": "requestId",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Provides a client-generated, opaque value with a 1 KB character limit that is recorded in the analytics logs when storage analytics logging is enabled."
    },
    "ContainerName": {
      "name": "containerName",
      "in": "path",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "The container name."
    },
    "ContentCrc64": {
      "name": "x-ms-content-crc64",
      "x-ms-client-name": "transactionalContentCrc64",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "byte",
      "x-ms-parameter-location": "method",
      "description": "Specify the transactional crc64 for the body, to be validated by the service."
    },
    "ContentLength": {
      "name": "Content-Length",
      "in": "header",
      "required": true,
      "type": "integer",
      "format": "int64",
      "x-ms-parameter-location": "method",
      "description": "The length of the request."
    },
    "ContentMD5": {
      "name": "Content-MD5",
      "x-ms-client-name": "transactionalContentMD5",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "byte",
      "x-ms-parameter-location": "method",
      "description": "Specify the transactional md5 for the body, to be validated by the service."
    },
    "CopySource": {
      "name": "x-ms-copy-source",
      "x-ms-client-name": "copySource",
      "in": "header",
      "required": true,
      "type": "string",
      "format": "url",
      "x-ms-parameter-location": "method",
      "description": "Specifies the name of the source page blob snapshot. This value is a URL of up to 2 KB in length that specifies a page blob snapshot. The value should be URL-encoded as it would appear in a request URI. The source blob must either be public or must be authenticated via a shared access signature."
    },
    "DeleteSnapshots": {
      "name": "x-ms-delete-snapshots",
      "x-ms-client-name": "deleteSnapshots",
      "description": "Required if the blob has associated snapshots. Specify one of the following two options: include: Delete the base blob and all of its snapshots. only: Delete only the blob's snapshots and not the blob itself",
      "x-ms-parameter-location": "method",
      "in": "header",
      "required": false,
      "type": "string",
      "enum": [
        "include",
        "only"
      ],
      "x-ms-enum": {
        "name": "DeleteSnapshotsOptionType",
        "modelAsString": false
      }
    },
    "Delimiter": {
      "name": "delimiter",
      "description": "When the request includes this parameter, the operation returns a BlobPrefix element in the response body that acts as a placeholder for all blobs whose names begin with the same substring up to the appearance of the delimiter character. The delimiter may be a single character or a string.",
      "type": "string",
      "x-ms-parameter-location": "method",
      "in": "query",
      "required": true
    },
    "DirectoryProperties": {
      "name": "x-ms-properties",
      "description": "Optional.  User-defined properties to be stored with the file or directory, in the format of a comma-separated list of name and value pairs \"n1=v1, n2=v2, ...\", where each value is base64 encoded.",
      "x-ms-client-name": "directoryProperties",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "EncryptionKey": {
      "name": "x-ms-encryption-key",
      "x-ms-client-name": "encryptionKey",
      "type": "string",
      "in": "header",
      "required": false,
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "cpk-info"
      },
      "description": "Optional. Specifies the encryption key to use to encrypt the data provided in the request. If not specified, encryption is performed with the root account encryption key.  For more information, see Encryption at Rest for Azure Storage Services."
    },
    "EncryptionKeySha256": {
      "name": "x-ms-encryption-key-sha256",
      "x-ms-client-name": "encryptionKeySha256",
      "type": "string",
      "in": "header",
      "required": false,
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "cpk-info"
      },
      "description": "The SHA-256 hash of the provided encryption key. Must be provided if the x-ms-encryption-key header is provided."
    },
    "EncryptionAlgorithm": {
      "name": "x-ms-encryption-algorithm",
      "x-ms-client-name": "encryptionAlgorithm",
      "type": "string",
      "in": "header",
      "required": false,
      "enum": [
        "AES256"
      ],
      "x-ms-enum": {
        "name": "EncryptionAlgorithmType",
        "modelAsString": false
      },
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "cpk-info"
      },
      "description": "The algorithm used to produce the encryption key hash. Currently, the only accepted value is \"AES256\". Must be provided if the x-ms-encryption-key header is provided."
    },
    "FileRenameSource": {
      "name": "x-ms-rename-source",
      "x-ms-client-name": "renameSource",
      "in": "header",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "The file or directory to be renamed. The value must have the following format: \"/{filesysystem}/{path}\".  If \"x-ms-properties\" is specified, the properties will overwrite the existing properties; otherwise, the existing properties will be preserved."
    },
    "GetRangeContentMD5": {
      "name": "x-ms-range-get-content-md5",
      "x-ms-client-name": "rangeGetContentMD5",
      "in": "header",
      "required": false,
      "type": "boolean",
      "x-ms-parameter-location": "method",
      "description": "When set to true and specified together with the Range, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4 MB in size."
    },
    "GetRangeContentCRC64": {
      "name": "x-ms-range-get-content-crc64",
      "x-ms-client-name": "rangeGetContentCRC64",
      "in": "header",
      "required": false,
      "type": "boolean",
      "x-ms-parameter-location": "method",
      "description": "When set to true and specified together with the Range, the service returns the CRC64 hash for the range, as long as the range is less than or equal to 4 MB in size."
    },
    "IfMatch": {
      "name": "If-Match",
      "x-ms-client-name": "ifMatch",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "etag",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "modified-access-conditions"
      },
      "description": "Specify an ETag value to operate only on blobs with a matching value."
    },
    "IfModifiedSince": {
      "name": "If-Modified-Since",
      "x-ms-client-name": "ifModifiedSince",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "date-time-rfc1123",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "modified-access-conditions"
      },
      "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time."
    },
    "IfNoneMatch": {
      "name": "If-None-Match",
      "x-ms-client-name": "ifNoneMatch",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "etag",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "modified-access-conditions"
      },
      "description": "Specify an ETag value to operate only on blobs without a matching value."
    },
    "IfUnmodifiedSince": {
      "name": "If-Unmodified-Since",
      "x-ms-client-name": "ifUnmodifiedSince",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "date-time-rfc1123",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "modified-access-conditions"
      },
      "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time."
    },
    "IfSequenceNumberEqualTo": {
      "name": "x-ms-if-sequence-number-eq",
      "x-ms-client-name": "ifSequenceNumberEqualTo",
      "in": "header",
      "required": false,
      "type": "integer",
      "format": "int64",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "sequence-number-access-conditions"
      },
      "description": "Specify this header value to operate only on a blob if it has the specified sequence number."
    },
    "IfSequenceNumberLessThan": {
      "name": "x-ms-if-sequence-number-lt",
      "x-ms-client-name": "ifSequenceNumberLessThan",
      "in": "header",
      "required": false,
      "type": "integer",
      "format": "int64",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "sequence-number-access-conditions"
      },
      "description": "Specify this header value to operate only on a blob if it has a sequence number less than the specified."
    },
    "IfSequenceNumberLessThanOrEqualTo": {
      "name": "x-ms-if-sequence-number-le",
      "x-ms-client-name": "ifSequenceNumberLessThanOrEqualTo",
      "in": "header",
      "required": false,
      "type": "integer",
      "format": "int64",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "sequence-number-access-conditions"
      },
      "description": "Specify this header value to operate only on a blob if it has a sequence number less than or equal to the specified."
    },
    "KeyInfo": {
      "name": "KeyInfo",
      "in": "body",
      "x-ms-parameter-location": "method",
      "required": true,
      "schema": {
        "$ref": "#/definitions/KeyInfo"
      }
    },
    "ListBlobsInclude": {
      "name": "include",
      "in": "query",
      "required": false,
      "type": "array",
      "collectionFormat": "csv",
      "items": {
        "type": "string",
        "enum": [
          "copy",
          "deleted",
          "metadata",
          "snapshots",
          "uncommittedblobs"
        ],
        "x-ms-enum": {
          "name": "ListBlobsIncludeItem",
          "modelAsString": false
        }
      },
      "x-ms-parameter-location": "method",
      "description": "Include this parameter to specify one or more datasets to include in the response."
    },
    "ListContainersInclude": {
      "name": "include",
      "in": "query",
      "required": false,
      "type": "string",
      "enum": [
        "metadata"
      ],
      "x-ms-enum": {
        "name": "ListContainersIncludeType",
        "modelAsString": false
      },
      "x-ms-parameter-location": "method",
      "description": "Include this parameter to specify that the container's metadata be returned as part of the response body."
    },
    "LeaseBreakPeriod": {
      "name": "x-ms-lease-break-period",
      "x-ms-client-name": "breakPeriod",
      "in": "header",
      "required": false,
      "type": "integer",
      "x-ms-parameter-location": "method",
      "description": "For a break operation, proposed duration the lease should continue before it is broken, in seconds, between 0 and 60. This break period is only used if it is shorter than the time remaining on the lease. If longer, the time remaining on the lease is used. A new lease will not be available before the break period has expired, but the lease may be held for longer than the break period. If this header does not appear with a break operation, a fixed-duration lease breaks after the remaining lease period elapses, and an infinite lease breaks immediately."
    },
    "LeaseDuration": {
      "name": "x-ms-lease-duration",
      "x-ms-client-name": "duration",
      "in": "header",
      "required": false,
      "type": "integer",
      "x-ms-parameter-location": "method",
      "description": "Specifies the duration of the lease, in seconds, or negative one (-1) for a lease that never expires. A non-infinite lease can be between 15 and 60 seconds. A lease duration cannot be changed using renew or change."
    },
    "LeaseIdOptional": {
      "name": "x-ms-lease-id",
      "x-ms-client-name": "leaseId",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "lease-access-conditions"
      },
      "description": "If specified, the operation only succeeds if the resource's lease is active and matches this ID."
    },
    "LeaseIdRequired": {
      "name": "x-ms-lease-id",
      "x-ms-client-name": "leaseId",
      "in": "header",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Specifies the current lease ID on the resource."
    },
    "Owner": {
      "name": "x-ms-owner",
      "x-ms-client-name": "owner",
      "in": "header",
      "required": false,
      "type": "string",
      "description": "Optional. The owner of the blob or directory.",
      "x-ms-parameter-location": "method"
    },
    "Group": {
      "name": "x-ms-group",
      "x-ms-client-name": "group",
      "in": "header",
      "required": false,
      "type": "string",
      "description": "Optional. The owning group of the blob or directory.",
      "x-ms-parameter-location": "method"
    },
    "Upn": {
      "name": "upn",
      "x-ms-client-name": "upn",
      "in": "query",
      "description": "Optional. Valid only when Hierarchical Namespace is enabled for the account. If \"true\", the identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed from Azure Active Directory Object IDs to User Principal Names.  If \"false\", the values will be returned as Azure Active Directory Object IDs. The default value is false.",
      "required": false,
      "type": "boolean",
      "x-ms-parameter-location": "method"
    },
    "Marker": {
      "name": "marker",
      "in": "query",
      "required": false,
      "type": "string",
      "description": "A string value that identifies the portion of the list of containers to be returned with the next listing operation. The operation returns the NextMarker value within the response body if the listing operation did not return all containers remaining to be listed with the current page. The NextMarker value can be used as the value for the marker parameter in a subsequent call to request the next page of list items. The marker value is opaque to the client.",
      "x-ms-parameter-location": "method"
    },
    "MaxResults": {
      "name": "maxresults",
      "in": "query",
      "required": false,
      "type": "integer",
      "minimum": 1,
      "x-ms-parameter-location": "method",
      "description": "Specifies the maximum number of containers to return. If the request does not specify maxresults, or specifies a value greater than 5000, the server will return up to 5000 items. Note that if the listing operation crosses a partition boundary, then the service will return a continuation token for retrieving the remainder of the results. For this reason, it is possible that the service will return fewer results than specified by maxresults, or than the default of 5000."
    },
    "Metadata": {
      "name": "x-ms-meta",
      "x-ms-client-name": "metadata",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Optional. Specifies a user-defined name-value pair associated with the blob. If no name-value pairs are specified, the operation will copy the metadata from the source blob or file to the destination blob. If one or more name-value pairs are specified, the destination blob is created with the specified metadata, and metadata is not copied from the source blob or file. Note that beginning with version 2009-09-19, metadata names must adhere to the naming rules for C# identifiers. See Naming and Referencing Containers, Blobs, and Metadata for more information.",
      "x-ms-header-collection-prefix": "x-ms-meta-"
    },
    "MultipartContentType": {
      "name": "Content-Type",
      "x-ms-client-name": "multipartContentType",
      "in": "header",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Required. The value of this header must be multipart/mixed with a batch boundary. Example header value: multipart/mixed; boundary=batch_<GUID>"
    },
    "PathRenameMode": {
      "name": "mode",
      "x-ms-client-name": "pathRenameMode",
      "description": "Determines the behavior of the rename operation",
      "in": "query",
      "required": false,
      "type": "string",
      "enum": [
        "legacy",
        "posix"
      ],
      "x-ms-enum": {
        "name": "PathRenameMode",
        "modelAsString": false
      }
    },
    "PosixPermissions": {
      "name": "x-ms-permissions",
      "description": "Optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX access permissions for the file owner, the file owning group, and others. Each class may be granted read, write, or execute permission.  The sticky bit is also supported.  Both symbolic (rwxrw-rw-) and 4-digit octal notation (e.g. 0766) are supported.",
      "x-ms-client-name": "posixPermissions",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "PosixAcl": {
      "name": "x-ms-acl",
      "description": "Sets POSIX access control rights on files and directories. The value is a comma-separated list of access control entries. Each access control entry (ACE) consists of a scope, a type, a user or group identifier, and permissions in the format \"[scope:][type]:[id]:[permissions]\".",
      "x-ms-client-name": "posixAcl",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "PosixUmask": {
      "name": "x-ms-umask",
      "x-ms-client-name": "posixUmask",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Only valid if Hierarchical Namespace is enabled for the account. This umask restricts permission settings for file and directory, and will only be applied when default Acl does not exist in parent directory. If the umask bit has set, it means that the corresponding permission will be disabled. Otherwise the corresponding permission will be determined by the permission. A 4-digit octal notation (e.g. 0022) is supported here. If no umask was specified, a default umask - 0027 will be used."
    },
    "Prefix": {
      "name": "prefix",
      "in": "query",
      "required": false,
      "type": "string",
      "description": "Filters the results to return only containers whose name begins with the specified prefix.",
      "x-ms-parameter-location": "method"
    },
    "PrevSnapshot": {
      "name": "prevsnapshot",
      "in": "query",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Optional in version 2015-07-08 and newer. The prevsnapshot parameter is a DateTime value that specifies that the response will contain only pages that were changed between target blob and previous snapshot. Changed pages include both updated and cleared pages. The target blob may be a snapshot, as long as the snapshot specified by prevsnapshot is the older of the two. Note that incremental snapshots are currently supported only for blobs created on or after January 1, 2016."
    },
    "ProposedLeaseIdOptional": {
      "name": "x-ms-proposed-lease-id",
      "x-ms-client-name": "proposedLeaseId",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats."
    },
    "ProposedLeaseIdRequired": {
      "name": "x-ms-proposed-lease-id",
      "x-ms-client-name": "proposedLeaseId",
      "in": "header",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Proposed lease ID, in a GUID string format. The Blob service returns 400 (Invalid request) if the proposed lease ID is not in the correct format. See Guid Constructor (String) for a list of valid GUID string formats."
    },
    "Range": {
      "name": "x-ms-range",
      "x-ms-client-name": "range",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Return only the bytes of the blob in the specified range."
    },
    "RangeRequiredPutPageFromUrl": {
      "name": "x-ms-range",
      "x-ms-client-name": "range",
      "in": "header",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "The range of bytes to which the source range would be written. The range should be 512 aligned and range-end is required."
    },
    "RecursiveDirectoryDelete": {
      "name": "recursive",
      "x-ms-client-name": "recursiveDirectoryDelete",
      "in": "query",
      "required": true,
      "type": "boolean",
      "x-ms-parameter-location": "method",
      "description": "If \"true\", all paths beneath the directory will be deleted. If \"false\" and the directory is non-empty, an error occurs."
    },
    "SequenceNumberAction": {
      "name": "x-ms-sequence-number-action",
      "x-ms-client-name": "sequenceNumberAction",
      "in": "header",
      "required": true,
      "x-ms-parameter-location": "method",
      "description": "Required if the x-ms-blob-sequence-number header is set for the request. This property applies to page blobs only. This property indicates how the service should modify the blob's sequence number",
      "type": "string",
      "enum": [
        "max",
        "update",
        "increment"
      ],
      "x-ms-enum": {
        "name": "SequenceNumberActionType",
        "modelAsString": false
      }
    },
    "Snapshot": {
      "name": "snapshot",
      "in": "query",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "The snapshot parameter is an opaque DateTime value that, when present, specifies the blob snapshot to retrieve. For more information on working with blob snapshots, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/creating-a-snapshot-of-a-blob\">Creating a Snapshot of a Blob.</a>"
    },
    "SourceContentMD5": {
      "name": "x-ms-source-content-md5",
      "x-ms-client-name": "sourceContentMD5",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "byte",
      "x-ms-parameter-location": "method",
      "description": "Specify the md5 calculated for the range of bytes that must be read from the copy source."
    },
    "SourceContentCRC64": {
      "name": "x-ms-source-content-crc64",
      "x-ms-client-name": "sourceContentcrc64",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "byte",
      "x-ms-parameter-location": "method",
      "description": "Specify the crc64 calculated for the range of bytes that must be read from the copy source."
    },
    "SourceRange": {
      "name": "x-ms-source-range",
      "x-ms-client-name": "sourceRange",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Bytes of source data in the specified range."
    },
    "SourceRangeRequiredPutPageFromUrl": {
      "name": "x-ms-source-range",
      "x-ms-client-name": "sourceRange",
      "in": "header",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method",
      "description": "Bytes of source data in the specified range. The length of this range should match the ContentLength header and x-ms-range/Range destination range header."
    },
    "SourceIfMatch": {
      "name": "x-ms-source-if-match",
      "x-ms-client-name": "sourceIfMatch",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "etag",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "source-modified-access-conditions"
      },
      "description": "Specify an ETag value to operate only on blobs with a matching value."
    },
    "SourceIfModifiedSince": {
      "name": "x-ms-source-if-modified-since",
      "x-ms-client-name": "sourceIfModifiedSince",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "date-time-rfc1123",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "source-modified-access-conditions"
      },
      "description": "Specify this header value to operate only on a blob if it has been modified since the specified date/time."
    },
    "SourceIfNoneMatch": {
      "name": "x-ms-source-if-none-match",
      "x-ms-client-name": "sourceIfNoneMatch",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "etag",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "source-modified-access-conditions"
      },
      "description": "Specify an ETag value to operate only on blobs without a matching value."
    },
    "SourceIfUnmodifiedSince": {
      "name": "x-ms-source-if-unmodified-since",
      "x-ms-client-name": "sourceIfUnmodifiedSince",
      "in": "header",
      "required": false,
      "type": "string",
      "format": "date-time-rfc1123",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "source-modified-access-conditions"
      },
      "description": "Specify this header value to operate only on a blob if it has not been modified since the specified date/time."
    },
      "SourceLeaseId": {
        "name": "x-ms-source-lease-id",
        "x-ms-client-name": "sourceLeaseId",
        "in": "header",
        "required": false,
        "type": "string",
        "x-ms-parameter-location": "method",
        "description": "A lease ID for the source path. If specified, the source path must have an active lease and the leaase ID must match."
      },
    "SourceUrl": {
      "name": "x-ms-copy-source",
      "x-ms-client-name": "sourceUrl",
      "in": "header",
      "required": true,
      "type": "string",
      "format": "url",
      "x-ms-parameter-location": "method",
      "description": "Specify a URL to the copy source."
    },
    "StorageServiceProperties": {
      "name": "StorageServiceProperties",
      "in": "body",
      "required": true,
      "schema": {
        "$ref": "#/definitions/StorageServiceProperties"
      },
      "x-ms-parameter-location": "method",
      "description": "The StorageService properties."
    },
    "Timeout": {
      "name": "timeout",
      "in": "query",
      "required": false,
      "type": "integer",
      "minimum": 0,
      "x-ms-parameter-location": "method",
      "description": "The timeout parameter is expressed in seconds. For more information, see <a href=\"https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations\">Setting Timeouts for Blob Service Operations.</a>"
    },
    "XMsCacheControl": {
      "name": "x-ms-cache-control",
      "x-ms-client-name": "cacheControl",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "directory-http-headers"
      },
      "description": "Cache control for given resource"
    },
    "XMsContentType": {
      "name": "x-ms-content-type",
      "x-ms-client-name": "contentType",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "directory-http-headers"
      },
      "description": "Content type for given resource"
    },
    "XMsContentEncoding": {
      "name": "x-ms-content-encoding",
      "x-ms-client-name": "contentEncoding",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "directory-http-headers"
      },
      "description": "Content encoding for given resource"
    },
    "XMsContentLanguage": {
      "name": "x-ms-content-language",
      "x-ms-client-name": "contentLanguage",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "directory-http-headers"
      },
      "description": "Content language for given resource"
    },
    "XMsContentDisposition": {
      "name": "x-ms-content-disposition",
      "x-ms-client-name": "contentDisposition",
      "in": "header",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method",
      "x-ms-parameter-grouping": {
        "name": "directory-http-headers"
      },
      "description": "Content disposition for given resource"
    }
  }
}
