{
  "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\nService to access buckets in the project where transfers\nrun or in other projects. Each Google service account is associated\nwith one Google Cloud Platform Console project. Users\nshould add this service account to the Google Cloud Storage bucket\nACLs to grant access to Storage Transfer Service. This service\naccount is created and owned by Storage Transfer Service and can\nonly 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\nGoogle 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"
          ],
          "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\njob.",
              "location": "query",
              "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": [],
          "parameters": {
            "filter": {
              "description": "Required. A list of query parameters specified as JSON text in the form of:\n{\"project\u003cspan\u003e_\u003c/span\u003eid\":\"my_project_id\",\n \"job_names\":[\"jobid1\",\"jobid2\",...],\n \"job_statuses\":[\"status1\",\"status2\",...]}.\nSince `job_names` and `job_statuses` support multiple values, their values\nmust be specified with array notation. `project`\u003cspan\u003e`_`\u003c/span\u003e`id` is\nrequired.  `job_names` and `job_statuses` are optional.  The valid values\nfor `job_statuses` are case-insensitive:\nENABLED,\nDISABLED, and\nDELETED.",
              "location": "query",
              "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\ntransfer operations that are running already. Updating a job's schedule\nis not allowed.\n\n**Note:** The job's status field can be modified\nusing this RPC (for example, to set a job's status to\nDELETED,\nDISABLED, or\nENABLED).",
          "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 get method to check whether the cancellation succeeded or whether the operation completed despite cancellation.",
          "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",
          "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\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
          "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"
          ],
          "parameters": {
            "filter": {
              "description": "Required. A list of query parameters specified as JSON text in the form of: {\"project\u003cspan\u003e_\u003c/span\u003eid\":\"my_project_id\",\n \"job_names\":[\"jobid1\",\"jobid2\",...],\n \"operation_names\":[\"opid1\",\"opid2\",...],\n \"transfer_statuses\":[\"status1\",\"status2\",...]}.\nSince `job_names`, `operation_names`, and `transfer_statuses` support multiple values, they must be specified with array notation. `project`\u003cspan\u003e`_`\u003c/span\u003e`id` is required. `job_names`, `operation_names`, and `transfer_statuses` are optional. The valid values for `transfer_statuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.",
              "location": "query",
              "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": "20200405",
  "rootUrl": "https://storagetransfer.googleapis.com/",
  "schemas": {
    "AwsAccessKey": {
      "description": "AWS access key (see\n[AWS Security\nCredentials](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\nresponses.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AwsS3Data": {
      "description": "An AwsS3Data resource can be a data source, but not a data sink.\nIn an AwsS3Data resource, an object's name is the S3 object's key name.",
      "id": "AwsS3Data",
      "properties": {
        "awsAccessKey": {
          "$ref": "AwsAccessKey",
          "description": "Required. AWS access key used to sign the API requests to the AWS S3\nbucket. Permissions on the bucket must be granted to the access ID of the\nAWS access key."
        },
        "bucketName": {
          "description": "Required. S3 Bucket name (see\n[Creating a\nbucket](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.\nAn AzureBlobStorageData resource represents one Azure container. The storage\naccount determines the [Azure\nendpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints).\nIn an AzureBlobStorageData resource, a blobs's name is the [Azure Blob\nStorage blob's key\nname](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. 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\n[Grant limited access to Azure Storage resources using shared access\nsignatures\n(SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Date": {
      "description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day\nand time zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. This can represent:\n\n* A full date, with non-zero year, month and day values\n* A month and day value, with a zero year, e.g. an anniversary\n* A year on its own, with zero month and day values\n* A year and month value, with a zero day, e.g. a credit card expiration date\n\nRelated types are google.type.TimeOfDay and `google.protobuf.Timestamp`.",
      "id": "Date",
      "properties": {
        "day": {
          "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.",
          "format": "int32",
          "type": "integer"
        },
        "month": {
          "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.",
          "format": "int32",
          "type": "integer"
        },
        "year": {
          "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe 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,\nor 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\nentries.",
      "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\n\nHTTP Mapping: 200 OK",
            "The operation was cancelled, typically by the caller.\n\nHTTP Mapping: 499 Client Closed Request",
            "Unknown error.  For example, this error may be returned when\na `Status` value received from another address space belongs to\nan error space that is not known in this address space.  Also\nerrors raised by APIs that do not return enough error information\nmay be converted to this error.\n\nHTTP Mapping: 500 Internal Server Error",
            "The client specified an invalid argument.  Note that this differs\nfrom `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates arguments\nthat are problematic regardless of the state of the system\n(e.g., a malformed file name).\n\nHTTP Mapping: 400 Bad Request",
            "The deadline expired before the operation could complete. For operations\nthat change the state of the system, this error may be returned\neven if the operation has completed successfully.  For example, a\nsuccessful response from a server could have been delayed long\nenough for the deadline to expire.\n\nHTTP Mapping: 504 Gateway Timeout",
            "Some requested entity (e.g., file or directory) was not found.\n\nNote to server developers: if a request is denied for an entire class\nof users, such as gradual feature rollout or undocumented whitelist,\n`NOT_FOUND` may be used. If a request is denied for some users within\na class of users, such as user-based access control, `PERMISSION_DENIED`\nmust be used.\n\nHTTP Mapping: 404 Not Found",
            "The entity that a client attempted to create (e.g., file or directory)\nalready exists.\n\nHTTP Mapping: 409 Conflict",
            "The caller does not have permission to execute the specified\noperation. `PERMISSION_DENIED` must not be used for rejections\ncaused by exhausting some resource (use `RESOURCE_EXHAUSTED`\ninstead for those errors). `PERMISSION_DENIED` must not be\nused if the caller can not be identified (use `UNAUTHENTICATED`\ninstead for those errors). This error code does not imply the\nrequest is valid or the requested entity exists or satisfies\nother pre-conditions.\n\nHTTP Mapping: 403 Forbidden",
            "The request does not have valid authentication credentials for the\noperation.\n\nHTTP Mapping: 401 Unauthorized",
            "Some resource has been exhausted, perhaps a per-user quota, or\nperhaps the entire file system is out of space.\n\nHTTP Mapping: 429 Too Many Requests",
            "The operation was rejected because the system is not in a state\nrequired for the operation's execution.  For example, the directory\nto be deleted is non-empty, an rmdir operation is applied to\na non-directory, etc.\n\nService implementors can use the following guidelines to decide\nbetween `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:\n (a) Use `UNAVAILABLE` if the client can retry just the failing call.\n (b) Use `ABORTED` if the client should retry at a higher level\n     (e.g., when a client-specified test-and-set fails, indicating the\n     client should restart a read-modify-write sequence).\n (c) Use `FAILED_PRECONDITION` if the client should not retry until\n     the system state has been explicitly fixed.  E.g., if an \"rmdir\"\n     fails because the directory is non-empty, `FAILED_PRECONDITION`\n     should be returned since the client should not retry unless\n     the files are deleted from the directory.\n\nHTTP Mapping: 400 Bad Request",
            "The operation was aborted, typically due to a concurrency issue such as\na sequencer check failure or transaction abort.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 409 Conflict",
            "The operation was attempted past the valid range.  E.g., seeking or\nreading past end-of-file.\n\nUnlike `INVALID_ARGUMENT`, this error indicates a problem that may\nbe fixed if the system state changes. For example, a 32-bit file\nsystem will generate `INVALID_ARGUMENT` if asked to read at an\noffset that is not in the range [0,2^32-1], but it will generate\n`OUT_OF_RANGE` if asked to read from an offset past the current\nfile size.\n\nThere is a fair bit of overlap between `FAILED_PRECONDITION` and\n`OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more specific\nerror) when it applies so that callers who are iterating through\na space can easily look for an `OUT_OF_RANGE` error to detect when\nthey are done.\n\nHTTP Mapping: 400 Bad Request",
            "The operation is not implemented or is not supported/enabled in this\nservice.\n\nHTTP Mapping: 501 Not Implemented",
            "Internal errors.  This means that some invariants expected by the\nunderlying system have been broken.  This error code is reserved\nfor serious errors.\n\nHTTP Mapping: 500 Internal Server Error",
            "The service is currently unavailable.  This is most likely a\ntransient condition, which can be corrected by retrying with\na backoff. Note that it is not always safe to retry\nnon-idempotent operations.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 503 Service Unavailable",
            "Unrecoverable data loss or corruption.\n\nHTTP Mapping: 500 Internal Server Error"
          ],
          "type": "string"
        },
        "errorCount": {
          "description": "Required. Count of this type of error.",
          "format": "int64",
          "type": "string"
        },
        "errorLogEntries": {
          "description": "Error samples.\n\nAt most 5 error log entries will be recorded for a given\nerror 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\nname and its \"last modification time\" refers to the object's `updated`\nproperty of Cloud Storage objects, which changes when the content or the\nmetadata of the object is updated.",
      "id": "GcsData",
      "properties": {
        "bucketName": {
          "description": "Required. Cloud Storage bucket name (see\n[Bucket Name\nRequirements](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\nover HTTP.  The information of the objects to be transferred is contained in\na file referenced by a URL. The first line in the file must be\n`\"TsvHttpData-1.0\"`, which specifies the format of the file.  Subsequent\nlines specify the information of the list of objects, one object per list\nentry. Each entry has the following tab-delimited fields:\n\n* **HTTP URL** — The location of the object.\n\n* **Length** — The size of the object in bytes.\n\n* **MD5** — The base64-encoded MD5 hash of the object.\n\nFor an example of a valid TSV file, see\n[Transferring data from\nURLs](https://cloud.google.com/storage-transfer/docs/create-url-list).\n\nWhen transferring data based on a URL list, keep the following in mind:\n\n* When an object located at `http(s)://hostname:port/\u003cURL-path\u003e` is\ntransferred to a data sink, the name of the object at the data sink is\n`\u003chostname\u003e/\u003cURL-path\u003e`.\n\n* If the specified size of an object does not match the actual size of the\nobject fetched, the object will not be transferred.\n\n* If the specified MD5 does not match the MD5 computed from the transferred\nbytes, the object transfer will fail. For more information, see\n[Generating MD5\nhashes](https://cloud.google.com/storage-transfer/docs/create-url-list#md5)\n\n* Ensure that each URL you specify is publicly accessible. For\nexample, in Cloud Storage you can\n[share an object publicly]\n(https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get\na link to it.\n\n* Storage Transfer Service obeys `robots.txt` rules and requires the source\nHTTP server to support `Range` requests and to return a `Content-Length`\nheader in each response.\n\n* 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\nentries. This file must allow public access.  Currently, only URLs with\nHTTP 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.\nNotifications will be published to the customer-provided topic using the\nfollowing `PubsubMessage.attributes`:\n\n* `\"eventType\"`: one of the EventType values\n* `\"payloadFormat\"`: one of the PayloadFormat values\n* `\"projectId\"`: the project_id of the\n`TransferOperation`\n* `\"transferJobName\"`: the\ntransfer_job_name of the\n`TransferOperation`\n* `\"transferOperationName\"`: the name of the\n`TransferOperation`\n\nThe `PubsubMessage.data` will contain a TransferOperation resource\nformatted according to the specified `PayloadFormat`.",
      "id": "NotificationConfig",
      "properties": {
        "eventTypes": {
          "description": "Event types for which a notification is desired. If empty, send\nnotifications for all event types.",
          "enumDescriptions": [
            "Illegal value, to avoid allowing a default.",
            "`TransferOperation` completed with status\nSUCCESS.",
            "`TransferOperation` completed with status\nFAILED.",
            "`TransferOperation` completed with status\nABORTED."
          ],
          "items": {
            "enum": [
              "EVENT_TYPE_UNSPECIFIED",
              "TRANSFER_OPERATION_SUCCESS",
              "TRANSFER_OPERATION_FAILED",
              "TRANSFER_OPERATION_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\nresponse](https://developers.google.com/protocol-buffers/docs/proto3#json),\nin application/json."
          ],
          "type": "string"
        },
        "pubsubTopic": {
          "description": "Required. The `Topic.name` of the Cloud Pub/Sub topic to which to publish\nnotifications. Must be of the format: `projects/{project}/topics/{topic}`.\nNot matching this format will result in an\nINVALID_ARGUMENT error.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ObjectConditions": {
      "description": "Conditions that determine which objects will be transferred. Applies only\nto S3 and Cloud Storage objects.\n\nThe \"last modification time\" refers to the time of the\nlast change to the object's content or metadata — specifically, this is\nthe `updated` property of Cloud Storage objects and the `LastModified`\nfield of S3 objects.",
      "id": "ObjectConditions",
      "properties": {
        "excludePrefixes": {
          "description": "`exclude_prefixes` must follow the requirements described for\ninclude_prefixes.\n\nThe max size of `exclude_prefixes` is 1000.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "includePrefixes": {
          "description": "If `include_prefixes` is specified, objects that satisfy the object\nconditions must have names that start with one of the `include_prefixes`\nand that do not start with any of the exclude_prefixes. If\n`include_prefixes` is not specified, all objects except those that have\nnames starting with one of the `exclude_prefixes` must satisfy the object\nconditions.\n\nRequirements:\n\n  * Each include-prefix and exclude-prefix can contain any sequence of\n    Unicode characters, to a max length of 1024 bytes when UTF8-encoded,\n    and must not contain Carriage Return or Line Feed characters.  Wildcard\n    matching and regular expression matching are not supported.\n\n  * Each include-prefix and exclude-prefix must omit the leading slash.\n    For example, to include the `requests.gz` object in a transfer from\n    `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include\n    prefix as `logs/y=2015/requests.gz`.\n\n  * None of the include-prefix or the exclude-prefix values can be empty,\n    if specified.\n\n  * Each include-prefix must include a distinct portion of the object\n    namespace. No include-prefix may be a prefix of another\n    include-prefix.\n\n  * Each exclude-prefix must exclude a distinct portion of the object\n    namespace. No exclude-prefix may be a prefix of another\n    exclude-prefix.\n\n  * If `include_prefixes` is specified, then each exclude-prefix must start\n    with the value of a path explicitly included by `include_prefixes`.\n\nThe 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\ntimestamp and objects that don't have a \"last modification time\" will be\ntransferred.",
          "format": "google-datetime",
          "type": "string"
        },
        "lastModifiedSince": {
          "description": "If specified, only objects with a \"last modification time\" on or after\nthis timestamp and objects that don't have a \"last modification time\" are\ntransferred.\n\nThe `last_modified_since` and `last_modified_before` fields can be used\ntogether for chunked data processing. For example, consider a script that\nprocesses each day's worth of data at a time. For that you'd set each\nof the fields as follows:\n\n*  `last_modified_since` to the start of the day\n\n*  `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\n`NOW` - `max_time_elapsed_since_last_modification` and objects that don't\nhave a \"last modification time\" are transferred.\n\nFor each TransferOperation started by this TransferJob,\n`NOW` refers to the start_time of the\n`TransferOperation`.",
          "format": "google-duration",
          "type": "string"
        },
        "minTimeElapsedSinceLastModification": {
          "description": "If specified, only objects with a \"last modification time\" before\n`NOW` - `min_time_elapsed_since_last_modification` and objects that don't\n have a \"last modification time\" are transferred.\n\nFor each TransferOperation started by this TransferJob, `NOW`\nrefers to the start_time of the\n`TransferOperation`.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
          "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.",
          "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\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`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\nUTC time. A job will run once per 24 hours within the following guidelines:\n\n*   If `schedule_end_date` and schedule_start_date are the same and in\n    the future relative to UTC, the transfer is executed only one time.\n*   If `schedule_end_date` is later than `schedule_start_date`  and\n    `schedule_end_date` is in the future relative to UTC, the job will\n    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\nrelative to UTC time. If `schedule_start_date` and start_time_of_day\nare in the past relative to the job's creation time, the transfer starts\nthe day after you schedule the transfer request.\n\n**Note:** When starting jobs at or near midnight UTC it is possible that\na job will start later than expected. For example, if you send an outbound\nrequest on June 1 one millisecond prior to midnight UTC and the Storage\nTransfer Service server receives the request on June 2, then it will create\na TransferJob with `schedule_start_date` set to June 2 and a\n`start_time_of_day` set to midnight UTC. The first scheduled\nTransferOperation 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\nstart later than this time.\n\nIf `start_time_of_day` is not specified:\n\n*   One-time transfers run immediately.\n*   Recurring transfers run immediately, and each day at midnight UTC,\n    through schedule_end_date.\n\nIf `start_time_of_day` is specified:\n\n*   One-time transfers run at the specified time.\n*   Recurring transfers run at the specified time each day, through\n    `schedule_end_date`."
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[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\nmessage 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\nuser-facing error message should be localized and sent in the\ngoogle.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\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes 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\nto 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\nallow 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,\nexcluding any that are filtered based on object conditions or skipped due\nto 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\nbe deleted after being transferred.",
          "format": "int64",
          "type": "string"
        },
        "bytesFromSourceSkippedBySync": {
          "description": "Bytes in the data source that are not transferred because they already\nexist 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,\nexcluding any that are filtered based on object conditions or skipped due\nto 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\nto be deleted after being transferred.",
          "format": "int64",
          "type": "string"
        },
        "objectsFromSourceSkippedBySync": {
          "description": "Objects in the data source that are not transferred because they already\nexist in the data sink.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TransferJob": {
      "description": "This resource represents the configuration of a transfer job that runs\nperiodically.",
      "id": "TransferJob",
      "properties": {
        "creationTime": {
          "description": "Output only. The time that the transfer job was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "deletionTime": {
          "description": "Output only. The time that the transfer job was deleted.",
          "format": "google-datetime",
          "type": "string"
        },
        "description": {
          "description": "A description provided by the user for the job. Its max length is 1024\nbytes when Unicode-encoded.",
          "type": "string"
        },
        "lastModificationTime": {
          "description": "Output only. The time that the transfer job was last modified.",
          "format": "google-datetime",
          "type": "string"
        },
        "name": {
          "description": "A unique name (within the transfer project) assigned when the job is\ncreated.  If this field is empty in a CreateTransferJobRequest, Storage\nTransfer Service will assign a unique name. Otherwise, the specified name\nis used as the unique name for this job.\n\nIf the specified name is in use by a job, the creation request fails with\nan ALREADY_EXISTS error.\n\nThis name must start with `\"transferJobs/\"` prefix and end with a letter or\na number, and should be no more than 128 characters.\nExample: `\"transferJobs/[A-Za-z0-9-._~]*[A-Za-z0-9]$\"`\n\nInvalid job names will fail with an\nINVALID_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\n`CreateTransferJobRequests`.\n\n**Note:** The effect of the new job status takes place during a subsequent\njob run. For example, if you change the job status from\nENABLED to DISABLED, and an operation\nspawned by the transfer is running, the status change would not affect the\ncurrent 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\nstate, the job and all the transfer executions are subject to\ngarbage collection. Transfer jobs become eligible for garbage collection\n30 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 uses three boolean parameters to define the actions\nto be performed on objects in a transfer.",
      "id": "TransferOptions",
      "properties": {
        "deleteObjectsFromSourceAfterTransfer": {
          "description": "Whether objects should be deleted from the source after they are\ntransferred to the sink.\n\n**Note:** This option and delete_objects_unique_in_sink are mutually\nexclusive.",
          "type": "boolean"
        },
        "deleteObjectsUniqueInSink": {
          "description": "Whether objects that exist only in the sink should be deleted.\n\n**Note:** This option and delete_objects_from_source_after_transfer are\nmutually 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\nof data source and data sink objects.  Object conditions based on\nobjects' \"last modification time\" do not exclude objects in a data sink."
        },
        "transferOptions": {
          "$ref": "TransferOptions",
          "description": "If the option\ndelete_objects_unique_in_sink\nis `true`, object conditions based on objects' \"last modification time\" are\nignored and do not exclude objects in a data source or a data sink."
        }
      },
      "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\njob.",
          "type": "string"
        },
        "transferJob": {
          "$ref": "TransferJob",
          "description": "Required. The job to update. `transferJob` is expected to specify only\nfour fields: description,\ntransfer_spec,\nnotification_config, and\nstatus.  An `UpdateTransferJobRequest` that specifies\nother fields will be rejected with the error\nINVALID_ARGUMENT."
        },
        "updateTransferJobFieldMask": {
          "description": "The field mask of the fields in `transferJob` that are to be updated in\nthis request.  Fields in `transferJob` that can be updated are:\ndescription,\ntransfer_spec,\nnotification_config, and\nstatus.  To update the `transfer_spec` of the job, a\ncomplete transfer specification must be provided. An incomplete\nspecification missing any required fields will be rejected with the error\nINVALID_ARGUMENT.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Storage Transfer API",
  "version": "v1",
  "version_module": true
}