/vendor/github.com/Azure/azure-sdk-for-go/services/datalake/store/2016-11-01/filesystem/filesystem.go
Go | 1099 lines | 757 code | 135 blank | 207 comment | 114 complexity | 3b606520a112b0a00763489e0d49d34f MD5 | raw file
- package filesystem
- // Copyright (c) Microsoft and contributors. All rights reserved.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- //
- // See the License for the specific language governing permissions and
- // limitations under the License.
- //
- // Code generated by Microsoft (R) AutoRest Code Generator.
- // Changes may cause incorrect behavior and will be lost if the code is regenerated.
- import (
- "context"
- "github.com/Azure/go-autorest/autorest"
- "github.com/Azure/go-autorest/autorest/azure"
- "github.com/Azure/go-autorest/autorest/validation"
- "github.com/satori/go.uuid"
- "io"
- "net/http"
- )
- // Client is the creates an Azure Data Lake Store filesystem client.
- type Client struct {
- BaseClient
- }
- // NewClient creates an instance of the Client client.
- func NewClient() Client {
- return Client{New()}
- }
- // Append 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.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file to which to append. streamContents is the file contents to include when
- // appending to the file. streamContents will be closed upon successful return. Callers should ensure closure when
- // receiving an error.appendParameter is 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. op is the constant value for the operation. offset is the optional
- // offset in the stream to begin the append operation. Default is to append at the end of the stream. syncFlag is
- // 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.
- // leaseID is 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. fileSessionID is 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.
- func (client Client) Append(ctx context.Context, accountName string, pathParameter string, streamContents io.ReadCloser, appendParameter string, op string, offset *int64, syncFlag SyncFlag, leaseID *uuid.UUID, fileSessionID *uuid.UUID) (result autorest.Response, err error) {
- req, err := client.AppendPreparer(ctx, accountName, pathParameter, streamContents, appendParameter, op, offset, syncFlag, leaseID, fileSessionID)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Append", nil, "Failure preparing request")
- return
- }
- resp, err := client.AppendSender(req)
- if err != nil {
- result.Response = resp
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Append", resp, "Failure sending request")
- return
- }
- result, err = client.AppendResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Append", resp, "Failure responding to request")
- }
- return
- }
- // AppendPreparer prepares the Append request.
- func (client Client) AppendPreparer(ctx context.Context, accountName string, pathParameter string, streamContents io.ReadCloser, appendParameter string, op string, offset *int64, syncFlag SyncFlag, leaseID *uuid.UUID, fileSessionID *uuid.UUID) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "append": autorest.Encode("query", appendParameter),
- "op": autorest.Encode("query", op),
- }
- if offset != nil {
- queryParameters["offset"] = autorest.Encode("query", *offset)
- }
- if len(string(syncFlag)) > 0 {
- queryParameters["syncFlag"] = autorest.Encode("query", syncFlag)
- }
- if leaseID != nil {
- queryParameters["leaseId"] = autorest.Encode("query", *leaseID)
- }
- if fileSessionID != nil {
- queryParameters["fileSessionId"] = autorest.Encode("query", *fileSessionID)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsPost(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithFile(streamContents),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // AppendSender sends the Append request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) AppendSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // AppendResponder handles the response to the Append request. The method always
- // closes the http.Response Body.
- func (client Client) AppendResponder(resp *http.Response) (result autorest.Response, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByClosing())
- result.Response = resp
- return
- }
- // CheckAccess checks if the specified access is available at the given path.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file or directory for which to check access. fsaction is file system operation
- // read/write/execute in string form, matching regex pattern '[rwx-]{3}' op is the constant value for the operation.
- func (client Client) CheckAccess(ctx context.Context, accountName string, pathParameter string, fsaction string, op string) (result autorest.Response, err error) {
- req, err := client.CheckAccessPreparer(ctx, accountName, pathParameter, fsaction, op)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "CheckAccess", nil, "Failure preparing request")
- return
- }
- resp, err := client.CheckAccessSender(req)
- if err != nil {
- result.Response = resp
- err = autorest.NewErrorWithError(err, "filesystem.Client", "CheckAccess", resp, "Failure sending request")
- return
- }
- result, err = client.CheckAccessResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "CheckAccess", resp, "Failure responding to request")
- }
- return
- }
- // CheckAccessPreparer prepares the CheckAccess request.
- func (client Client) CheckAccessPreparer(ctx context.Context, accountName string, pathParameter string, fsaction string, op string) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "fsaction": autorest.Encode("query", fsaction),
- "op": autorest.Encode("query", op),
- }
- preparer := autorest.CreatePreparer(
- autorest.AsGet(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // CheckAccessSender sends the CheckAccess request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) CheckAccessSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // CheckAccessResponder handles the response to the CheckAccess request. The method always
- // closes the http.Response Body.
- func (client Client) CheckAccessResponder(resp *http.Response) (result autorest.Response, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByClosing())
- result.Response = resp
- return
- }
- // Concat concatenates the list of source files into the destination file, removing all source files upon success.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the destination file resulting from the concatenation. sources is 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. op is the constant value for the operation.
- func (client Client) Concat(ctx context.Context, accountName string, pathParameter string, sources []string, op string) (result autorest.Response, err error) {
- if err := validation.Validate([]validation.Validation{
- {TargetValue: sources,
- Constraints: []validation.Constraint{{Target: "sources", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil {
- return result, validation.NewErrorWithValidationError(err, "filesystem.Client", "Concat")
- }
- req, err := client.ConcatPreparer(ctx, accountName, pathParameter, sources, op)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Concat", nil, "Failure preparing request")
- return
- }
- resp, err := client.ConcatSender(req)
- if err != nil {
- result.Response = resp
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Concat", resp, "Failure sending request")
- return
- }
- result, err = client.ConcatResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Concat", resp, "Failure responding to request")
- }
- return
- }
- // ConcatPreparer prepares the Concat request.
- func (client Client) ConcatPreparer(ctx context.Context, accountName string, pathParameter string, sources []string, op string) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- "sources": autorest.Encode("query", sources, ","),
- }
- preparer := autorest.CreatePreparer(
- autorest.AsPost(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // ConcatSender sends the Concat request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) ConcatSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // ConcatResponder handles the response to the Concat request. The method always
- // closes the http.Response Body.
- func (client Client) ConcatResponder(resp *http.Response) (result autorest.Response, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByClosing())
- result.Response = resp
- return
- }
- // ConcurrentAppend 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.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file to which to append using concurrent append. streamContents is the file
- // contents to include when appending to the file. streamContents will be closed upon successful return. Callers should
- // ensure closure when receiving an error.op is the constant value for the operation. transferEncoding is indicates the
- // data being sent to the server is being streamed in chunks. appendMode is indicates the concurrent append call should
- // create the file if it doesn't exist or just open the existing file for append syncFlag is 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.
- func (client Client) ConcurrentAppend(ctx context.Context, accountName string, pathParameter string, streamContents io.ReadCloser, op string, transferEncoding string, appendMode AppendModeType, syncFlag SyncFlag) (result autorest.Response, err error) {
- req, err := client.ConcurrentAppendPreparer(ctx, accountName, pathParameter, streamContents, op, transferEncoding, appendMode, syncFlag)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ConcurrentAppend", nil, "Failure preparing request")
- return
- }
- resp, err := client.ConcurrentAppendSender(req)
- if err != nil {
- result.Response = resp
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ConcurrentAppend", resp, "Failure sending request")
- return
- }
- result, err = client.ConcurrentAppendResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ConcurrentAppend", resp, "Failure responding to request")
- }
- return
- }
- // ConcurrentAppendPreparer prepares the ConcurrentAppend request.
- func (client Client) ConcurrentAppendPreparer(ctx context.Context, accountName string, pathParameter string, streamContents io.ReadCloser, op string, transferEncoding string, appendMode AppendModeType, syncFlag SyncFlag) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- if len(string(appendMode)) > 0 {
- queryParameters["appendMode"] = autorest.Encode("query", appendMode)
- }
- if len(string(syncFlag)) > 0 {
- queryParameters["syncFlag"] = autorest.Encode("query", syncFlag)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsPost(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/WebHdfsExt/{path}", pathParameters),
- autorest.WithFile(streamContents),
- autorest.WithQueryParameters(queryParameters),
- autorest.WithHeader("Transfer-Encoding", autorest.String(transferEncoding)))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // ConcurrentAppendSender sends the ConcurrentAppend request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) ConcurrentAppendSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // ConcurrentAppendResponder handles the response to the ConcurrentAppend request. The method always
- // closes the http.Response Body.
- func (client Client) ConcurrentAppendResponder(resp *http.Response) (result autorest.Response, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByClosing())
- result.Response = resp
- return
- }
- // Create creates a file with optionally specified content. NOTE: If content is provided, the resulting file cannot be
- // modified using ConcurrentAppend.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file to create. write is 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. op is the constant value for the operation.
- // streamContents is the file contents to include when creating the file. This parameter is optional, resulting in an
- // empty file if not specified. streamContents will be closed upon successful return. Callers should ensure closure
- // when receiving an error.overwrite is the indication of if the file should be overwritten. syncFlag is 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. leaseID is 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. permission is 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.
- func (client Client) Create(ctx context.Context, accountName string, pathParameter string, write string, op string, streamContents io.ReadCloser, overwrite *bool, syncFlag SyncFlag, leaseID *uuid.UUID, permission *int32) (result autorest.Response, err error) {
- req, err := client.CreatePreparer(ctx, accountName, pathParameter, write, op, streamContents, overwrite, syncFlag, leaseID, permission)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Create", nil, "Failure preparing request")
- return
- }
- resp, err := client.CreateSender(req)
- if err != nil {
- result.Response = resp
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Create", resp, "Failure sending request")
- return
- }
- result, err = client.CreateResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Create", resp, "Failure responding to request")
- }
- return
- }
- // CreatePreparer prepares the Create request.
- func (client Client) CreatePreparer(ctx context.Context, accountName string, pathParameter string, write string, op string, streamContents io.ReadCloser, overwrite *bool, syncFlag SyncFlag, leaseID *uuid.UUID, permission *int32) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- "write": autorest.Encode("query", write),
- }
- if overwrite != nil {
- queryParameters["overwrite"] = autorest.Encode("query", *overwrite)
- }
- if len(string(syncFlag)) > 0 {
- queryParameters["syncFlag"] = autorest.Encode("query", syncFlag)
- }
- if leaseID != nil {
- queryParameters["leaseId"] = autorest.Encode("query", *leaseID)
- }
- if permission != nil {
- queryParameters["permission"] = autorest.Encode("query", *permission)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsPut(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- if streamContents != nil {
- preparer = autorest.DecoratePreparer(preparer,
- autorest.WithJSON(streamContents))
- }
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // CreateSender sends the Create request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) CreateSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // CreateResponder handles the response to the Create request. The method always
- // closes the http.Response Body.
- func (client Client) CreateResponder(resp *http.Response) (result autorest.Response, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated),
- autorest.ByClosing())
- result.Response = resp
- return
- }
- // Delete deletes the requested file or directory, optionally recursively.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file or directory to delete. op is the constant value for the operation.
- // recursive is the optional switch indicating if the delete should be recursive
- func (client Client) Delete(ctx context.Context, accountName string, pathParameter string, op string, recursive *bool) (result FileOperationResult, err error) {
- req, err := client.DeletePreparer(ctx, accountName, pathParameter, op, recursive)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Delete", nil, "Failure preparing request")
- return
- }
- resp, err := client.DeleteSender(req)
- if err != nil {
- result.Response = autorest.Response{Response: resp}
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Delete", resp, "Failure sending request")
- return
- }
- result, err = client.DeleteResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Delete", resp, "Failure responding to request")
- }
- return
- }
- // DeletePreparer prepares the Delete request.
- func (client Client) DeletePreparer(ctx context.Context, accountName string, pathParameter string, op string, recursive *bool) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- if recursive != nil {
- queryParameters["recursive"] = autorest.Encode("query", *recursive)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsDelete(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // DeleteSender sends the Delete request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) DeleteSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // DeleteResponder handles the response to the Delete request. The method always
- // closes the http.Response Body.
- func (client Client) DeleteResponder(resp *http.Response) (result FileOperationResult, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByUnmarshallingJSON(&result),
- autorest.ByClosing())
- result.Response = autorest.Response{Response: resp}
- return
- }
- // GetACLStatus gets Access Control List (ACL) entries for the specified file or directory.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file or directory for which to get the ACL. op is the constant value for the
- // operation. tooID is 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.
- func (client Client) GetACLStatus(ctx context.Context, accountName string, pathParameter string, op string, tooID *bool) (result ACLStatusResult, err error) {
- req, err := client.GetACLStatusPreparer(ctx, accountName, pathParameter, op, tooID)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetACLStatus", nil, "Failure preparing request")
- return
- }
- resp, err := client.GetACLStatusSender(req)
- if err != nil {
- result.Response = autorest.Response{Response: resp}
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetACLStatus", resp, "Failure sending request")
- return
- }
- result, err = client.GetACLStatusResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetACLStatus", resp, "Failure responding to request")
- }
- return
- }
- // GetACLStatusPreparer prepares the GetACLStatus request.
- func (client Client) GetACLStatusPreparer(ctx context.Context, accountName string, pathParameter string, op string, tooID *bool) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- if tooID != nil {
- queryParameters["tooId"] = autorest.Encode("query", *tooID)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsGet(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // GetACLStatusSender sends the GetACLStatus request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) GetACLStatusSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // GetACLStatusResponder handles the response to the GetACLStatus request. The method always
- // closes the http.Response Body.
- func (client Client) GetACLStatusResponder(resp *http.Response) (result ACLStatusResult, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByUnmarshallingJSON(&result),
- autorest.ByClosing())
- result.Response = autorest.Response{Response: resp}
- return
- }
- // GetContentSummary gets the file content summary object specified by the file path.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file for which to retrieve the summary. op is the constant value for the
- // operation.
- func (client Client) GetContentSummary(ctx context.Context, accountName string, pathParameter string, op string) (result ContentSummaryResult, err error) {
- req, err := client.GetContentSummaryPreparer(ctx, accountName, pathParameter, op)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetContentSummary", nil, "Failure preparing request")
- return
- }
- resp, err := client.GetContentSummarySender(req)
- if err != nil {
- result.Response = autorest.Response{Response: resp}
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetContentSummary", resp, "Failure sending request")
- return
- }
- result, err = client.GetContentSummaryResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetContentSummary", resp, "Failure responding to request")
- }
- return
- }
- // GetContentSummaryPreparer prepares the GetContentSummary request.
- func (client Client) GetContentSummaryPreparer(ctx context.Context, accountName string, pathParameter string, op string) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- preparer := autorest.CreatePreparer(
- autorest.AsGet(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // GetContentSummarySender sends the GetContentSummary request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) GetContentSummarySender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // GetContentSummaryResponder handles the response to the GetContentSummary request. The method always
- // closes the http.Response Body.
- func (client Client) GetContentSummaryResponder(resp *http.Response) (result ContentSummaryResult, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByUnmarshallingJSON(&result),
- autorest.ByClosing())
- result.Response = autorest.Response{Response: resp}
- return
- }
- // GetFileStatus get the file status object specified by the file path.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file or directory for which to retrieve the status. op is the constant value
- // for the operation. tooID is 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.
- func (client Client) GetFileStatus(ctx context.Context, accountName string, pathParameter string, op string, tooID *bool) (result FileStatusResult, err error) {
- req, err := client.GetFileStatusPreparer(ctx, accountName, pathParameter, op, tooID)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetFileStatus", nil, "Failure preparing request")
- return
- }
- resp, err := client.GetFileStatusSender(req)
- if err != nil {
- result.Response = autorest.Response{Response: resp}
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetFileStatus", resp, "Failure sending request")
- return
- }
- result, err = client.GetFileStatusResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "GetFileStatus", resp, "Failure responding to request")
- }
- return
- }
- // GetFileStatusPreparer prepares the GetFileStatus request.
- func (client Client) GetFileStatusPreparer(ctx context.Context, accountName string, pathParameter string, op string, tooID *bool) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- if tooID != nil {
- queryParameters["tooId"] = autorest.Encode("query", *tooID)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsGet(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // GetFileStatusSender sends the GetFileStatus request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) GetFileStatusSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // GetFileStatusResponder handles the response to the GetFileStatus request. The method always
- // closes the http.Response Body.
- func (client Client) GetFileStatusResponder(resp *http.Response) (result FileStatusResult, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByUnmarshallingJSON(&result),
- autorest.ByClosing())
- result.Response = autorest.Response{Response: resp}
- return
- }
- // ListFileStatus get the list of file status objects specified by the file path, with optional pagination parameters
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the directory to list. op is the constant value for the operation. listSize is
- // gets or sets the number of items to return. Optional. listAfter is gets or sets the item or lexographical 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. listBefore is gets or sets the item or lexographical 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. tooID is 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.
- func (client Client) ListFileStatus(ctx context.Context, accountName string, pathParameter string, op string, listSize *int32, listAfter string, listBefore string, tooID *bool) (result FileStatusesResult, err error) {
- req, err := client.ListFileStatusPreparer(ctx, accountName, pathParameter, op, listSize, listAfter, listBefore, tooID)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ListFileStatus", nil, "Failure preparing request")
- return
- }
- resp, err := client.ListFileStatusSender(req)
- if err != nil {
- result.Response = autorest.Response{Response: resp}
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ListFileStatus", resp, "Failure sending request")
- return
- }
- result, err = client.ListFileStatusResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ListFileStatus", resp, "Failure responding to request")
- }
- return
- }
- // ListFileStatusPreparer prepares the ListFileStatus request.
- func (client Client) ListFileStatusPreparer(ctx context.Context, accountName string, pathParameter string, op string, listSize *int32, listAfter string, listBefore string, tooID *bool) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- if listSize != nil {
- queryParameters["listSize"] = autorest.Encode("query", *listSize)
- }
- if len(listAfter) > 0 {
- queryParameters["listAfter"] = autorest.Encode("query", listAfter)
- }
- if len(listBefore) > 0 {
- queryParameters["listBefore"] = autorest.Encode("query", listBefore)
- }
- if tooID != nil {
- queryParameters["tooId"] = autorest.Encode("query", *tooID)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsGet(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // ListFileStatusSender sends the ListFileStatus request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) ListFileStatusSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // ListFileStatusResponder handles the response to the ListFileStatus request. The method always
- // closes the http.Response Body.
- func (client Client) ListFileStatusResponder(resp *http.Response) (result FileStatusesResult, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByUnmarshallingJSON(&result),
- autorest.ByClosing())
- result.Response = autorest.Response{Response: resp}
- return
- }
- // Mkdirs creates a directory.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the directory to create. op is the constant value for the operation. permission is
- // optional octal permission with which the directory should be created.
- func (client Client) Mkdirs(ctx context.Context, accountName string, pathParameter string, op string, permission *int32) (result FileOperationResult, err error) {
- req, err := client.MkdirsPreparer(ctx, accountName, pathParameter, op, permission)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Mkdirs", nil, "Failure preparing request")
- return
- }
- resp, err := client.MkdirsSender(req)
- if err != nil {
- result.Response = autorest.Response{Response: resp}
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Mkdirs", resp, "Failure sending request")
- return
- }
- result, err = client.MkdirsResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "Mkdirs", resp, "Failure responding to request")
- }
- return
- }
- // MkdirsPreparer prepares the Mkdirs request.
- func (client Client) MkdirsPreparer(ctx context.Context, accountName string, pathParameter string, op string, permission *int32) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- if permission != nil {
- queryParameters["permission"] = autorest.Encode("query", *permission)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsPut(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // MkdirsSender sends the Mkdirs request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) MkdirsSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // MkdirsResponder handles the response to the Mkdirs request. The method always
- // closes the http.Response Body.
- func (client Client) MkdirsResponder(resp *http.Response) (result FileOperationResult, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByUnmarshallingJSON(&result),
- autorest.ByClosing())
- result.Response = autorest.Response{Response: resp}
- return
- }
- // ModifyACLEntries modifies existing Access Control List (ACL) entries on a file or folder.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the file or directory with the ACL being modified. aclspec is the ACL
- // specification included in ACL modification operations in the format '[default:]user|group|other::r|-w|-x|-' op is
- // the constant value for the operation.
- func (client Client) ModifyACLEntries(ctx context.Context, accountName string, pathParameter string, aclspec string, op string) (result autorest.Response, err error) {
- req, err := client.ModifyACLEntriesPreparer(ctx, accountName, pathParameter, aclspec, op)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ModifyACLEntries", nil, "Failure preparing request")
- return
- }
- resp, err := client.ModifyACLEntriesSender(req)
- if err != nil {
- result.Response = resp
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ModifyACLEntries", resp, "Failure sending request")
- return
- }
- result, err = client.ModifyACLEntriesResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "ModifyACLEntries", resp, "Failure responding to request")
- }
- return
- }
- // ModifyACLEntriesPreparer prepares the ModifyACLEntries request.
- func (client Client) ModifyACLEntriesPreparer(ctx context.Context, accountName string, pathParameter string, aclspec string, op string) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "aclspec": autorest.Encode("query", aclspec),
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- preparer := autorest.CreatePreparer(
- autorest.AsPut(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // ModifyACLEntriesSender sends the ModifyACLEntries request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) ModifyACLEntriesSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // ModifyACLEntriesResponder handles the response to the ModifyACLEntries request. The method always
- // closes the http.Response Body.
- func (client Client) ModifyACLEntriesResponder(resp *http.Response) (result autorest.Response, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.ByClosing())
- result.Response = resp
- return
- }
- // MsConcat 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.
- //
- // accountName is the Azure Data Lake Store account to execute filesystem operations on. pathParameter is the Data Lake
- // Store path (starting with '/') of the destination file resulting from the concatenation. streamContents is 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 streamContents will be closed upon successful
- // return. Callers should ensure closure when receiving an error.op is the constant value for the operation.
- // deleteSourceDirectory is 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.
- func (client Client) MsConcat(ctx context.Context, accountName string, pathParameter string, streamContents io.ReadCloser, op string, deleteSourceDirectory *bool) (result autorest.Response, err error) {
- req, err := client.MsConcatPreparer(ctx, accountName, pathParameter, streamContents, op, deleteSourceDirectory)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "MsConcat", nil, "Failure preparing request")
- return
- }
- resp, err := client.MsConcatSender(req)
- if err != nil {
- result.Response = resp
- err = autorest.NewErrorWithError(err, "filesystem.Client", "MsConcat", resp, "Failure sending request")
- return
- }
- result, err = client.MsConcatResponder(resp)
- if err != nil {
- err = autorest.NewErrorWithError(err, "filesystem.Client", "MsConcat", resp, "Failure responding to request")
- }
- return
- }
- // MsConcatPreparer prepares the MsConcat request.
- func (client Client) MsConcatPreparer(ctx context.Context, accountName string, pathParameter string, streamContents io.ReadCloser, op string, deleteSourceDirectory *bool) (*http.Request, error) {
- urlParameters := map[string]interface{}{
- "accountName": accountName,
- "adlsFileSystemDnsSuffix": client.AdlsFileSystemDNSSuffix,
- }
- pathParameters := map[string]interface{}{
- "path": autorest.Encode("path", pathParameter),
- }
- const APIVersion = "2016-11-01"
- queryParameters := map[string]interface{}{
- "api-version": APIVersion,
- "op": autorest.Encode("query", op),
- }
- if deleteSourceDirectory != nil {
- queryParameters["deleteSourceDirectory"] = autorest.Encode("query", *deleteSourceDirectory)
- }
- preparer := autorest.CreatePreparer(
- autorest.AsPost(),
- autorest.WithCustomBaseURL("https://{accountName}.{adlsFileSystemDnsSuffix}", urlParameters),
- autorest.WithPathParameters("/webhdfs/v1/{path}", pathParameters),
- autorest.WithFile(streamContents),
- autorest.WithQueryParameters(queryParameters))
- return preparer.Prepare((&http.Request{}).WithContext(ctx))
- }
- // MsConcatSender sends the MsConcat request. The method will close the
- // http.Response Body if it receives an error.
- func (client Client) MsConcatSender(req *http.Request) (*http.Response, error) {
- return autorest.SendWithSender(client, req,
- autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...))
- }
- // MsConcatResponder handles the response to the MsConcat request. The method always
- // closes the http.Response Body.
- func (client Client) MsConcatResponder(resp *http.Response) (result autorest.Response, err error) {
- err = autorest.Respond(
- resp,
- client.ByInspecting(),
- azure.WithErrorUnlessStatusCode(http.StatusOK),
- autorest.B