{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://storagetransfer.googleapis.com/",
  "batchPath": "batch",
  "description": "Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets.",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/storage-transfer/docs",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "storagetransfer:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://storagetransfer.mtls.googleapis.com/",
  "name": "storagetransfer",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "googleServiceAccounts": {
      "methods": {
        "get": {
          "description": "Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Cloud Platform Console project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service.",
          "flatPath": "v1/googleServiceAccounts/{projectId}",
          "httpMethod": "GET",
          "id": "storagetransfer.googleServiceAccounts.get",
          "parameterOrder": [
            "projectId"
          ],
          "parameters": {
            "projectId": {
              "description": "Required. The ID of the Google Cloud Platform Console project that the Google service account is associated with.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/googleServiceAccounts/{projectId}",
          "response": {
            "$ref": "GoogleServiceAccount"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "transferJobs": {
      "methods": {
        "create": {
          "description": "Creates a transfer job that runs periodically.",
          "flatPath": "v1/transferJobs",
          "httpMethod": "POST",
          "id": "storagetransfer.transferJobs.create",
          "parameterOrder": [],
          "parameters": {},
          "path": "v1/transferJobs",
          "request": {
            "$ref": "TransferJob"
          },
          "response": {
            "$ref": "TransferJob"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "get": {
          "description": "Gets a transfer job.",
          "flatPath": "v1/transferJobs/{transferJobsId}",
          "httpMethod": "GET",
          "id": "storagetransfer.transferJobs.get",
          "parameterOrder": [
            "jobName",
            "projectId"
          ],
          "parameters": {
            "jobName": {
              "description": "Required. \" The job to get.",
              "location": "path",
              "pattern": "^transferJobs/.*$",
              "required": true,
              "type": "string"
            },
            "projectId": {
              "description": "Required. The ID of the Google Cloud Platform Console project that owns the job.",
              "location": "query",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+jobName}",
          "response": {
            "$ref": "TransferJob"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists transfer jobs.",
          "flatPath": "v1/transferJobs",
          "httpMethod": "GET",
          "id": "storagetransfer.transferJobs.list",
          "parameterOrder": [
            "filter"
          ],
          "parameters": {
            "filter": {
              "description": "Required. A list of query parameters specified as JSON text in the form of: `{\"projectId\":\"my_project_id\", \"jobNames\":[\"jobid1\",\"jobid2\",...], \"jobStatuses\":[\"status1\",\"status2\",...]}` Since `jobNames` and `jobStatuses` support multiple values, their values must be specified with array notation. `projectId` is required. `jobNames` and `jobStatuses` are optional. The valid values for `jobStatuses` are case-insensitive: ENABLED, DISABLED, and DELETED.",
              "location": "query",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "The list page size. The max allowed value is 256.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "The list page token.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/transferJobs",
          "response": {
            "$ref": "ListTransferJobsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "patch": {
          "description": "Updates a transfer job. Updating a job's transfer spec does not affect transfer operations that are running already. Updating a job's schedule is not allowed. **Note:** The job's status field can be modified using this RPC (for example, to set a job's status to DELETED, DISABLED, or ENABLED).",
          "flatPath": "v1/transferJobs/{transferJobsId}",
          "httpMethod": "PATCH",
          "id": "storagetransfer.transferJobs.patch",
          "parameterOrder": [
            "jobName"
          ],
          "parameters": {
            "jobName": {
              "description": "Required. The name of job to update.",
              "location": "path",
              "pattern": "^transferJobs/.*$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+jobName}",
          "request": {
            "$ref": "UpdateTransferJobRequest"
          },
          "response": {
            "$ref": "TransferJob"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    },
    "transferOperations": {
      "methods": {
        "cancel": {
          "description": "Cancels a transfer. Use the transferOperations.get method to check if the cancellation succeeded or if the operation completed despite the `cancel` request. When you cancel an operation, the currently running transfer is interrupted. For recurring transfer jobs, the next instance of the transfer job will still run. For example, if your job is configured to run every day at 1pm and you cancel Monday's operation at 1:05pm, Monday's transfer will stop. However, a transfer job will still be attempted on Tuesday. This applies only to currently running operations. If an operation is not currently running, `cancel` does nothing. *Caution:* Canceling a transfer job can leave your data in an unknown state. We recommend that you restore the state at both the destination and the source after the `cancel` request completes so that your data is in a consistent state. When you cancel a job, the next job computes a delta of files and may repair any inconsistent state. For instance, if you run a job every day, and today's job found 10 new files and transferred five files before you canceled the job, tomorrow's transfer operation will compute a new delta with the five files that were not copied today plus any new files discovered tomorrow.",
          "flatPath": "v1/transferOperations/{transferOperationsId}:cancel",
          "httpMethod": "POST",
          "id": "storagetransfer.transferOperations.cancel",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The name of the operation resource to be cancelled.",
              "location": "path",
              "pattern": "^transferOperations/.*$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}:cancel",
          "request": {
            "$ref": "CancelOperationRequest"
          },
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "get": {
          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
          "flatPath": "v1/transferOperations/{transferOperationsId}",
          "httpMethod": "GET",
          "id": "storagetransfer.transferOperations.get",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "The name of the operation resource.",
              "location": "path",
              "pattern": "^transferOperations/.*$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "Operation"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "list": {
          "description": "Lists transfer operations.",
          "flatPath": "v1/transferOperations",
          "httpMethod": "GET",
          "id": "storagetransfer.transferOperations.list",
          "parameterOrder": [
            "name",
            "filter"
          ],
          "parameters": {
            "filter": {
              "description": "Required. A list of query parameters specified as JSON text in the form of: `{\"projectId\":\"my_project_id\", \"jobNames\":[\"jobid1\",\"jobid2\",...], \"operationNames\":[\"opid1\",\"opid2\",...], \"transferStatuses\":[\"status1\",\"status2\",...]}` Since `jobNames`, `operationNames`, and `transferStatuses` support multiple values, they must be specified with array notation. `projectId` is required. `jobNames`, `operationNames`, and `transferStatuses` are optional. The valid values for `transferStatuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.",
              "location": "query",
              "required": true,
              "type": "string"
            },
            "name": {
              "description": "Required. The value `transferOperations`.",
              "location": "path",
              "pattern": "^transferOperations$",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "The list page size. The max allowed value is 256.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "pageToken": {
              "description": "The list page token.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v1/{+name}",
          "response": {
            "$ref": "ListOperationsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "pause": {
          "description": "Pauses a transfer operation.",
          "flatPath": "v1/transferOperations/{transferOperationsId}:pause",
          "httpMethod": "POST",
          "id": "storagetransfer.transferOperations.pause",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the transfer operation.",
              "location": "path",
              "pattern": "^transferOperations/.*$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}:pause",
          "request": {
            "$ref": "PauseTransferOperationRequest"
          },
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        },
        "resume": {
          "description": "Resumes a transfer operation that is paused.",
          "flatPath": "v1/transferOperations/{transferOperationsId}:resume",
          "httpMethod": "POST",
          "id": "storagetransfer.transferOperations.resume",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "name": {
              "description": "Required. The name of the transfer operation.",
              "location": "path",
              "pattern": "^transferOperations/.*$",
              "required": true,
              "type": "string"
            }
          },
          "path": "v1/{+name}:resume",
          "request": {
            "$ref": "ResumeTransferOperationRequest"
          },
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ]
        }
      }
    }
  },
  "revision": "20201016",
  "rootUrl": "https://storagetransfer.googleapis.com/",
  "schemas": {
    "AwsAccessKey": {
      "description": "AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).",
      "id": "AwsAccessKey",
      "properties": {
        "accessKeyId": {
          "description": "Required. AWS access key ID.",
          "type": "string"
        },
        "secretAccessKey": {
          "description": "Required. AWS secret access key. This field is not returned in RPC responses.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AwsS3Data": {
      "description": "An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object's name is the S3 object's key name.",
      "id": "AwsS3Data",
      "properties": {
        "awsAccessKey": {
          "$ref": "AwsAccessKey",
          "description": "Required. Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key."
        },
        "bucketName": {
          "description": "Required. S3 Bucket name (see [Creating a bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AzureBlobStorageData": {
      "description": "An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs's name is the [Azure Blob Storage blob's key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names).",
      "id": "AzureBlobStorageData",
      "properties": {
        "azureCredentials": {
          "$ref": "AzureCredentials",
          "description": "Required. Input only. Credentials used to authenticate API requests to Azure."
        },
        "container": {
          "description": "Required. The container to transfer from the Azure Storage account.",
          "type": "string"
        },
        "storageAccount": {
          "description": "Required. The name of the Azure Storage account.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AzureCredentials": {
      "description": "Azure credentials",
      "id": "AzureCredentials",
      "properties": {
        "sasToken": {
          "description": "Required. Azure shared access signature. (see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CancelOperationRequest": {
      "description": "The request message for Operations.CancelOperation.",
      "id": "CancelOperationRequest",
      "properties": {},
      "type": "object"
    },
    "Date": {
      "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values * A month and day value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.",
      "id": "Date",
      "properties": {
        "day": {
          "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.",
          "format": "int32",
          "type": "integer"
        },
        "month": {
          "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.",
          "format": "int32",
          "type": "integer"
        },
        "year": {
          "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "ErrorLogEntry": {
      "description": "An entry describing an error that has occurred.",
      "id": "ErrorLogEntry",
      "properties": {
        "errorDetails": {
          "description": "A list of messages that carry the error details.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "url": {
          "description": "Required. A URL that refers to the target (a data source, a data sink, or an object) with which the error is associated.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ErrorSummary": {
      "description": "A summary of errors by error code, plus a count and sample error log entries.",
      "id": "ErrorSummary",
      "properties": {
        "errorCode": {
          "description": "Required.",
          "enum": [
            "OK",
            "CANCELLED",
            "UNKNOWN",
            "INVALID_ARGUMENT",
            "DEADLINE_EXCEEDED",
            "NOT_FOUND",
            "ALREADY_EXISTS",
            "PERMISSION_DENIED",
            "UNAUTHENTICATED",
            "RESOURCE_EXHAUSTED",
            "FAILED_PRECONDITION",
            "ABORTED",
            "OUT_OF_RANGE",
            "UNIMPLEMENTED",
            "INTERNAL",
            "UNAVAILABLE",
            "DATA_LOSS"
          ],
          "enumDescriptions": [
            "Not an error; returned on success HTTP Mapping: 200 OK",
            "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request",
            "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error",
            "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request",
            "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout",
            "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found",
            "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict",
            "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden",
            "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized",
            "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests",
            "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level (e.g., when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence). (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. E.g., if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request",
            "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict",
            "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request",
            "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented",
            "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error",
            "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable",
            "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error"
          ],
          "type": "string"
        },
        "errorCount": {
          "description": "Required. Count of this type of error.",
          "format": "int64",
          "type": "string"
        },
        "errorLogEntries": {
          "description": "Error samples. At most 5 error log entries will be recorded for a given error code for a single transfer operation.",
          "items": {
            "$ref": "ErrorLogEntry"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GcsData": {
      "description": "In a GcsData resource, an object's name is the Cloud Storage object's name and its \"last modification time\" refers to the object's `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated.",
      "id": "GcsData",
      "properties": {
        "bucketName": {
          "description": "Required. Cloud Storage bucket name (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/naming#requirements)).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleServiceAccount": {
      "description": "Google service account",
      "id": "GoogleServiceAccount",
      "properties": {
        "accountEmail": {
          "description": "Email address of the service account.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HttpData": {
      "description": "An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `\"TsvHttpData-1.0\"`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** — The location of the object. * **Length** — The size of the object in bytes. * **MD5** — The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object will not be transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer will fail. For more information, see [Generating MD5 hashes](https://cloud.google.com/storage-transfer/docs/create-url-list#md5) * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer.",
      "id": "HttpData",
      "properties": {
        "listUrl": {
          "description": "Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListOperationsResponse": {
      "description": "The response message for Operations.ListOperations.",
      "id": "ListOperationsResponse",
      "properties": {
        "nextPageToken": {
          "description": "The standard List next-page token.",
          "type": "string"
        },
        "operations": {
          "description": "A list of operations that matches the specified filter in the request.",
          "items": {
            "$ref": "Operation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTransferJobsResponse": {
      "description": "Response from ListTransferJobs.",
      "id": "ListTransferJobsResponse",
      "properties": {
        "nextPageToken": {
          "description": "The list next page token.",
          "type": "string"
        },
        "transferJobs": {
          "description": "A list of transfer jobs.",
          "items": {
            "$ref": "TransferJob"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "NotificationConfig": {
      "description": "Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `\"eventType\"`: one of the EventType values * `\"payloadFormat\"`: one of the PayloadFormat values * `\"projectId\"`: the project_id of the `TransferOperation` * `\"transferJobName\"`: the transfer_job_name of the `TransferOperation` * `\"transferOperationName\"`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`.",
      "id": "NotificationConfig",
      "properties": {
        "eventTypes": {
          "description": "Event types for which a notification is desired. If empty, send notifications for all event types.",
          "items": {
            "enum": [
              "EVENT_TYPE_UNSPECIFIED",
              "TRANSFER_OPERATION_SUCCESS",
              "TRANSFER_OPERATION_FAILED",
              "TRANSFER_OPERATION_ABORTED"
            ],
            "enumDescriptions": [
              "Illegal value, to avoid allowing a default.",
              "`TransferOperation` completed with status SUCCESS.",
              "`TransferOperation` completed with status FAILED.",
              "`TransferOperation` completed with status ABORTED."
            ],
            "type": "string"
          },
          "type": "array"
        },
        "payloadFormat": {
          "description": "Required. The desired format of the notification message payloads.",
          "enum": [
            "PAYLOAD_FORMAT_UNSPECIFIED",
            "NONE",
            "JSON"
          ],
          "enumDescriptions": [
            "Illegal value, to avoid allowing a default.",
            "No payload is included with the notification.",
            "`TransferOperation` is [formatted as a JSON response](https://developers.google.com/protocol-buffers/docs/proto3#json), in application/json."
          ],
          "type": "string"
        },
        "pubsubTopic": {
          "description": "Required. The `Topic.name` of the Cloud Pub/Sub topic to which to publish notifications. Must be of the format: `projects/{project}/topics/{topic}`. Not matching this format will result in an INVALID_ARGUMENT error.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ObjectConditions": {
      "description": "Conditions that determine which objects will be transferred. Applies only to Cloud Data Sources such as S3, Azure, and Cloud Storage. The \"last modification time\" refers to the time of the last change to the object's content or metadata — specifically, this is the `updated` property of Cloud Storage objects, the `LastModified` field of S3 objects, and the `Last-Modified` header of Azure blobs.",
      "id": "ObjectConditions",
      "properties": {
        "excludePrefixes": {
          "description": "`exclude_prefixes` must follow the requirements described for include_prefixes. The max size of `exclude_prefixes` is 1000.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "includePrefixes": {
          "description": "If `include_prefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `include_prefixes` and that do not start with any of the exclude_prefixes. If `include_prefixes` is not specified, all objects except those that have names starting with one of the `exclude_prefixes` must satisfy the object conditions. Requirements: * Each include-prefix and exclude-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix and exclude-prefix must omit the leading slash. For example, to include the `requests.gz` object in a transfer from `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include prefix as `logs/y=2015/requests.gz`. * None of the include-prefix or the exclude-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. * Each exclude-prefix must exclude a distinct portion of the object namespace. No exclude-prefix may be a prefix of another exclude-prefix. * If `include_prefixes` is specified, then each exclude-prefix must start with the value of a path explicitly included by `include_prefixes`. The max size of `include_prefixes` is 1000.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "lastModifiedBefore": {
          "description": "If specified, only objects with a \"last modification time\" before this timestamp and objects that don't have a \"last modification time\" will be transferred.",
          "format": "google-datetime",
          "type": "string"
        },
        "lastModifiedSince": {
          "description": "If specified, only objects with a \"last modification time\" on or after this timestamp and objects that don't have a \"last modification time\" are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day's worth of data at a time. For that you'd set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day",
          "format": "google-datetime",
          "type": "string"
        },
        "maxTimeElapsedSinceLastModification": {
          "description": "If specified, only objects with a \"last modification time\" on or after `NOW` - `max_time_elapsed_since_last_modification` and objects that don't have a \"last modification time\" are transferred. For each TransferOperation started by this TransferJob, `NOW` refers to the start_time of the `TransferOperation`.",
          "format": "google-duration",
          "type": "string"
        },
        "minTimeElapsedSinceLastModification": {
          "description": "If specified, only objects with a \"last modification time\" before `NOW` - `min_time_elapsed_since_last_modification` and objects that don't have a \"last modification time\" are transferred. For each TransferOperation started by this TransferJob, `NOW` refers to the start_time of the `TransferOperation`.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a network API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
          "type": "boolean"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Represents the transfer operation object. To request a TransferOperation object, use transferOperations.get.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should have the format of `transferOperations/some/unique/name`.",
          "type": "string"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "PauseTransferOperationRequest": {
      "description": "Request passed to PauseTransferOperation.",
      "id": "PauseTransferOperationRequest",
      "properties": {},
      "type": "object"
    },
    "ResumeTransferOperationRequest": {
      "description": "Request passed to ResumeTransferOperation.",
      "id": "ResumeTransferOperationRequest",
      "properties": {},
      "type": "object"
    },
    "Schedule": {
      "description": "Transfers can be scheduled to recur or to run just once.",
      "id": "Schedule",
      "properties": {
        "scheduleEndDate": {
          "$ref": "Date",
          "description": "The last day a transfer runs. Date boundaries are determined relative to UTC time. A job will run once per 24 hours within the following guidelines: * If `schedule_end_date` and schedule_start_date are the same and in the future relative to UTC, the transfer is executed only one time. * If `schedule_end_date` is later than `schedule_start_date` and `schedule_end_date` is in the future relative to UTC, the job will run each day at start_time_of_day through `schedule_end_date`."
        },
        "scheduleStartDate": {
          "$ref": "Date",
          "description": "Required. The start date of a transfer. Date boundaries are determined relative to UTC time. If `schedule_start_date` and start_time_of_day are in the past relative to the job's creation time, the transfer starts the day after you schedule the transfer request. **Note:** When starting jobs at or near midnight UTC it is possible that a job will start later than expected. For example, if you send an outbound request on June 1 one millisecond prior to midnight UTC and the Storage Transfer Service server receives the request on June 2, then it will create a TransferJob with `schedule_start_date` set to June 2 and a `start_time_of_day` set to midnight UTC. The first scheduled TransferOperation will take place on June 3 at midnight UTC."
        },
        "startTimeOfDay": {
          "$ref": "TimeOfDay",
          "description": "The time in UTC that a transfer job is scheduled to run. Transfers may start later than this time. If `start_time_of_day` is not specified: * One-time transfers run immediately. * Recurring transfers run immediately, and each day at midnight UTC, through schedule_end_date. If `start_time_of_day` is specified: * One-time transfers run at the specified time. * Recurring transfers run at the specified time each day, through `schedule_end_date`."
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TimeOfDay": {
      "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.",
      "id": "TimeOfDay",
      "properties": {
        "hours": {
          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.",
          "format": "int32",
          "type": "integer"
        },
        "minutes": {
          "description": "Minutes of hour of day. Must be from 0 to 59.",
          "format": "int32",
          "type": "integer"
        },
        "nanos": {
          "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.",
          "format": "int32",
          "type": "integer"
        },
        "seconds": {
          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "TransferCounters": {
      "description": "A collection of counters that report the progress of a transfer operation.",
      "id": "TransferCounters",
      "properties": {
        "bytesCopiedToSink": {
          "description": "Bytes that are copied to the data sink.",
          "format": "int64",
          "type": "string"
        },
        "bytesDeletedFromSink": {
          "description": "Bytes that are deleted from the data sink.",
          "format": "int64",
          "type": "string"
        },
        "bytesDeletedFromSource": {
          "description": "Bytes that are deleted from the data source.",
          "format": "int64",
          "type": "string"
        },
        "bytesFailedToDeleteFromSink": {
          "description": "Bytes that failed to be deleted from the data sink.",
          "format": "int64",
          "type": "string"
        },
        "bytesFoundFromSource": {
          "description": "Bytes found in the data source that are scheduled to be transferred, excluding any that are filtered based on object conditions or skipped due to sync.",
          "format": "int64",
          "type": "string"
        },
        "bytesFoundOnlyFromSink": {
          "description": "Bytes found only in the data sink that are scheduled to be deleted.",
          "format": "int64",
          "type": "string"
        },
        "bytesFromSourceFailed": {
          "description": "Bytes in the data source that failed to be transferred or that failed to be deleted after being transferred.",
          "format": "int64",
          "type": "string"
        },
        "bytesFromSourceSkippedBySync": {
          "description": "Bytes in the data source that are not transferred because they already exist in the data sink.",
          "format": "int64",
          "type": "string"
        },
        "objectsCopiedToSink": {
          "description": "Objects that are copied to the data sink.",
          "format": "int64",
          "type": "string"
        },
        "objectsDeletedFromSink": {
          "description": "Objects that are deleted from the data sink.",
          "format": "int64",
          "type": "string"
        },
        "objectsDeletedFromSource": {
          "description": "Objects that are deleted from the data source.",
          "format": "int64",
          "type": "string"
        },
        "objectsFailedToDeleteFromSink": {
          "description": "Objects that failed to be deleted from the data sink.",
          "format": "int64",
          "type": "string"
        },
        "objectsFoundFromSource": {
          "description": "Objects found in the data source that are scheduled to be transferred, excluding any that are filtered based on object conditions or skipped due to sync.",
          "format": "int64",
          "type": "string"
        },
        "objectsFoundOnlyFromSink": {
          "description": "Objects found only in the data sink that are scheduled to be deleted.",
          "format": "int64",
          "type": "string"
        },
        "objectsFromSourceFailed": {
          "description": "Objects in the data source that failed to be transferred or that failed to be deleted after being transferred.",
          "format": "int64",
          "type": "string"
        },
        "objectsFromSourceSkippedBySync": {
          "description": "Objects in the data source that are not transferred because they already exist in the data sink.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TransferJob": {
      "description": "This resource represents the configuration of a transfer job that runs periodically.",
      "id": "TransferJob",
      "properties": {
        "creationTime": {
          "description": "Output only. The time that the transfer job was created.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "deletionTime": {
          "description": "Output only. The time that the transfer job was deleted.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.",
          "type": "string"
        },
        "lastModificationTime": {
          "description": "Output only. The time that the transfer job was last modified.",
          "format": "google-datetime",
          "readOnly": true,
          "type": "string"
        },
        "latestOperationName": {
          "description": "The name of the most recently started TransferOperation of this JobConfig. Present if and only if at least one TransferOperation has been created for this JobConfig.",
          "type": "string"
        },
        "name": {
          "description": "A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `\"transferJobs/\"` prefix and end with a letter or a number, and should be no more than 128 characters. Example: `\"transferJobs/[A-Za-z0-9-._~]*[A-Za-z0-9]$\"` Invalid job names will fail with an INVALID_ARGUMENT error.",
          "type": "string"
        },
        "notificationConfig": {
          "$ref": "NotificationConfig",
          "description": "Notification configuration."
        },
        "projectId": {
          "description": "The ID of the Google Cloud Platform Project that owns the job.",
          "type": "string"
        },
        "schedule": {
          "$ref": "Schedule",
          "description": "Schedule specification."
        },
        "status": {
          "description": "Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "ENABLED",
            "DISABLED",
            "DELETED"
          ],
          "enumDescriptions": [
            "Zero is an illegal value.",
            "New transfers will be performed based on the schedule.",
            "New transfers will not be scheduled.",
            "This is a soft delete state. After a transfer job is set to this state, the job and all the transfer executions are subject to garbage collection. Transfer jobs become eligible for garbage collection 30 days after their status is set to `DELETED`."
          ],
          "type": "string"
        },
        "transferSpec": {
          "$ref": "TransferSpec",
          "description": "Transfer specification."
        }
      },
      "type": "object"
    },
    "TransferOperation": {
      "description": "A description of the execution of a transfer.",
      "id": "TransferOperation",
      "properties": {
        "counters": {
          "$ref": "TransferCounters",
          "description": "Information about the progress of the transfer operation."
        },
        "endTime": {
          "description": "End time of this transfer execution.",
          "format": "google-datetime",
          "type": "string"
        },
        "errorBreakdowns": {
          "description": "Summarizes errors encountered with sample error log entries.",
          "items": {
            "$ref": "ErrorSummary"
          },
          "type": "array"
        },
        "name": {
          "description": "A globally unique ID assigned by the system.",
          "type": "string"
        },
        "notificationConfig": {
          "$ref": "NotificationConfig",
          "description": "Notification configuration."
        },
        "projectId": {
          "description": "The ID of the Google Cloud Platform Project that owns the operation.",
          "type": "string"
        },
        "startTime": {
          "description": "Start time of this transfer execution.",
          "format": "google-datetime",
          "type": "string"
        },
        "status": {
          "description": "Status of the transfer operation.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "IN_PROGRESS",
            "PAUSED",
            "SUCCESS",
            "FAILED",
            "ABORTED",
            "QUEUED"
          ],
          "enumDescriptions": [
            "Zero is an illegal value.",
            "In progress.",
            "Paused.",
            "Completed successfully.",
            "Terminated due to an unrecoverable failure.",
            "Aborted by the user.",
            "Temporarily delayed by the system. No user action is required."
          ],
          "type": "string"
        },
        "transferJobName": {
          "description": "The name of the transfer job that triggers this transfer operation.",
          "type": "string"
        },
        "transferSpec": {
          "$ref": "TransferSpec",
          "description": "Transfer specification."
        }
      },
      "type": "object"
    },
    "TransferOptions": {
      "description": "TransferOptions define the actions to be performed on objects in a transfer.",
      "id": "TransferOptions",
      "properties": {
        "deleteObjectsFromSourceAfterTransfer": {
          "description": "Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.",
          "type": "boolean"
        },
        "deleteObjectsUniqueInSink": {
          "description": "Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.",
          "type": "boolean"
        },
        "overwriteObjectsAlreadyExistingInSink": {
          "description": "Whether overwriting objects that already exist in the sink is allowed.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "TransferSpec": {
      "description": "Configuration for running a transfer.",
      "id": "TransferSpec",
      "properties": {
        "awsS3DataSource": {
          "$ref": "AwsS3Data",
          "description": "An AWS S3 data source."
        },
        "azureBlobStorageDataSource": {
          "$ref": "AzureBlobStorageData",
          "description": "An Azure Blob Storage data source."
        },
        "gcsDataSink": {
          "$ref": "GcsData",
          "description": "A Cloud Storage data sink."
        },
        "gcsDataSource": {
          "$ref": "GcsData",
          "description": "A Cloud Storage data source."
        },
        "httpDataSource": {
          "$ref": "HttpData",
          "description": "An HTTP URL data source."
        },
        "objectConditions": {
          "$ref": "ObjectConditions",
          "description": "Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' \"last modification time\" do not exclude objects in a data sink."
        },
        "transferOptions": {
          "$ref": "TransferOptions",
          "description": "If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as 'last modification time' are specified, the request fails with an INVALID_ARGUMENT error."
        }
      },
      "type": "object"
    },
    "UpdateTransferJobRequest": {
      "description": "Request passed to UpdateTransferJob.",
      "id": "UpdateTransferJobRequest",
      "properties": {
        "projectId": {
          "description": "Required. The ID of the Google Cloud Platform Console project that owns the job.",
          "type": "string"
        },
        "transferJob": {
          "$ref": "TransferJob",
          "description": "Required. The job to update. `transferJob` is expected to specify only four fields: description, transfer_spec, notification_config, and status. An `UpdateTransferJobRequest` that specifies other fields will be rejected with the error INVALID_ARGUMENT. Updating a job satus to DELETED requires `storagetransfer.jobs.delete` permissions."
        },
        "updateTransferJobFieldMask": {
          "description": "The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields will be rejected with the error INVALID_ARGUMENT.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Storage Transfer API",
  "version": "v1",
  "version_module": true
}