2015-12-03 01:10:07 +00:00
|
|
|
# Copyright 2015 Google Inc.
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
require 'date'
|
|
|
|
require 'google/apis/core/base_service'
|
|
|
|
require 'google/apis/core/json_representation'
|
|
|
|
require 'google/apis/core/hashable'
|
|
|
|
require 'google/apis/errors'
|
|
|
|
|
|
|
|
module Google
|
|
|
|
module Apis
|
|
|
|
module StoragetransferV1
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# AWS access key (see
|
2019-02-07 00:36:43 +00:00
|
|
|
# [AWS Security
|
|
|
|
# Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-
|
|
|
|
# credentials.html)).
|
2017-08-25 19:54:22 +00:00
|
|
|
class AwsAccessKey
|
2017-03-31 19:53:27 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# Required. AWS access key ID.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `accessKeyId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :access_key_id
|
2017-03-31 19:53:27 +00:00
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# Required. AWS secret access key. This field is not returned in RPC
|
|
|
|
# responses.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `secretAccessKey`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :secret_access_key
|
2017-03-31 19:53:27 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
2017-03-31 19:53:27 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@access_key_id = args[:access_key_id] if args.key?(:access_key_id)
|
|
|
|
@secret_access_key = args[:secret_access_key] if args.key?(:secret_access_key)
|
|
|
|
end
|
|
|
|
end
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2018-04-05 00:35:45 +00:00
|
|
|
# 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.
|
2017-08-25 19:54:22 +00:00
|
|
|
class AwsS3Data
|
|
|
|
include Google::Apis::Core::Hashable
|
2017-06-14 17:02:03 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# AWS access key (see
|
2019-02-07 00:36:43 +00:00
|
|
|
# [AWS Security
|
|
|
|
# Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-
|
|
|
|
# credentials.html)).
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `awsAccessKey`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::AwsAccessKey]
|
|
|
|
attr_accessor :aws_access_key
|
2017-06-14 17:02:03 +00:00
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# Required. S3 Bucket name (see
|
2019-02-07 00:36:43 +00:00
|
|
|
# [Creating a
|
|
|
|
# bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-
|
|
|
|
# location-example.html)).
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `bucketName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :bucket_name
|
2017-06-14 17:02:03 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@aws_access_key = args[:aws_access_key] if args.key?(:aws_access_key)
|
|
|
|
@bucket_name = args[:bucket_name] if args.key?(:bucket_name)
|
|
|
|
end
|
|
|
|
end
|
2017-03-31 19:53:27 +00:00
|
|
|
|
2018-09-21 00:36:51 +00:00
|
|
|
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
|
2018-09-13 00:36:28 +00:00
|
|
|
# and time zone are either specified elsewhere or are not significant. The date
|
2018-09-21 00:36:51 +00:00
|
|
|
# is relative to the Proleptic Gregorian Calendar. This can represent:
|
|
|
|
# * A full date, with non-zero year, month and day values
|
|
|
|
# * A month and day value, with a zero year, e.g. an anniversary
|
|
|
|
# * A year on its own, with zero month and day values
|
|
|
|
# * A year and month value, with a zero day, e.g. a credit card expiration date
|
|
|
|
# Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
|
2017-08-25 19:54:22 +00:00
|
|
|
class Date
|
|
|
|
include Google::Apis::Core::Hashable
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Day of month. Must be from 1 to 31 and valid for the year and month, or 0
|
2018-09-21 00:36:51 +00:00
|
|
|
# if specifying a year by itself or a year and month where the day is not
|
|
|
|
# significant.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `day`
|
2017-07-12 20:10:42 +00:00
|
|
|
# @return [Fixnum]
|
2017-08-25 19:54:22 +00:00
|
|
|
attr_accessor :day
|
2017-05-26 16:44:32 +00:00
|
|
|
|
2018-09-21 00:36:51 +00:00
|
|
|
# Month of year. Must be from 1 to 12, or 0 if specifying a year without a
|
|
|
|
# month and day.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `month`
|
2017-07-12 20:10:42 +00:00
|
|
|
# @return [Fixnum]
|
2017-08-25 19:54:22 +00:00
|
|
|
attr_accessor :month
|
2017-05-26 16:44:32 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Year of date. Must be from 1 to 9999, or 0 if specifying a date without
|
|
|
|
# a year.
|
|
|
|
# Corresponds to the JSON property `year`
|
2017-07-12 20:10:42 +00:00
|
|
|
# @return [Fixnum]
|
2017-08-25 19:54:22 +00:00
|
|
|
attr_accessor :year
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@day = args[:day] if args.key?(:day)
|
|
|
|
@month = args[:month] if args.key?(:month)
|
|
|
|
@year = args[:year] if args.key?(:year)
|
|
|
|
end
|
|
|
|
end
|
2017-07-12 20:10:42 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# 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 ````.
|
|
|
|
class Empty
|
|
|
|
include Google::Apis::Core::Hashable
|
2017-06-14 17:02:03 +00:00
|
|
|
|
2015-12-03 01:10:07 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-08-25 19:54:22 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# An entry describing an error that has occurred.
|
|
|
|
class ErrorLogEntry
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A list of messages that carry the error details.
|
|
|
|
# Corresponds to the JSON property `errorDetails`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :error_details
|
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# Required. A URL that refers to the target (a data source, a data sink,
|
2017-08-25 19:54:22 +00:00
|
|
|
# or an object) with which the error is associated.
|
|
|
|
# Corresponds to the JSON property `url`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :url
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@error_details = args[:error_details] if args.key?(:error_details)
|
|
|
|
@url = args[:url] if args.key?(:url)
|
2015-12-03 01:10:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# A summary of errors by error code, plus a count and sample error log
|
|
|
|
# entries.
|
|
|
|
class ErrorSummary
|
2015-12-03 01:10:07 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# Required.
|
|
|
|
# Corresponds to the JSON property `errorCode`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :error_code
|
2017-05-04 19:35:56 +00:00
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# Required. Count of this type of error.
|
2017-07-12 20:10:42 +00:00
|
|
|
# Corresponds to the JSON property `errorCount`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :error_count
|
2017-05-04 19:35:56 +00:00
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# Error samples.
|
2019-08-01 00:37:56 +00:00
|
|
|
# At most 5 error log entries will be recorded for a given
|
|
|
|
# error code for a single transfer operation.
|
2017-07-12 20:10:42 +00:00
|
|
|
# Corresponds to the JSON property `errorLogEntries`
|
|
|
|
# @return [Array<Google::Apis::StoragetransferV1::ErrorLogEntry>]
|
|
|
|
attr_accessor :error_log_entries
|
2017-04-03 20:18:48 +00:00
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-07-12 20:10:42 +00:00
|
|
|
@error_code = args[:error_code] if args.key?(:error_code)
|
|
|
|
@error_count = args[:error_count] if args.key?(:error_count)
|
|
|
|
@error_log_entries = args[:error_log_entries] if args.key?(:error_log_entries)
|
2015-12-03 01:10:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-04-05 00:35:45 +00:00
|
|
|
# In a GcsData resource, an object's name is the Google Cloud Storage object's
|
|
|
|
# name and its `lastModificationTime` refers to the object's updated time,
|
|
|
|
# which changes when the content or the metadata of the object is updated.
|
2017-08-25 19:54:22 +00:00
|
|
|
class GcsData
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# Required. Google Cloud Storage bucket name (see
|
2018-04-26 00:36:26 +00:00
|
|
|
# [Bucket Name
|
|
|
|
# Requirements](https://cloud.google.com/storage/docs/naming#requirements)).
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `bucketName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :bucket_name
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@bucket_name = args[:bucket_name] if args.key?(:bucket_name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Google service account
|
|
|
|
class GoogleServiceAccount
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# Email address of the service account.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `accountEmail`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :account_email
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@account_email = args[:account_email] if args.key?(:account_email)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-04-05 00:35:45 +00:00
|
|
|
# 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
|
2017-07-12 20:10:42 +00:00
|
|
|
# "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
|
2018-04-05 00:35:45 +00:00
|
|
|
# [Transferring data from
|
|
|
|
# URLs](https://cloud.google.com/storage/transfer/create-url-list).
|
2017-07-12 20:10:42 +00:00
|
|
|
# When transferring data based on a URL list, keep the following in mind:
|
|
|
|
# * When an object located at `http(s)://hostname:port/<URL-path>` is
|
2018-04-05 00:35:45 +00:00
|
|
|
# transferred to a data sink, the name of the object at the data sink is
|
2017-07-12 20:10:42 +00:00
|
|
|
# `<hostname>/<URL-path>`.
|
|
|
|
# * 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/#md5)
|
|
|
|
# * Ensure that each URL you specify is publicly accessible. For
|
|
|
|
# example, in Google 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](#ObjectConditions) have no effect when filtering objects
|
|
|
|
# to transfer.
|
|
|
|
class HttpData
|
2017-06-02 06:11:31 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# 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.
|
2017-07-12 20:10:42 +00:00
|
|
|
# Corresponds to the JSON property `listUrl`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :list_url
|
|
|
|
|
2017-06-02 06:11:31 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-07-12 20:10:42 +00:00
|
|
|
@list_url = args[:list_url] if args.key?(:list_url)
|
2017-06-02 06:11:31 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# The response message for Operations.ListOperations.
|
|
|
|
class ListOperationsResponse
|
2015-12-03 01:10:07 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# The standard List next-page token.
|
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
2017-05-04 19:35:56 +00:00
|
|
|
# @return [String]
|
2017-08-25 19:54:22 +00:00
|
|
|
attr_accessor :next_page_token
|
|
|
|
|
|
|
|
# A list of operations that matches the specified filter in the request.
|
|
|
|
# Corresponds to the JSON property `operations`
|
|
|
|
# @return [Array<Google::Apis::StoragetransferV1::Operation>]
|
|
|
|
attr_accessor :operations
|
2017-05-26 16:44:32 +00:00
|
|
|
|
2015-12-03 01:10:07 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-08-25 19:54:22 +00:00
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
|
|
|
@operations = args[:operations] if args.key?(:operations)
|
2015-12-03 01:10:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# Response from ListTransferJobs.
|
|
|
|
class ListTransferJobsResponse
|
2015-12-03 01:10:07 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# The list next page token.
|
2017-05-04 19:35:56 +00:00
|
|
|
# Corresponds to the JSON property `nextPageToken`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :next_page_token
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# A list of transfer jobs.
|
|
|
|
# Corresponds to the JSON property `transferJobs`
|
|
|
|
# @return [Array<Google::Apis::StoragetransferV1::TransferJob>]
|
|
|
|
attr_accessor :transfer_jobs
|
2017-05-26 16:44:32 +00:00
|
|
|
|
2015-12-03 01:10:07 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-05-04 19:35:56 +00:00
|
|
|
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2017-07-12 20:10:42 +00:00
|
|
|
@transfer_jobs = args[:transfer_jobs] if args.key?(:transfer_jobs)
|
2015-12-03 01:10:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-03-01 00:37:10 +00:00
|
|
|
# Conditions that determine which objects will be transferred. Applies only
|
|
|
|
# to S3 and GCS objects.
|
2017-07-12 20:10:42 +00:00
|
|
|
class ObjectConditions
|
2015-12-03 01:10:07 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# `excludePrefixes` must follow the requirements described for
|
|
|
|
# `includePrefixes`.
|
|
|
|
# The max size of `excludePrefixes` is 1000.
|
|
|
|
# Corresponds to the JSON property `excludePrefixes`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :exclude_prefixes
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# If `includePrefixes` is specified, objects that satisfy the object
|
|
|
|
# conditions must have names that start with one of the `includePrefixes`
|
2019-02-07 00:36:43 +00:00
|
|
|
# and that do not start with any of the `excludePrefixes`. If
|
|
|
|
# `includePrefixes` is not specified, all objects except those that have
|
|
|
|
# names starting with one of the `excludePrefixes` must satisfy the object
|
|
|
|
# conditions.
|
2017-07-12 20:10:42 +00:00
|
|
|
# Requirements:
|
|
|
|
# * Each include-prefix and exclude-prefix can contain any sequence of
|
|
|
|
# Unicode characters, of max length 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, i.e., no include-prefix may be a prefix of another
|
|
|
|
# include-prefix.
|
|
|
|
# * Each exclude-prefix must exclude a distinct portion of the object
|
|
|
|
# namespace, i.e., no exclude-prefix may be a prefix of another
|
|
|
|
# exclude-prefix.
|
|
|
|
# * If `includePrefixes` is specified, then each exclude-prefix must start
|
|
|
|
# with the value of a path explicitly included by `includePrefixes`.
|
|
|
|
# The max size of `includePrefixes` is 1000.
|
|
|
|
# Corresponds to the JSON property `includePrefixes`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :include_prefixes
|
2017-06-14 17:02:03 +00:00
|
|
|
|
2019-03-01 00:37:10 +00:00
|
|
|
# If specified, only objects with a `lastModificationTime` on or after
|
|
|
|
# `NOW` - `maxTimeElapsedSinceLastModification` and objects that don't have
|
|
|
|
# a `lastModificationTime` are transferred.
|
2019-06-05 00:37:20 +00:00
|
|
|
# Note that, for each `TransferOperation` started by this `TransferJob`,
|
|
|
|
# `NOW` refers to the `start_time` of the 'TransferOperation`. Also,
|
2019-03-01 00:37:10 +00:00
|
|
|
# `lastModificationTime` refers to the time of the last change to the
|
2019-06-05 00:37:20 +00:00
|
|
|
# object's content or metadata - specifically, this would be the `updated`
|
2019-03-01 00:37:10 +00:00
|
|
|
# property of GCS objects and the `LastModified` field of S3 objects.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `maxTimeElapsedSinceLastModification`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :max_time_elapsed_since_last_modification
|
|
|
|
|
2019-03-01 00:37:10 +00:00
|
|
|
# If specified, only objects with a `lastModificationTime` before
|
|
|
|
# `NOW` - `minTimeElapsedSinceLastModification` and objects that don't have a
|
|
|
|
# `lastModificationTime` are transferred.
|
2019-06-05 00:37:20 +00:00
|
|
|
# Note that, for each `TransferOperation` started by this `TransferJob`,
|
|
|
|
# `NOW` refers to the `start_time` of the 'TransferOperation`. Also,
|
2019-03-01 00:37:10 +00:00
|
|
|
# `lastModificationTime` refers to the time of the last change to the
|
2019-06-05 00:37:20 +00:00
|
|
|
# object's content or metadata - specifically, this would be the `updated`
|
2019-03-01 00:37:10 +00:00
|
|
|
# property of GCS objects and the `LastModified` field of S3 objects.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `minTimeElapsedSinceLastModification`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :min_time_elapsed_since_last_modification
|
|
|
|
|
2015-12-03 01:10:07 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-07-12 20:10:42 +00:00
|
|
|
@exclude_prefixes = args[:exclude_prefixes] if args.key?(:exclude_prefixes)
|
|
|
|
@include_prefixes = args[:include_prefixes] if args.key?(:include_prefixes)
|
2017-08-25 19:54:22 +00:00
|
|
|
@max_time_elapsed_since_last_modification = args[:max_time_elapsed_since_last_modification] if args.key?(:max_time_elapsed_since_last_modification)
|
|
|
|
@min_time_elapsed_since_last_modification = args[:min_time_elapsed_since_last_modification] if args.key?(:min_time_elapsed_since_last_modification)
|
2015-12-03 01:10:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# This resource represents a long-running operation that is the result of a
|
|
|
|
# network API call.
|
|
|
|
class Operation
|
2015-12-03 01:10:07 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# If the value is `false`, it means the operation is still in progress.
|
2017-08-29 00:35:13 +00:00
|
|
|
# If `true`, the operation is completed, and either `error` or `response` is
|
2017-07-12 20:10:42 +00:00
|
|
|
# available.
|
|
|
|
# Corresponds to the JSON property `done`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :done
|
|
|
|
alias_method :done?, :done
|
|
|
|
|
2019-03-08 00:37:10 +00:00
|
|
|
# The `Status` type defines a logical error model that is suitable for
|
|
|
|
# different programming environments, including REST APIs and RPC APIs. It is
|
2019-06-05 00:37:20 +00:00
|
|
|
# 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).
|
2017-07-12 20:10:42 +00:00
|
|
|
# Corresponds to the JSON property `error`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::Status]
|
|
|
|
attr_accessor :error
|
|
|
|
|
|
|
|
# Represents the transfer operation object.
|
|
|
|
# Corresponds to the JSON property `metadata`
|
|
|
|
# @return [Hash<String,Object>]
|
|
|
|
attr_accessor :metadata
|
2017-03-30 22:30:51 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# 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`.
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
# 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`.
|
|
|
|
# Corresponds to the JSON property `response`
|
|
|
|
# @return [Hash<String,Object>]
|
|
|
|
attr_accessor :response
|
|
|
|
|
2015-12-03 01:10:07 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-07-12 20:10:42 +00:00
|
|
|
@done = args[:done] if args.key?(:done)
|
|
|
|
@error = args[:error] if args.key?(:error)
|
|
|
|
@metadata = args[:metadata] if args.key?(:metadata)
|
2017-08-25 19:54:22 +00:00
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
@response = args[:response] if args.key?(:response)
|
2015-12-03 01:10:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Request passed to PauseTransferOperation.
|
|
|
|
class PauseTransferOperationRequest
|
2015-12-03 01:10:07 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Request passed to ResumeTransferOperation.
|
|
|
|
class ResumeTransferOperationRequest
|
2015-12-03 01:10:07 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-05-04 19:35:56 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
end
|
|
|
|
end
|
2017-03-30 22:30:51 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Transfers can be scheduled to recur or to run just once.
|
|
|
|
class Schedule
|
2017-05-04 19:35:56 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
2017-03-30 22:30:51 +00:00
|
|
|
|
2018-09-21 00:36:51 +00:00
|
|
|
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
|
2018-09-13 00:36:28 +00:00
|
|
|
# and time zone are either specified elsewhere or are not significant. The date
|
2018-09-21 00:36:51 +00:00
|
|
|
# is relative to the Proleptic Gregorian Calendar. This can represent:
|
|
|
|
# * A full date, with non-zero year, month and day values
|
|
|
|
# * A month and day value, with a zero year, e.g. an anniversary
|
|
|
|
# * A year on its own, with zero month and day values
|
|
|
|
# * A year and month value, with a zero day, e.g. a credit card expiration date
|
|
|
|
# Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `scheduleEndDate`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::Date]
|
|
|
|
attr_accessor :schedule_end_date
|
|
|
|
|
2018-09-21 00:36:51 +00:00
|
|
|
# Represents a whole or partial calendar date, e.g. a birthday. The time of day
|
2018-09-13 00:36:28 +00:00
|
|
|
# and time zone are either specified elsewhere or are not significant. The date
|
2018-09-21 00:36:51 +00:00
|
|
|
# is relative to the Proleptic Gregorian Calendar. This can represent:
|
|
|
|
# * A full date, with non-zero year, month and day values
|
|
|
|
# * A month and day value, with a zero year, e.g. an anniversary
|
|
|
|
# * A year on its own, with zero month and day values
|
|
|
|
# * A year and month value, with a zero day, e.g. a credit card expiration date
|
|
|
|
# Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `scheduleStartDate`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::Date]
|
|
|
|
attr_accessor :schedule_start_date
|
|
|
|
|
|
|
|
# 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`.
|
|
|
|
# Corresponds to the JSON property `startTimeOfDay`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::TimeOfDay]
|
|
|
|
attr_accessor :start_time_of_day
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@schedule_end_date = args[:schedule_end_date] if args.key?(:schedule_end_date)
|
|
|
|
@schedule_start_date = args[:schedule_start_date] if args.key?(:schedule_start_date)
|
|
|
|
@start_time_of_day = args[:start_time_of_day] if args.key?(:start_time_of_day)
|
|
|
|
end
|
|
|
|
end
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2019-03-08 00:37:10 +00:00
|
|
|
# The `Status` type defines a logical error model that is suitable for
|
|
|
|
# different programming environments, including REST APIs and RPC APIs. It is
|
2019-06-05 00:37:20 +00:00
|
|
|
# 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).
|
2017-07-12 20:10:42 +00:00
|
|
|
class Status
|
2015-12-03 01:10:07 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# The status code, which should be an enum value of google.rpc.Code.
|
|
|
|
# Corresponds to the JSON property `code`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :code
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# A list of messages that carry the error details. There is a common set of
|
|
|
|
# message types for APIs to use.
|
|
|
|
# Corresponds to the JSON property `details`
|
|
|
|
# @return [Array<Hash<String,Object>>]
|
|
|
|
attr_accessor :details
|
2017-05-04 19:35:56 +00:00
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# 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.
|
|
|
|
# Corresponds to the JSON property `message`
|
2017-06-14 17:02:03 +00:00
|
|
|
# @return [String]
|
2017-07-12 20:10:42 +00:00
|
|
|
attr_accessor :message
|
2017-06-14 17:02:03 +00:00
|
|
|
|
2017-03-31 19:53:27 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-07-12 20:10:42 +00:00
|
|
|
@code = args[:code] if args.key?(:code)
|
2017-08-25 19:54:22 +00:00
|
|
|
@details = args[:details] if args.key?(:details)
|
2017-07-12 20:10:42 +00:00
|
|
|
@message = args[:message] if args.key?(:message)
|
2015-12-03 01:10:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# 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`.
|
|
|
|
class TimeOfDay
|
2017-05-26 16:44:32 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# 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.
|
|
|
|
# Corresponds to the JSON property `hours`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :hours
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Minutes of hour of day. Must be from 0 to 59.
|
|
|
|
# Corresponds to the JSON property `minutes`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :minutes
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
|
|
|
|
# Corresponds to the JSON property `nanos`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :nanos
|
|
|
|
|
|
|
|
# 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.
|
|
|
|
# Corresponds to the JSON property `seconds`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :seconds
|
|
|
|
|
2017-05-26 16:44:32 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-07-12 20:10:42 +00:00
|
|
|
@hours = args[:hours] if args.key?(:hours)
|
2017-08-25 19:54:22 +00:00
|
|
|
@minutes = args[:minutes] if args.key?(:minutes)
|
2017-07-12 20:10:42 +00:00
|
|
|
@nanos = args[:nanos] if args.key?(:nanos)
|
|
|
|
@seconds = args[:seconds] if args.key?(:seconds)
|
2017-05-04 19:35:56 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# A collection of counters that report the progress of a transfer operation.
|
|
|
|
class TransferCounters
|
2017-05-04 19:35:56 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
2017-04-03 20:18:48 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Bytes that are copied to the data sink.
|
|
|
|
# Corresponds to the JSON property `bytesCopiedToSink`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :bytes_copied_to_sink
|
2017-07-12 20:10:42 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Bytes that are deleted from the data sink.
|
|
|
|
# Corresponds to the JSON property `bytesDeletedFromSink`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :bytes_deleted_from_sink
|
|
|
|
|
|
|
|
# Bytes that are deleted from the data source.
|
|
|
|
# Corresponds to the JSON property `bytesDeletedFromSource`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :bytes_deleted_from_source
|
|
|
|
|
|
|
|
# Bytes that failed to be deleted from the data sink.
|
|
|
|
# Corresponds to the JSON property `bytesFailedToDeleteFromSink`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :bytes_failed_to_delete_from_sink
|
|
|
|
|
|
|
|
# Bytes found in the data source that are scheduled to be transferred,
|
2017-11-14 00:35:29 +00:00
|
|
|
# excluding any that are filtered based on object conditions or skipped due
|
|
|
|
# to sync.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `bytesFoundFromSource`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :bytes_found_from_source
|
|
|
|
|
|
|
|
# Bytes found only in the data sink that are scheduled to be deleted.
|
|
|
|
# Corresponds to the JSON property `bytesFoundOnlyFromSink`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :bytes_found_only_from_sink
|
|
|
|
|
2018-01-11 00:35:44 +00:00
|
|
|
# Bytes in the data source that failed to be transferred or that failed to
|
|
|
|
# be deleted after being transferred.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `bytesFromSourceFailed`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :bytes_from_source_failed
|
|
|
|
|
|
|
|
# Bytes in the data source that are not transferred because they already
|
|
|
|
# exist in the data sink.
|
|
|
|
# Corresponds to the JSON property `bytesFromSourceSkippedBySync`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :bytes_from_source_skipped_by_sync
|
|
|
|
|
|
|
|
# Objects that are copied to the data sink.
|
|
|
|
# Corresponds to the JSON property `objectsCopiedToSink`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :objects_copied_to_sink
|
|
|
|
|
|
|
|
# Objects that are deleted from the data sink.
|
|
|
|
# Corresponds to the JSON property `objectsDeletedFromSink`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :objects_deleted_from_sink
|
|
|
|
|
|
|
|
# Objects that are deleted from the data source.
|
|
|
|
# Corresponds to the JSON property `objectsDeletedFromSource`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :objects_deleted_from_source
|
|
|
|
|
|
|
|
# Objects that failed to be deleted from the data sink.
|
|
|
|
# Corresponds to the JSON property `objectsFailedToDeleteFromSink`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :objects_failed_to_delete_from_sink
|
|
|
|
|
|
|
|
# Objects found in the data source that are scheduled to be transferred,
|
2017-11-14 00:35:29 +00:00
|
|
|
# excluding any that are filtered based on object conditions or skipped due
|
|
|
|
# to sync.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `objectsFoundFromSource`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :objects_found_from_source
|
|
|
|
|
|
|
|
# Objects found only in the data sink that are scheduled to be deleted.
|
|
|
|
# Corresponds to the JSON property `objectsFoundOnlyFromSink`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :objects_found_only_from_sink
|
|
|
|
|
2018-01-11 00:35:44 +00:00
|
|
|
# Objects in the data source that failed to be transferred or that failed
|
|
|
|
# to be deleted after being transferred.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `objectsFromSourceFailed`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :objects_from_source_failed
|
|
|
|
|
|
|
|
# Objects in the data source that are not transferred because they already
|
|
|
|
# exist in the data sink.
|
|
|
|
# Corresponds to the JSON property `objectsFromSourceSkippedBySync`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :objects_from_source_skipped_by_sync
|
2017-07-12 20:10:42 +00:00
|
|
|
|
2017-03-30 22:30:51 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2017-03-30 22:30:51 +00:00
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-08-25 19:54:22 +00:00
|
|
|
@bytes_copied_to_sink = args[:bytes_copied_to_sink] if args.key?(:bytes_copied_to_sink)
|
|
|
|
@bytes_deleted_from_sink = args[:bytes_deleted_from_sink] if args.key?(:bytes_deleted_from_sink)
|
|
|
|
@bytes_deleted_from_source = args[:bytes_deleted_from_source] if args.key?(:bytes_deleted_from_source)
|
|
|
|
@bytes_failed_to_delete_from_sink = args[:bytes_failed_to_delete_from_sink] if args.key?(:bytes_failed_to_delete_from_sink)
|
|
|
|
@bytes_found_from_source = args[:bytes_found_from_source] if args.key?(:bytes_found_from_source)
|
|
|
|
@bytes_found_only_from_sink = args[:bytes_found_only_from_sink] if args.key?(:bytes_found_only_from_sink)
|
|
|
|
@bytes_from_source_failed = args[:bytes_from_source_failed] if args.key?(:bytes_from_source_failed)
|
|
|
|
@bytes_from_source_skipped_by_sync = args[:bytes_from_source_skipped_by_sync] if args.key?(:bytes_from_source_skipped_by_sync)
|
|
|
|
@objects_copied_to_sink = args[:objects_copied_to_sink] if args.key?(:objects_copied_to_sink)
|
|
|
|
@objects_deleted_from_sink = args[:objects_deleted_from_sink] if args.key?(:objects_deleted_from_sink)
|
|
|
|
@objects_deleted_from_source = args[:objects_deleted_from_source] if args.key?(:objects_deleted_from_source)
|
|
|
|
@objects_failed_to_delete_from_sink = args[:objects_failed_to_delete_from_sink] if args.key?(:objects_failed_to_delete_from_sink)
|
|
|
|
@objects_found_from_source = args[:objects_found_from_source] if args.key?(:objects_found_from_source)
|
|
|
|
@objects_found_only_from_sink = args[:objects_found_only_from_sink] if args.key?(:objects_found_only_from_sink)
|
|
|
|
@objects_from_source_failed = args[:objects_from_source_failed] if args.key?(:objects_from_source_failed)
|
|
|
|
@objects_from_source_skipped_by_sync = args[:objects_from_source_skipped_by_sync] if args.key?(:objects_from_source_skipped_by_sync)
|
2017-03-30 22:30:51 +00:00
|
|
|
end
|
|
|
|
end
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# This resource represents the configuration of a transfer job that runs
|
|
|
|
# periodically.
|
|
|
|
class TransferJob
|
2017-03-30 22:30:51 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
2015-12-03 01:10:07 +00:00
|
|
|
|
2019-05-02 00:37:13 +00:00
|
|
|
# Output only. The time that the transfer job was created.
|
2017-07-12 20:10:42 +00:00
|
|
|
# Corresponds to the JSON property `creationTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :creation_time
|
2017-06-14 17:02:03 +00:00
|
|
|
|
2019-05-02 00:37:13 +00:00
|
|
|
# Output only. The time that the transfer job was deleted.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `deletionTime`
|
2017-07-12 20:10:42 +00:00
|
|
|
# @return [String]
|
2017-08-25 19:54:22 +00:00
|
|
|
attr_accessor :deletion_time
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# A description provided by the user for the job. Its max length is 1024
|
|
|
|
# bytes when Unicode-encoded.
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :description
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2019-05-02 00:37:13 +00:00
|
|
|
# Output only. The time that the transfer job was last modified.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `lastModificationTime`
|
2017-07-12 20:10:42 +00:00
|
|
|
# @return [String]
|
2017-08-25 19:54:22 +00:00
|
|
|
attr_accessor :last_modification_time
|
2017-05-26 16:44:32 +00:00
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# A globally unique name assigned by Storage Transfer Service when the
|
|
|
|
# job is created. This field should be left empty in requests to create a new
|
|
|
|
# transfer job; otherwise, the requests result in an `INVALID_ARGUMENT`
|
|
|
|
# error.
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
2017-05-26 16:44:32 +00:00
|
|
|
|
2019-02-07 00:36:43 +00:00
|
|
|
# The ID of the Google Cloud Platform Project that owns the job.
|
2017-07-12 20:10:42 +00:00
|
|
|
# Corresponds to the JSON property `projectId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :project_id
|
2017-05-26 16:44:32 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Transfers can be scheduled to recur or to run just once.
|
|
|
|
# Corresponds to the JSON property `schedule`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::Schedule]
|
|
|
|
attr_accessor :schedule
|
2017-05-04 19:35:56 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# 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.
|
|
|
|
# Corresponds to the JSON property `status`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :status
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Configuration for running a transfer.
|
|
|
|
# Corresponds to the JSON property `transferSpec`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::TransferSpec]
|
|
|
|
attr_accessor :transfer_spec
|
2017-05-04 19:35:56 +00:00
|
|
|
|
2015-12-03 01:10:07 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-08-25 19:54:22 +00:00
|
|
|
@creation_time = args[:creation_time] if args.key?(:creation_time)
|
|
|
|
@deletion_time = args[:deletion_time] if args.key?(:deletion_time)
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
@last_modification_time = args[:last_modification_time] if args.key?(:last_modification_time)
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
|
|
|
@schedule = args[:schedule] if args.key?(:schedule)
|
|
|
|
@status = args[:status] if args.key?(:status)
|
|
|
|
@transfer_spec = args[:transfer_spec] if args.key?(:transfer_spec)
|
2017-06-02 06:11:31 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# A description of the execution of a transfer.
|
|
|
|
class TransferOperation
|
2017-06-02 06:11:31 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-07-12 20:10:42 +00:00
|
|
|
# A collection of counters that report the progress of a transfer operation.
|
|
|
|
# Corresponds to the JSON property `counters`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::TransferCounters]
|
|
|
|
attr_accessor :counters
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# End time of this transfer execution.
|
|
|
|
# Corresponds to the JSON property `endTime`
|
2017-07-12 20:10:42 +00:00
|
|
|
# @return [String]
|
2017-08-25 19:54:22 +00:00
|
|
|
attr_accessor :end_time
|
2017-07-12 20:10:42 +00:00
|
|
|
|
|
|
|
# Summarizes errors encountered with sample error log entries.
|
|
|
|
# Corresponds to the JSON property `errorBreakdowns`
|
|
|
|
# @return [Array<Google::Apis::StoragetransferV1::ErrorSummary>]
|
|
|
|
attr_accessor :error_breakdowns
|
|
|
|
|
|
|
|
# A globally unique ID assigned by the system.
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
|
|
|
|
2019-02-07 00:36:43 +00:00
|
|
|
# The ID of the Google Cloud Platform Project that owns the operation.
|
2017-07-12 20:10:42 +00:00
|
|
|
# Corresponds to the JSON property `projectId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :project_id
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Start time of this transfer execution.
|
|
|
|
# Corresponds to the JSON property `startTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :start_time
|
|
|
|
|
|
|
|
# Status of the transfer operation.
|
|
|
|
# Corresponds to the JSON property `status`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :status
|
|
|
|
|
|
|
|
# The name of the transfer job that triggers this transfer operation.
|
|
|
|
# Corresponds to the JSON property `transferJobName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :transfer_job_name
|
|
|
|
|
|
|
|
# Configuration for running a transfer.
|
|
|
|
# Corresponds to the JSON property `transferSpec`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::TransferSpec]
|
|
|
|
attr_accessor :transfer_spec
|
|
|
|
|
2017-06-02 06:11:31 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-07-12 20:10:42 +00:00
|
|
|
@counters = args[:counters] if args.key?(:counters)
|
2017-08-25 19:54:22 +00:00
|
|
|
@end_time = args[:end_time] if args.key?(:end_time)
|
2017-07-12 20:10:42 +00:00
|
|
|
@error_breakdowns = args[:error_breakdowns] if args.key?(:error_breakdowns)
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
2017-08-25 19:54:22 +00:00
|
|
|
@start_time = args[:start_time] if args.key?(:start_time)
|
|
|
|
@status = args[:status] if args.key?(:status)
|
|
|
|
@transfer_job_name = args[:transfer_job_name] if args.key?(:transfer_job_name)
|
|
|
|
@transfer_spec = args[:transfer_spec] if args.key?(:transfer_spec)
|
2017-06-02 06:11:31 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# TransferOptions uses three boolean parameters to define the actions
|
|
|
|
# to be performed on objects in a transfer.
|
|
|
|
class TransferOptions
|
2017-06-02 06:11:31 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Whether objects should be deleted from the source after they are
|
|
|
|
# transferred to the sink. Note that this option and
|
|
|
|
# `deleteObjectsUniqueInSink` are mutually exclusive.
|
|
|
|
# Corresponds to the JSON property `deleteObjectsFromSourceAfterTransfer`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :delete_objects_from_source_after_transfer
|
|
|
|
alias_method :delete_objects_from_source_after_transfer?, :delete_objects_from_source_after_transfer
|
2017-07-12 20:10:42 +00:00
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Whether objects that exist only in the sink should be deleted. Note that
|
|
|
|
# this option and `deleteObjectsFromSourceAfterTransfer` are mutually
|
|
|
|
# exclusive.
|
|
|
|
# Corresponds to the JSON property `deleteObjectsUniqueInSink`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :delete_objects_unique_in_sink
|
|
|
|
alias_method :delete_objects_unique_in_sink?, :delete_objects_unique_in_sink
|
|
|
|
|
|
|
|
# Whether overwriting objects that already exist in the sink is allowed.
|
|
|
|
# Corresponds to the JSON property `overwriteObjectsAlreadyExistingInSink`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :overwrite_objects_already_existing_in_sink
|
|
|
|
alias_method :overwrite_objects_already_existing_in_sink?, :overwrite_objects_already_existing_in_sink
|
2017-06-02 06:11:31 +00:00
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-08-25 19:54:22 +00:00
|
|
|
@delete_objects_from_source_after_transfer = args[:delete_objects_from_source_after_transfer] if args.key?(:delete_objects_from_source_after_transfer)
|
|
|
|
@delete_objects_unique_in_sink = args[:delete_objects_unique_in_sink] if args.key?(:delete_objects_unique_in_sink)
|
|
|
|
@overwrite_objects_already_existing_in_sink = args[:overwrite_objects_already_existing_in_sink] if args.key?(:overwrite_objects_already_existing_in_sink)
|
2017-06-02 06:11:31 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Configuration for running a transfer.
|
|
|
|
class TransferSpec
|
2017-06-02 06:11:31 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-04-05 00:35:45 +00:00
|
|
|
# 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.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `awsS3DataSource`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::AwsS3Data]
|
|
|
|
attr_accessor :aws_s3_data_source
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2018-04-05 00:35:45 +00:00
|
|
|
# In a GcsData resource, an object's name is the Google Cloud Storage object's
|
|
|
|
# name and its `lastModificationTime` refers to the object's updated time,
|
|
|
|
# which changes when the content or the metadata of the object is updated.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `gcsDataSink`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::GcsData]
|
|
|
|
attr_accessor :gcs_data_sink
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2018-04-05 00:35:45 +00:00
|
|
|
# In a GcsData resource, an object's name is the Google Cloud Storage object's
|
|
|
|
# name and its `lastModificationTime` refers to the object's updated time,
|
|
|
|
# which changes when the content or the metadata of the object is updated.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `gcsDataSource`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::GcsData]
|
|
|
|
attr_accessor :gcs_data_source
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2018-04-05 00:35:45 +00:00
|
|
|
# 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
|
2017-08-25 19:54:22 +00:00
|
|
|
# "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
|
2018-04-05 00:35:45 +00:00
|
|
|
# [Transferring data from
|
|
|
|
# URLs](https://cloud.google.com/storage/transfer/create-url-list).
|
2017-08-25 19:54:22 +00:00
|
|
|
# When transferring data based on a URL list, keep the following in mind:
|
|
|
|
# * When an object located at `http(s)://hostname:port/<URL-path>` is
|
2018-04-05 00:35:45 +00:00
|
|
|
# transferred to a data sink, the name of the object at the data sink is
|
2017-08-25 19:54:22 +00:00
|
|
|
# `<hostname>/<URL-path>`.
|
|
|
|
# * 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/#md5)
|
|
|
|
# * Ensure that each URL you specify is publicly accessible. For
|
|
|
|
# example, in Google 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](#ObjectConditions) have no effect when filtering objects
|
|
|
|
# to transfer.
|
|
|
|
# Corresponds to the JSON property `httpDataSource`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::HttpData]
|
|
|
|
attr_accessor :http_data_source
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2019-03-01 00:37:10 +00:00
|
|
|
# Conditions that determine which objects will be transferred. Applies only
|
|
|
|
# to S3 and GCS objects.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `objectConditions`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::ObjectConditions]
|
|
|
|
attr_accessor :object_conditions
|
|
|
|
|
|
|
|
# TransferOptions uses three boolean parameters to define the actions
|
|
|
|
# to be performed on objects in a transfer.
|
|
|
|
# Corresponds to the JSON property `transferOptions`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::TransferOptions]
|
|
|
|
attr_accessor :transfer_options
|
2017-07-12 20:10:42 +00:00
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-08-25 19:54:22 +00:00
|
|
|
@aws_s3_data_source = args[:aws_s3_data_source] if args.key?(:aws_s3_data_source)
|
|
|
|
@gcs_data_sink = args[:gcs_data_sink] if args.key?(:gcs_data_sink)
|
|
|
|
@gcs_data_source = args[:gcs_data_source] if args.key?(:gcs_data_source)
|
|
|
|
@http_data_source = args[:http_data_source] if args.key?(:http_data_source)
|
|
|
|
@object_conditions = args[:object_conditions] if args.key?(:object_conditions)
|
|
|
|
@transfer_options = args[:transfer_options] if args.key?(:transfer_options)
|
2017-07-12 20:10:42 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-08-25 19:54:22 +00:00
|
|
|
# Request passed to UpdateTransferJob.
|
|
|
|
class UpdateTransferJobRequest
|
2017-07-12 20:10:42 +00:00
|
|
|
include Google::Apis::Core::Hashable
|
2017-06-02 06:11:31 +00:00
|
|
|
|
2019-05-16 00:37:23 +00:00
|
|
|
# Required. The ID of the Google Cloud Platform Console project that owns the
|
|
|
|
# job.
|
2017-08-25 19:54:22 +00:00
|
|
|
# Corresponds to the JSON property `projectId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :project_id
|
|
|
|
|
|
|
|
# This resource represents the configuration of a transfer job that runs
|
|
|
|
# periodically.
|
|
|
|
# Corresponds to the JSON property `transferJob`
|
|
|
|
# @return [Google::Apis::StoragetransferV1::TransferJob]
|
|
|
|
attr_accessor :transfer_job
|
|
|
|
|
|
|
|
# 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`, `transferSpec`, and `status`. To update the `transferSpec`
|
|
|
|
# of the job, a complete transfer specification has to be provided. An
|
|
|
|
# incomplete specification which misses any required fields will be rejected
|
|
|
|
# with the error `INVALID_ARGUMENT`.
|
|
|
|
# Corresponds to the JSON property `updateTransferJobFieldMask`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :update_transfer_job_field_mask
|
|
|
|
|
2017-06-02 06:11:31 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2017-08-25 19:54:22 +00:00
|
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
|
|
|
@transfer_job = args[:transfer_job] if args.key?(:transfer_job)
|
|
|
|
@update_transfer_job_field_mask = args[:update_transfer_job_field_mask] if args.key?(:update_transfer_job_field_mask)
|
2017-06-02 06:11:31 +00:00
|
|
|
end
|
|
|
|
end
|
2015-12-03 01:10:07 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|