google-cloud-storage 1.34.1 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c1a4e8d81d477657fb10766346d62bf9f4bbc9934af2b63a2cadb57195308df
4
- data.tar.gz: 5a40bdb4ecfff8f5e93f3047ed9c6e85ccc5b3bba9a17b00aaeb5dcc979b66b5
3
+ metadata.gz: 46a00811174d5f74691bc49b43c14fe9a541f3c964c332eb9bccc4d2e85778cd
4
+ data.tar.gz: 0425d311a50177d6321a172958a6b2afef376a2c13f3dd3d5aa5d07ce974b773
5
5
  SHA512:
6
- metadata.gz: 5380175443d2e863193a5b176a17e29d76d36eeeaaa7e059569168799a62969f8bd9b4e6359119b035f6586aaeb8af996cadfe01f7e7864db2c183e93e823aa1
7
- data.tar.gz: 3954e38231d1cc1bd5679ed011eef6dd69f644e855f621d4af08dd207c815ede1393285953364256b9d1b49175ac6c35710ed01253ecd92b31ab5a66b2143090
6
+ metadata.gz: dd0fb3dd2b5d31ce65febca446c4826e72384de658bcf9bb66b349a2f8304c8494c86a6a88263dd38add67fd6083f375f436ffcad225413a7d803ee67c4a351c
7
+ data.tar.gz: f62d337690f49269a0839d1dfe65f998da7fb1e6a530c151a11eb4a890fc1942321b6c34ef34c9b932b59ab33a0a74ffb6a3b082d1e6688cfd4ddf9a48b478b3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Release History
2
2
 
3
+ ### 1.35.0 / 2021-12-08
4
+
5
+ #### Features
6
+
7
+ * changed PAP unspecified to inherited
8
+ * support for more client timeout options
9
+
10
+ #### Bug Fixes
11
+
12
+ * Update dependency on the addressable gem to 2.8 to remediate a vulnerability
13
+
3
14
  ### 1.34.1 / 2021-07-08
4
15
 
5
16
  #### Documentation
@@ -932,11 +932,11 @@ module Google
932
932
  end
933
933
 
934
934
  ##
935
- # The value for Public Access Prevention in the bucket's IAM configuration. Currently, `unspecified` and
935
+ # The value for Public Access Prevention in the bucket's IAM configuration. Currently, `inherited` and
936
936
  # `enforced` are supported. When set to `enforced`, Public Access Prevention is enforced in the bucket's IAM
937
937
  # configuration. This value can be modified by calling {#public_access_prevention=}.
938
938
  #
939
- # @return [String, nil] Currently, `unspecified` and `enforced` are supported. Returns `nil` if the bucket has
939
+ # @return [String, nil] Currently, `inherited` and `enforced` are supported. Returns `nil` if the bucket has
940
940
  # no IAM configuration.
941
941
  #
942
942
  # @example
@@ -958,7 +958,7 @@ module Google
958
958
  # calling {#public_access_prevention}.
959
959
  #
960
960
  # @param [Symbol, String] new_public_access_prevention The bucket's new Public Access Prevention configuration.
961
- # Currently, `unspecified` and `enforced` are supported. When set to `enforced`, Public Access
961
+ # Currently, `inherited` and `enforced` are supported. When set to `enforced`, Public Access
962
962
  # Prevention is enforced in the bucket's IAM configuration.
963
963
  #
964
964
  # @example Set Public Access Prevention to enforced:
@@ -971,15 +971,15 @@ module Google
971
971
  # bucket.public_access_prevention = :enforced
972
972
  # bucket.public_access_prevention #=> "enforced"
973
973
  #
974
- # @example Set Public Access Prevention to unspecified:
974
+ # @example Set Public Access Prevention to inherited:
975
975
  # require "google/cloud/storage"
976
976
  #
977
977
  # storage = Google::Cloud::Storage.new
978
978
  #
979
979
  # bucket = storage.bucket "my-bucket"
980
980
  #
981
- # bucket.public_access_prevention = :unspecified
982
- # bucket.public_access_prevention #=> "unspecified"
981
+ # bucket.public_access_prevention = :inherited
982
+ # bucket.public_access_prevention #=> "inherited"
983
983
  #
984
984
  def public_access_prevention= new_public_access_prevention
985
985
  @gapi.iam_configuration ||= API::Bucket::IamConfiguration.new
@@ -1011,11 +1011,11 @@ module Google
1011
1011
  end
1012
1012
 
1013
1013
  ##
1014
- # Whether the value for Public Access Prevention in the bucket's IAM configuration is `unspecified`. The default
1014
+ # Whether the value for Public Access Prevention in the bucket's IAM configuration is `inherited`. The default
1015
1015
  # is `false`. This value can be modified by calling {Bucket#public_access_prevention=}.
1016
1016
  #
1017
1017
  # @return [Boolean] Returns `false` if the bucket has no IAM configuration or if Public Access Prevention is
1018
- # not `unspecified` in the IAM configuration. Returns `true` if Public Access Prevention is `unspecified` in
1018
+ # not `inherited` in the IAM configuration. Returns `true` if Public Access Prevention is `inherited` in
1019
1019
  # the IAM configuration.
1020
1020
  #
1021
1021
  # @example
@@ -1025,14 +1025,16 @@ module Google
1025
1025
  #
1026
1026
  # bucket = storage.bucket "my-bucket"
1027
1027
  #
1028
- # bucket.public_access_prevention = :unspecified
1029
- # bucket.public_access_prevention_unspecified? # true
1028
+ # bucket.public_access_prevention = :inherited
1029
+ # bucket.public_access_prevention_inherited? # true
1030
1030
  #
1031
- def public_access_prevention_unspecified?
1031
+ def public_access_prevention_inherited?
1032
1032
  return false unless @gapi.iam_configuration&.public_access_prevention
1033
- @gapi.iam_configuration.public_access_prevention.to_s == "unspecified"
1033
+ ["inherited", "unspecified"].include? @gapi.iam_configuration.public_access_prevention.to_s
1034
1034
  end
1035
1035
 
1036
+ alias public_access_prevention_unspecified? public_access_prevention_inherited?
1037
+
1036
1038
  ##
1037
1039
  # Updates the bucket with changes made in the given block in a single
1038
1040
  # PATCH request. The following attributes may be set: {#cors},
@@ -38,17 +38,18 @@ module Google
38
38
 
39
39
  ##
40
40
  # Creates a new Service instance.
41
- def initialize project, credentials,
42
- retries: nil, timeout: nil, host: nil, quota_project: nil
41
+ def initialize project, credentials, retries: nil,
42
+ timeout: nil, open_timeout: nil, read_timeout: nil,
43
+ send_timeout: nil, host: nil, quota_project: nil
43
44
  @project = project
44
45
  @credentials = credentials
45
46
  @service = API::StorageService.new
46
47
  @service.client_options.application_name = "gcloud-ruby"
47
48
  @service.client_options.application_version = \
48
49
  Google::Cloud::Storage::VERSION
49
- @service.client_options.open_timeout_sec = timeout
50
- @service.client_options.read_timeout_sec = timeout
51
- @service.client_options.send_timeout_sec = timeout
50
+ @service.client_options.open_timeout_sec = (open_timeout || timeout)
51
+ @service.client_options.read_timeout_sec = (read_timeout || timeout)
52
+ @service.client_options.send_timeout_sec = (send_timeout || timeout)
52
53
  @service.client_options.transparent_gzip_decompression = false
53
54
  @service.request_options.retries = retries || 3
54
55
  @service.request_options.header ||= {}
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module Storage
19
- VERSION = "1.34.1".freeze
19
+ VERSION = "1.35.0".freeze
20
20
  end
21
21
  end
22
22
  end
@@ -55,7 +55,11 @@ module Google
55
55
  # * `https://www.googleapis.com/auth/devstorage.full_control`
56
56
  # @param [Integer] retries Number of times to retry requests on server
57
57
  # error. The default value is `3`. Optional.
58
- # @param [Integer] timeout Default timeout to use in requests. Optional.
58
+ # @param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.
59
+ # If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
60
+ # @param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional.
61
+ # @param [Integer] read_timeout How long, in seconds, before requests time out. Optional.
62
+ # @param [Integer] send_timeout How long, in seconds, before receiving response from server times out. Optional.
59
63
  # @param [String] endpoint Override of the endpoint host name. Optional.
60
64
  # If the param is nil, uses the default endpoint.
61
65
  # @param [String] project Alias for the `project_id` argument. Deprecated.
@@ -75,13 +79,18 @@ module Google
75
79
  # bucket = storage.bucket "my-bucket"
76
80
  # file = bucket.file "path/to/my-file.ext"
77
81
  #
82
+ # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
78
83
  def self.new project_id: nil, credentials: nil, scope: nil, retries: nil,
79
- timeout: nil, endpoint: nil, project: nil, keyfile: nil
80
- scope ||= configure.scope
81
- retries ||= configure.retries
82
- timeout ||= configure.timeout
83
- endpoint ||= configure.endpoint
84
- credentials ||= (keyfile || default_credentials(scope: scope))
84
+ timeout: nil, open_timeout: nil, read_timeout: nil,
85
+ send_timeout: nil, endpoint: nil, project: nil, keyfile: nil
86
+ scope ||= configure.scope
87
+ retries ||= configure.retries
88
+ timeout ||= configure.timeout
89
+ open_timeout ||= (configure.open_timeout || timeout)
90
+ read_timeout ||= (configure.read_timeout || timeout)
91
+ send_timeout ||= (configure.send_timeout || timeout)
92
+ endpoint ||= configure.endpoint
93
+ credentials ||= (keyfile || default_credentials(scope: scope))
85
94
 
86
95
  unless credentials.is_a? Google::Auth::Credentials
87
96
  credentials = Storage::Credentials.new credentials, scope: scope
@@ -93,11 +102,13 @@ module Google
93
102
  Storage::Project.new(
94
103
  Storage::Service.new(
95
104
  project_id, credentials,
96
- retries: retries, timeout: timeout, host: endpoint,
97
- quota_project: configure.quota_project
105
+ retries: retries, timeout: timeout, open_timeout: open_timeout,
106
+ read_timeout: read_timeout, send_timeout: send_timeout,
107
+ host: endpoint, quota_project: configure.quota_project
98
108
  )
99
109
  )
100
110
  end
111
+ # rubocop:enable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
101
112
 
102
113
  ##
103
114
  # Creates an unauthenticated, anonymous client for retrieving public data
@@ -105,7 +116,11 @@ module Google
105
116
  #
106
117
  # @param [Integer] retries Number of times to retry requests on server
107
118
  # error. The default value is `3`. Optional.
108
- # @param [Integer] timeout Default timeout to use in requests. Optional.
119
+ # @param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.
120
+ # If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
121
+ # @param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional.
122
+ # @param [Integer] read_timeout How long, in seconds, before requests time out. Optional.
123
+ # @param [Integer] send_timeout How long, in seconds, before receiving response from server times out. Optional.
109
124
  # @param [String] endpoint Override of the endpoint host name. Optional.
110
125
  # If the param is nil, uses the default endpoint.
111
126
  #
@@ -123,10 +138,15 @@ module Google
123
138
  # downloaded.rewind
124
139
  # downloaded.read #=> "Hello world!"
125
140
  #
126
- def self.anonymous retries: nil, timeout: nil, endpoint: nil
141
+ def self.anonymous retries: nil, timeout: nil, open_timeout: nil,
142
+ read_timeout: nil, send_timeout: nil, endpoint: nil
143
+ open_timeout ||= timeout
144
+ read_timeout ||= timeout
145
+ send_timeout ||= timeout
127
146
  Storage::Project.new(
128
147
  Storage::Service.new(
129
- nil, nil, retries: retries, timeout: timeout, host: endpoint
148
+ nil, nil, retries: retries, timeout: timeout, open_timeout: open_timeout,
149
+ read_timeout: read_timeout, send_timeout: send_timeout, host: endpoint
130
150
  )
131
151
  )
132
152
  end
@@ -148,7 +168,11 @@ module Google
148
168
  # the set of resources and operations that the connection can access.
149
169
  # * `retries` - (Integer) Number of times to retry requests on server
150
170
  # error.
151
- # * `timeout` - (Integer) Default timeout to use in requests.
171
+ # * `timeout` - (Integer) (default timeout) The max duration, in seconds, to wait before timing out.
172
+ # If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
173
+ # * `open_timeout` - (Integer) How long, in seconds, before failed connections time out.
174
+ # * `read_timeout` - (Integer) How long, in seconds, before requests time out.
175
+ # * `send_timeout` - (Integer) How long, in seconds, before receiving response from server times out.
152
176
  #
153
177
  # @return [Google::Cloud::Config] The configuration object the
154
178
  # Google::Cloud::Storage library uses.
@@ -45,7 +45,11 @@ module Google
45
45
  # * `https://www.googleapis.com/auth/devstorage.full_control`
46
46
  # @param [Integer] retries Number of times to retry requests on server
47
47
  # error. The default value is `3`. Optional.
48
- # @param [Integer] timeout Default timeout to use in requests. Optional.
48
+ # @param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.
49
+ # If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
50
+ # @param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional.
51
+ # @param [Integer] read_timeout How long, in seconds, before requests time out. Optional.
52
+ # @param [Integer] send_timeout How long, in seconds, before receiving response from server times out. Optional.
49
53
  #
50
54
  # @return [Google::Cloud::Storage::Project]
51
55
  #
@@ -64,10 +68,13 @@ module Google
64
68
  # readonly_scope = "https://www.googleapis.com/auth/devstorage.read_only"
65
69
  # readonly_storage = gcloud.storage scope: readonly_scope
66
70
  #
67
- def storage scope: nil, retries: nil, timeout: nil
71
+ def storage scope: nil, retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil
68
72
  Google::Cloud.storage @project, @keyfile, scope: scope,
69
73
  retries: (retries || @retries),
70
- timeout: (timeout || @timeout)
74
+ timeout: (timeout || @timeout),
75
+ open_timeout: (open_timeout || timeout),
76
+ read_timeout: (read_timeout || timeout),
77
+ send_timeout: (send_timeout || timeout)
71
78
  end
72
79
 
73
80
  ##
@@ -93,7 +100,11 @@ module Google
93
100
  # * `https://www.googleapis.com/auth/devstorage.full_control`
94
101
  # @param [Integer] retries Number of times to retry requests on server
95
102
  # error. The default value is `3`. Optional.
96
- # @param [Integer] timeout Default timeout to use in requests. Optional.
103
+ # @param [Integer] timeout (default timeout) The max duration, in seconds, to wait before timing out. Optional.
104
+ # If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol.
105
+ # @param [Integer] open_timeout How long, in seconds, before failed connections time out. Optional.
106
+ # @param [Integer] read_timeout How long, in seconds, before requests time out. Optional.
107
+ # @param [Integer] send_timeout How long, in seconds, before receiving response from server times out. Optional.
97
108
  #
98
109
  # @return [Google::Cloud::Storage::Project]
99
110
  #
@@ -107,12 +118,16 @@ module Google
107
118
  # file = bucket.file "path/to/my-file.ext"
108
119
  #
109
120
  def self.storage project_id = nil, credentials = nil, scope: nil,
110
- retries: nil, timeout: nil
121
+ retries: nil, timeout: nil, open_timeout: nil, read_timeout: nil, send_timeout: nil
111
122
  require "google/cloud/storage"
112
123
  Google::Cloud::Storage.new project_id: project_id,
113
124
  credentials: credentials,
114
- scope: scope, retries: retries,
115
- timeout: timeout
125
+ scope: scope,
126
+ retries: retries,
127
+ timeout: timeout,
128
+ open_timeout: (open_timeout || timeout),
129
+ read_timeout: (read_timeout || timeout),
130
+ send_timeout: (send_timeout || timeout)
116
131
  end
117
132
  end
118
133
  end
@@ -139,6 +154,9 @@ Google::Cloud.configure.add_config! :storage do |config|
139
154
  config.add_field! :quota_project, nil, match: String
140
155
  config.add_field! :retries, nil, match: Integer
141
156
  config.add_field! :timeout, nil, match: Integer
157
+ config.add_field! :open_timeout, nil, match: Integer
158
+ config.add_field! :read_timeout, nil, match: Integer
159
+ config.add_field! :send_timeout, nil, match: Integer
142
160
  # TODO: Remove once discovery document is updated.
143
161
  config.add_field! :endpoint, "https://storage.googleapis.com/", match: String
144
162
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.34.1
4
+ version: 1.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Moore
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-07-08 00:00:00.000000000 Z
12
+ date: 2021-12-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: google-cloud-core
@@ -93,14 +93,14 @@ dependencies:
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '2.5'
96
+ version: '2.8'
97
97
  type: :runtime
98
98
  prerelease: false
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.5'
103
+ version: '2.8'
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: mini_mime
106
106
  requirement: !ruby/object:Gem::Requirement