{ "swagger": "2.0", "info": { "title": "DataLakeStoreFileSystemManagementClient", "description": "Creates an Azure Data Lake Store filesystem client.", "version": "2016-11-01", "x-ms-code-generation-settings": { "internalConstructors": true } }, "x-ms-parameterized-host": { "hostTemplate": "{accountName}.{adlsFileSystemDnsSuffix}", "parameters": [ { "name": "accountName", "description": "The Azure Data Lake Store account to execute filesystem operations on.", "required": true, "type": "string", "in": "path", "x-ms-skip-url-encoding": true }, { "$ref": "#/parameters/adlsFilesystemDnsSuffixInPath" } ] }, "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/WebHdfsExt/{path}": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_SetFileExpiry", "description": "Sets or removes the expiration time on the specified file. This operation can only be executed against files. Folders are not supported.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file on which to set or remove the expiration time." }, { "name": "expiryOption", "in": "query", "required": true, "type": "string", "enum": [ "NeverExpire", "RelativeToNow", "RelativeToCreationDate", "Absolute" ], "x-ms-enum": { "name": "ExpiryOptionType", "modelAsString": false }, "description": "Indicates the type of expiration to use for the file: 1. NeverExpire: ExpireTime is ignored. 2. RelativeToNow: ExpireTime is an integer in milliseconds representing the expiration date relative to when file expiration is updated. 3. RelativeToCreationDate: ExpireTime is an integer in milliseconds representing the expiration date relative to file creation. 4. Absolute: ExpireTime is an integer in milliseconds, as a Unix timestamp relative to 1/1/1970 00:00:00." }, { "name": "expireTime", "in": "query", "required": false, "type": "integer", "format": "int64", "description": "The time that the file will expire, corresponding to the ExpiryOption that was set." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "SETEXPIRY" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Successfully set the expiration time on the specified file." }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Sets or removes the expiration time on the specified file. This operation can only be executed against files. Folders are not supported": { "$ref": "./examples/FileSystem_SetFileExpiry.json" } } }, "post": { "tags": [ "FileSystem" ], "consumes": [ "application/octet-stream" ], "operationId": "FileSystem_ConcurrentAppend", "description": "Appends to the specified file, optionally first creating the file if it does not yet exist. This method supports multiple concurrent appends to the file. NOTE: The target must not contain data added by Create or normal (serial) Append. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file. ConcurrentAppend does not guarantee order and can result in duplicated data landing in the target file.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file to which to append using concurrent append." }, { "name": "streamContents", "in": "body", "schema": { "type": "object", "format": "file" }, "required": true, "description": "The file contents to include when appending to the file. The maximum content size is 4MB. For content larger than 4MB you must append the content in 4MB chunks." }, { "name": "appendMode", "in": "query", "required": false, "type": "string", "enum": [ "autocreate" ], "x-ms-enum": { "name": "AppendModeType", "modelAsString": false }, "description": "Indicates the concurrent append call should create the file if it doesn't exist or just open the existing file for append" }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "CONCURRENTAPPEND" ] }, { "name": "Transfer-Encoding", "in": "header", "required": true, "type": "string", "description": "Indicates the data being sent to the server is being streamed in chunks.", "enum": [ "chunked" ] }, { "name": "syncFlag", "in": "query", "required": false, "type": "string", "default": "DATA", "description": "Optionally indicates what to do after completion of the concurrent append. DATA indicates that more data will be sent immediately by the client, the file handle should remain open/locked, and file metadata (including file length, last modified time) should NOT get updated. METADATA indicates that more data will be sent immediately by the client, the file handle should remain open/locked, and file metadata should get updated. CLOSE indicates that the client is done sending data, the file handle should be closed/unlocked, and file metadata should get updated.", "enum": [ "DATA", "METADATA", "CLOSE" ], "x-ms-enum": { "name": "SyncFlag", "modelAsString": false } }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Appends to the specified file, optionally first creating the file if it does not yet exist. This method supports multiple concurrent appends to the file. NOTE: The target must not contain data added by Create or normal (serial) Append. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file. ConcurrentAppend does not guarantee order and can result in duplicated data landing in the target file": { "$ref": "./examples/FileSystem_ConcurrentAppend.json" } } } }, "/webhdfs/v1/{path}": { "get": { "tags": [ "FileSystem" ], "operationId": "FileSystem_CheckAccess", "description": "Checks if the specified access is available at the given path.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory for which to check access." }, { "name": "fsaction", "in": "query", "required": true, "type": "string", "description": "File system operation read/write/execute in string form, matching regex pattern '[rwx-]{3}'" }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "CHECKACCESS" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Checks if the specified access is available at the given path": { "$ref": "./examples/FileSystem_CheckAccess.json" } } } } }, "x-ms-paths": { "/webhdfs/v1/{path}?op=MKDIRS": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_Mkdirs", "description": "Creates a directory.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the directory to create." }, { "name": "permission", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "Optional octal permission with which the directory should be created." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "MKDIRS" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/FileOperationResult" } }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Creates a directory": { "$ref": "./examples/FileSystem_Mkdirs.json" } } } }, "/webhdfs/v1/{path}?op=CONCAT": { "post": { "tags": [ "FileSystem" ], "operationId": "FileSystem_Concat", "description": "Concatenates the list of source files into the destination file, removing all source files upon success.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the destination file resulting from the concatenation." }, { "name": "sources", "in": "query", "required": true, "type": "array", "items": { "type": "string" }, "collectionFormat": "csv", "description": "A list of comma separated Data Lake Store paths (starting with '/') of the files to concatenate, in the order in which they should be concatenated." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "CONCAT" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Concatenates the list of source files into the destination file, removing all source files upon success": { "$ref": "./examples/FileSystem_Concat.json" } } } }, "/webhdfs/v1/{path}?op=MSCONCAT": { "post": { "tags": [ "FileSystem" ], "consumes": [ "application/octet-stream" ], "operationId": "FileSystem_MsConcat", "description": "Concatenates the list of source files into the destination file, deleting all source files upon success. This method accepts more source file paths than the Concat method. This method and the parameters it accepts are subject to change for usability in an upcoming version.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the destination file resulting from the concatenation." }, { "name": "deleteSourceDirectory", "in": "query", "required": false, "type": "boolean", "description": "Indicates that as an optimization instead of deleting each individual source stream, delete the source stream folder if all streams are in the same folder instead. This results in a substantial performance improvement when the only streams in the folder are part of the concatenation operation. WARNING: This includes the deletion of any other files that are not source files. Only set this to true when source files are the only files in the source directory." }, { "name": "streamContents", "in": "body", "required": true, "schema": { "type": "object", "format": "file" }, "description": "A list of Data Lake Store paths (starting with '/') of the source files. Must be a comma-separated path list in the format: sources=/file/path/1.txt,/file/path/2.txt,/file/path/lastfile.csv" }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "MSCONCAT" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Concatenates the list of source files into the destination file, deleting all source files upon success. This method accepts more source file paths than the Concat method. This method and the parameters it accepts are subject to change for usability in an upcoming version": { "$ref": "./examples/FileSystem_MsConcat.json" } } } }, "/webhdfs/v1/{path}?op=LISTSTATUS": { "get": { "tags": [ "FileSystem" ], "operationId": "FileSystem_ListFileStatus", "description": "Get the list of file status objects specified by the file path, with optional pagination parameters", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the directory to list." }, { "name": "listSize", "in": "query", "required": false, "type": "integer", "format": "int32", "description": "Gets or sets the number of items to return. Optional." }, { "name": "listAfter", "in": "query", "required": false, "type": "string", "description": "Gets or sets the item or lexicographical index after which to begin returning results. For example, a file list of 'a','b','d' and listAfter='b' will return 'd', and a listAfter='c' will also return 'd'. Optional." }, { "name": "listBefore", "in": "query", "required": false, "type": "string", "description": "Gets or sets the item or lexicographical index before which to begin returning results. For example, a file list of 'a','b','d' and listBefore='d' will return 'a','b', and a listBefore='c' will also return 'a','b'. Optional." }, { "name": "tooId", "in": "query", "required": false, "type": "boolean", "description": "An optional switch to return friendly names in place of owner and group. tooId=false returns friendly names instead of the AAD Object ID. Default value is true, returning AAD object IDs." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "LISTSTATUS" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/FileStatusesResult" } }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Get the list of file status objects specified by the file path, with optional pagination parameters": { "$ref": "./examples/FileSystem_ListFileStatus.json" } } } }, "/webhdfs/v1/{path}?op=GETCONTENTSUMMARY": { "get": { "tags": [ "FileSystem" ], "operationId": "FileSystem_GetContentSummary", "description": "Gets the file content summary object specified by the file path.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file for which to retrieve the summary." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "GETCONTENTSUMMARY" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ContentSummaryResult" } }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Gets the file content summary object specified by the file path": { "$ref": "./examples/FileSystem_GetContentSummary.json" } } } }, "/webhdfs/v1/{path}?op=GETFILESTATUS": { "get": { "tags": [ "FileSystem" ], "operationId": "FileSystem_GetFileStatus", "description": "Get the file status object specified by the file path.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory for which to retrieve the status." }, { "name": "tooId", "in": "query", "required": false, "type": "boolean", "description": "An optional switch to return friendly names in place of owner and group. tooId=false returns friendly names instead of the AAD Object ID. Default value is true, returning AAD object IDs." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "GETFILESTATUS" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/FileStatusResult" } }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Get the file status object specified by the file path": { "$ref": "./examples/FileSystem_GetFileStatus.json" } } } }, "/webhdfs/v1/{path}?op=OPEN": { "get": { "tags": [ "FileSystem" ], "operationId": "FileSystem_Open", "description": "Opens and reads from the specified file.", "produces": [ "application/octet-stream" ], "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file to open." }, { "name": "length", "in": "query", "required": false, "type": "integer", "format": "int64", "description": "The number of bytes that the server will attempt to retrieve. It will retrieve <= length bytes." }, { "name": "offset", "in": "query", "required": false, "type": "integer", "format": "int64", "description": "The byte offset to start reading data from." }, { "name": "fileSessionId", "in": "query", "required": false, "type": "string", "format": "uuid", "description": "Optional unique GUID per file indicating all the reads with the same fileSessionId are from the same client and same session. This will give a performance benefit." }, { "name": "read", "in": "query", "required": true, "description": "Flag to skip redirection. When read=false or not specified, the request is redirected. Submit another HTTP PUT request using the URL in the Location header with the file data to be read. When read=true, this redirection is skipped.", "type": "string", "enum": [ "true" ] }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "OPEN" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "type": "file" } }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Opens and reads from the specified file": { "$ref": "./examples/FileSystem_Open.json" } } } }, "/webhdfs/v1/{path}?op=APPEND": { "post": { "tags": [ "FileSystem" ], "consumes": [ "application/octet-stream" ], "operationId": "FileSystem_Append", "description": "Used for serial appends to the specified file. NOTE: The target must not contain data added by ConcurrentAppend. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file to which to append." }, { "name": "streamContents", "in": "body", "schema": { "type": "object", "format": "file" }, "required": true, "description": "The file contents to include when appending to the file. The maximum content size is 4MB. For content larger than 4MB you must append the content in 4MB chunks." }, { "name": "offset", "in": "query", "required": false, "type": "integer", "format": "int64", "description": "The optional offset in the stream to begin the append operation. Default is to append at the end of the stream." }, { "name": "syncFlag", "in": "query", "required": false, "type": "string", "default": "CLOSE", "description": "Optionally indicates what to do after completion of the concurrent append. DATA indicates that more data will be sent immediately by the client, the file handle should remain open/locked, and file metadata (including file length, last modified time) should NOT get updated. METADATA indicates that more data will be sent immediately by the client, the file handle should remain open/locked, and file metadata should get updated. CLOSE indicates that the client is done sending data, the file handle should be closed/unlocked, and file metadata should get updated.", "enum": [ "DATA", "METADATA", "CLOSE" ], "x-ms-enum": { "name": "SyncFlag", "modelAsString": false } }, { "name": "leaseId", "in": "query", "required": false, "type": "string", "format": "uuid", "description": "Optional unique GUID per file to ensure single writer semantics, meaning that only clients that append to the file with the same leaseId will be allowed to do so." }, { "name": "fileSessionId", "in": "query", "required": false, "type": "string", "format": "uuid", "description": "Optional unique GUID per file indicating all the appends with the same fileSessionId are from the same client and same session. This will give a performance benefit when syncFlag is DATA or METADATA." }, { "name": "append", "in": "query", "required": true, "description": "Flag to skip redirection. When append=false or not specified, the request is redirected. Submit another HTTP PUT request using the URL in the Location header with the file data to be written. When append=true, this redirection is skipped.", "type": "string", "enum": [ "true" ] }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "APPEND" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Used for serial appends to the specified file. NOTE: The target must not contain data added by ConcurrentAppend. ConcurrentAppend and Append cannot be used interchangeably; once a target file has been modified using either of these append options, the other append option cannot be used on the target file": { "$ref": "./examples/FileSystem_Append.json" } } } }, "/webhdfs/v1/{path}?op=CREATE": { "put": { "tags": [ "FileSystem" ], "consumes": [ "application/octet-stream" ], "operationId": "FileSystem_Create", "description": "Creates a file with optionally specified content. NOTE: If content is provided, the resulting file cannot be modified using ConcurrentAppend.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file to create." }, { "name": "streamContents", "in": "body", "schema": { "type": "object", "format": "file" }, "required": false, "description": "The file contents to include when creating the file. This parameter is optional, resulting in an empty file if not specified. The maximum content size is 4MB. For content larger than 4MB you must append the content in 4MB chunks." }, { "name": "overwrite", "in": "query", "required": false, "type": "boolean", "description": "The indication of if the file should be overwritten." }, { "name": "syncFlag", "in": "query", "required": false, "type": "string", "default": "CLOSE", "description": "Optionally indicates what to do after completion of the create. DATA indicates that more data will be sent immediately by the client, the file handle should remain open/locked, and file metadata (including file length, last modified time) should NOT get updated. METADATA indicates that more data will be sent immediately by the client, the file handle should remain open/locked, and file metadata should get updated. CLOSE indicates that the client is done sending data, the file handle should be closed/unlocked, and file metadata should get updated.", "enum": [ "DATA", "METADATA", "CLOSE" ], "x-ms-enum": { "name": "SyncFlag", "modelAsString": false } }, { "name": "leaseId", "in": "query", "required": false, "type": "string", "format": "uuid", "description": "Optional unique GUID per file to ensure single writer semantics, meaning that only clients that append to the file with the same leaseId will be allowed to do so." }, { "name": "permission", "type": "integer", "in": "query", "format": "int32", "description": "The octal representation of the unnamed user, mask and other permissions that should be set for the file when created. If not specified, it inherits these from the container." }, { "name": "write", "in": "query", "required": true, "type": "string", "description": "Flag to skip redirection. When write=false or not specified, the request is redirected. Submit another HTTP PUT request using the URL in the Location header with the file data to be written. When write=true, this redirection is skipped.", "enum": [ "true" ] }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "CREATE" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "CREATED" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Creates a file with optionally specified content. NOTE: If content is provided, the resulting file cannot be modified using ConcurrentAppend": { "$ref": "./examples/FileSystem_Create.json" } } } }, "/webhdfs/v1/{path}?op=SETACL": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_SetAcl", "description": "Sets the Access Control List (ACL) for a file or folder.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory on which to set the ACL." }, { "name": "aclspec", "in": "query", "required": true, "type": "string", "description": "The ACL spec included in ACL creation operations in the format '[default:]user|group|other::r|-w|-x|-'" }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "SETACL" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Sets the Access Control List (ACL) for a file or folder": { "$ref": "./examples/FileSystem_SetAcl.json" } } } }, "/webhdfs/v1/{path}?op=MODIFYACLENTRIES": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_ModifyAclEntries", "description": "Modifies existing Access Control List (ACL) entries on a file or folder.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory with the ACL being modified." }, { "name": "aclspec", "in": "query", "required": true, "type": "string", "description": "The ACL specification included in ACL modification operations in the format '[default:]user|group|other::r|-w|-x|-'" }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "MODIFYACLENTRIES" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Modifies existing Access Control List (ACL) entries on a file or folder": { "$ref": "./examples/FileSystem_ModifyAclEntries.json" } } } }, "/webhdfs/v1/{path}?op=REMOVEACLENTRIES": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_RemoveAclEntries", "description": "Removes existing Access Control List (ACL) entries for a file or folder.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory with the ACL being removed." }, { "name": "aclspec", "in": "query", "required": true, "type": "string", "description": "The ACL spec included in ACL removal operations in the format '[default:]user|group|other'" }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "REMOVEACLENTRIES" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Removes existing Access Control List (ACL) entries for a file or folder": { "$ref": "./examples/FileSystem_RemoveAclEntries.json" } } } }, "/webhdfs/v1/{path}?op=REMOVEDEFAULTACL": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_RemoveDefaultAcl", "description": "Removes the existing Default Access Control List (ACL) of the specified directory.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the directory with the default ACL being removed." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "REMOVEDEFAULTACL" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Successfully Removed the Default Access Control List on the specified directory." }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Removes the existing Default Access Control List (ACL) of the specified directory": { "$ref": "./examples/FileSystem_RemoveDefaultAcl.json" } } } }, "/webhdfs/v1/{path}?op=REMOVEACL": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_RemoveAcl", "description": "Removes the existing Access Control List (ACL) of the specified file or directory.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory with the ACL being removed." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "REMOVEACL" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Successfully removed the Access Control List on the specified file or directory." }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Removes the existing Access Control List (ACL) of the specified file or directory": { "$ref": "./examples/FileSystem_RemoveAcl.json" } } } }, "/webhdfs/v1/{path}?op=GETACLSTATUS": { "get": { "tags": [ "FileSystem" ], "operationId": "FileSystem_GetAclStatus", "description": "Gets Access Control List (ACL) entries for the specified file or directory.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory for which to get the ACL." }, { "name": "tooId", "in": "query", "required": false, "type": "boolean", "description": "An optional switch to return friendly names in place of object ID for ACL entries. tooId=false returns friendly names instead of the AAD Object ID. Default value is true, returning AAD object IDs." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "GETACLSTATUS" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AclStatusResult" } }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Gets Access Control List (ACL) entries for the specified file or directory": { "$ref": "./examples/FileSystem_GetAclStatus.json" } } } }, "/webhdfs/v1/{path}?op=DELETE": { "delete": { "tags": [ "FileSystem" ], "operationId": "FileSystem_Delete", "description": "Deletes the requested file or directory, optionally recursively.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory to delete." }, { "name": "recursive", "in": "query", "required": false, "type": "boolean", "description": "The optional switch indicating if the delete should be recursive" }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "DELETE" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/FileOperationResult" } }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Deletes the requested file or directory, optionally recursively": { "$ref": "./examples/FileSystem_Delete.json" } } } }, "/webhdfs/v1/{path}?op=RENAME": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_Rename", "description": "Rename a file or directory.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory to move/rename." }, { "name": "destination", "in": "query", "required": true, "type": "string", "description": "The path to move/rename the file or folder to" }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "RENAME" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/FileOperationResult" } }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Rename a file or directory": { "$ref": "./examples/FileSystem_Rename.json" } } } }, "/webhdfs/v1/{path}?op=SETOWNER": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_SetOwner", "description": "Sets the owner of a file or directory.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory for which to set the owner." }, { "name": "owner", "in": "query", "required": false, "type": "string", "description": "The AAD Object ID of the user owner of the file or directory. If empty, the property will remain unchanged." }, { "name": "group", "in": "query", "required": false, "type": "string", "description": "The AAD Object ID of the group owner of the file or directory. If empty, the property will remain unchanged." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "SETOWNER" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Sets the owner of a file or directory": { "$ref": "./examples/FileSystem_SetOwner.json" } } } }, "/webhdfs/v1/{path}?op=SETPERMISSION": { "put": { "tags": [ "FileSystem" ], "operationId": "FileSystem_SetPermission", "description": "Sets the permission of the file or folder.", "parameters": [ { "name": "path", "in": "path", "required": true, "type": "string", "description": "The Data Lake Store path (starting with '/') of the file or directory for which to set the permission." }, { "name": "permission", "in": "query", "required": false, "type": "string", "description": "A string representation of the permission (i.e 'rwx'). If empty, this property remains unchanged." }, { "name": "op", "in": "query", "required": true, "type": "string", "description": "The constant value for the operation.", "enum": [ "SETPERMISSION" ] }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, "default": { "description": "An unexpected error from the server.", "schema": { "$ref": "#/definitions/AdlsError" } } }, "x-ms-examples": { "Sets the owner of a file or directory": { "$ref": "./examples/FileSystem_SetPermission.json" } } } } }, "definitions": { "FileOperationResult": { "properties": { "boolean": { "type": "boolean", "x-ms-client-name": "operationResult", "readOnly": true, "description": "the result of the operation or request." } }, "description": "The result of the request or operation." }, "AclStatus": { "properties": { "entries": { "type": "array", "items": { "type": "string" }, "description": "the list of ACLSpec entries on a file or directory." }, "group": { "type": "string", "description": "the group owner, an AAD Object ID." }, "owner": { "type": "string", "description": "the user owner, an AAD Object ID." }, "permission": { "type": "string", "description": "The octal representation of the unnamed user, mask and other permissions." }, "stickyBit": { "type": "boolean", "readOnly": true, "description": "the indicator of whether the sticky bit is on or off." } }, "description": "Data Lake Store file or directory Access Control List information." }, "AclStatusResult": { "properties": { "aclStatus": { "$ref": "#/definitions/AclStatus", "description": "the AclStatus object for a given file or directory." } }, "description": "Data Lake Store file or directory Access Control List information." }, "ContentSummary": { "properties": { "directoryCount": { "type": "integer", "readOnly": true, "format": "int64", "description": "the number of directories." }, "fileCount": { "type": "integer", "readOnly": true, "format": "int64", "description": "the number of files." }, "length": { "type": "integer", "readOnly": true, "format": "int64", "description": "the number of bytes used by the content." }, "spaceConsumed": { "type": "integer", "readOnly": true, "format": "int64", "description": "the disk space consumed by the content." } }, "description": "Data Lake Store content summary information" }, "ContentSummaryResult": { "properties": { "contentSummary": { "$ref": "#/definitions/ContentSummary", "readOnly": true, "description": "the content summary for the specified path" } }, "description": "Data Lake Store filesystem content summary information response." }, "FileStatusProperties": { "properties": { "accessTime": { "type": "integer", "readOnly": true, "format": "int64", "description": "the last access time as ticks since the epoch." }, "blockSize": { "type": "integer", "readOnly": true, "format": "int64", "description": "the block size for the file." }, "msExpirationTime": { "x-ms-client-name": "expirationTime", "type": "integer", "readOnly": true, "format": "int64", "description": "Gets the expiration time, if any, as ticks since the epoch. If the value is 0 or DateTime.MaxValue there is no expiration." }, "group": { "type": "string", "readOnly": true, "description": "the group owner." }, "length": { "type": "integer", "readOnly": true, "format": "int64", "description": "the number of bytes in a file." }, "modificationTime": { "type": "integer", "readOnly": true, "format": "int64", "description": "the modification time as ticks since the epoch." }, "owner": { "type": "string", "readOnly": true, "description": "the user who is the owner." }, "pathSuffix": { "type": "string", "readOnly": true, "description": "the path suffix." }, "permission": { "type": "string", "readOnly": true, "description": "the permission represented as an string." }, "type": { "type": "string", "readOnly": true, "description": "the type of the path object.", "enum": [ "FILE", "DIRECTORY" ], "x-ms-enum": { "name": "FileType", "modelAsString": false } }, "aclBit": { "type": "boolean", "readOnly": true, "description": "flag to indicate if extended acls are enabled " } }, "description": "Data Lake Store file or directory information." }, "FileStatuses": { "properties": { "fileStatus": { "type": "array", "readOnly": true, "items": { "$ref": "#/definitions/FileStatusProperties" }, "description": "the object containing the list of properties of the files." } }, "description": "Data Lake Store file status list information." }, "FileStatusesResult": { "properties": { "fileStatuses": { "$ref": "#/definitions/FileStatuses", "readOnly": true, "description": "the object representing the list of file statuses." } }, "description": "Data Lake Store filesystem file status list information response." }, "FileStatusResult": { "properties": { "fileStatus": { "$ref": "#/definitions/FileStatusProperties", "readOnly": true, "description": "the file status object associated with the specified path." } }, "description": "Data Lake Store filesystem file status information response." }, "AdlsIllegalArgumentException": { "x-ms-discriminator-value": "IllegalArgumentException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating that one more arguments is incorrect. Thrown when a 400 error response code is returned (bad request)." }, "AdlsUnsupportedOperationException": { "x-ms-discriminator-value": "UnsupportedOperationException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating that the requested operation is not supported. Thrown when a 400 error response code is returned (bad request)." }, "AdlsSecurityException": { "x-ms-discriminator-value": "SecurityException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating that access is denied. Thrown when a 401 error response code is returned (Unauthorized)." }, "AdlsIOException": { "x-ms-discriminator-value": "IOException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating there was an IO (read or write) error. Thrown when a 403 error response code is returned (forbidden)." }, "AdlsFileNotFoundException": { "x-ms-discriminator-value": "FileNotFoundException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating the file or folder could not be found. Thrown when a 404 error response code is returned (not found)." }, "AdlsFileAlreadyExistsException": { "x-ms-discriminator-value": "FileAlreadyExistsException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating the file or folder already exists. Thrown when a 403 error response code is returned (forbidden)." }, "AdlsBadOffsetException": { "x-ms-discriminator-value": "BadOffsetException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating the append or read is from a bad offset. Thrown when a 400 error response code is returned for append and open operations (Bad request)." }, "AdlsRuntimeException": { "x-ms-discriminator-value": "RuntimeException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown when an unexpected error occurs during an operation. Thrown when a 500 error response code is returned (Internal server error)." }, "AdlsAccessControlException": { "x-ms-discriminator-value": "AccessControlException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating that access is denied due to insufficient permissions. Thrown when a 403 error response code is returned (forbidden)." }, "AdlsThrottledException": { "x-ms-discriminator-value": "ThrottledException", "allOf": [ { "$ref": "#/definitions/AdlsRemoteException" } ], "description": "A WebHDFS exception thrown indicating that the request is being throttled. Reducing the number of requests or request size helps to mitigate this error." }, "AdlsRemoteException": { "discriminator": "exception", "required": [ "exception" ], "properties": { "exception": { "type": "string", "description": "the class name of the exception thrown, such as 'IllegalArgumentException'." }, "javaClassName": { "type": "string", "readOnly": true, "description": "the full class package name for the exception thrown, such as 'java.lang.IllegalArgumentException'." }, "message": { "type": "string", "readOnly": true, "description": "the message associated with the exception that was thrown, such as 'Invalid value for webhdfs parameter \"permission\":...'." } }, "description": "Data Lake Store filesystem exception based on the WebHDFS definition for RemoteExceptions. This is a WebHDFS 'catch all' exception" }, "AdlsError": { "properties": { "remoteException": { "$ref": "#/definitions/AdlsRemoteException", "readOnly": true, "description": "the object representing the actual WebHDFS exception being returned." } }, "description": "Data Lake Store filesystem error containing a specific WebHDFS exception." } }, "parameters": { "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", "description": "Client Api Version." }, "adlsFilesystemDnsSuffixInPath": { "name": "adlsFileSystemDnsSuffix", "in": "path", "required": true, "type": "string", "default": "azuredatalakestore.net", "x-ms-skip-url-encoding": true, "description": "Gets the URI used as the base for all cloud service requests.", "x-ms-parameter-location": "client" } } }