fog-google 1.19.0 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/integration-compute-core.yml +54 -0
- data/.github/workflows/integration-compute-instance_groups.yml +55 -0
- data/.github/workflows/integration-compute-loadbalancing.yml +54 -0
- data/.github/workflows/integration-compute-networking.yml +53 -0
- data/.github/workflows/integration-monitoring.yml +54 -0
- data/.github/workflows/integration-pubsub.yml +54 -0
- data/.github/workflows/integration-sql.yml +54 -0
- data/.github/workflows/integration-storage.yml +55 -0
- data/.github/workflows/stale.yml +2 -2
- data/.github/workflows/unit.yml +7 -2
- data/.ruby-version +1 -0
- data/CHANGELOG.md +112 -0
- data/README.md +3 -3
- data/examples/create_instance.rb +1 -1
- data/examples/create_instance_and_attach_disk_later.rb +86 -0
- data/examples/create_instance_with_attached_disk.rb +1 -1
- data/examples/get_list_images.rb +1 -1
- data/examples/load-balance.rb +1 -1
- data/examples/metadata.rb +1 -1
- data/examples/network.rb +1 -1
- data/fog-google.gemspec +12 -10
- data/lib/fog/compute/google/models/addresses.rb +17 -8
- data/lib/fog/compute/google/models/disk_types.rb +17 -7
- data/lib/fog/compute/google/models/disks.rb +23 -8
- data/lib/fog/compute/google/models/firewalls.rb +11 -2
- data/lib/fog/compute/google/models/forwarding_rules.rb +16 -10
- data/lib/fog/compute/google/models/global_addresses.rb +11 -2
- data/lib/fog/compute/google/models/global_forwarding_rules.rb +11 -2
- data/lib/fog/compute/google/models/http_health_checks.rb +12 -3
- data/lib/fog/compute/google/models/images.rb +15 -8
- data/lib/fog/compute/google/models/instance_group_managers.rb +17 -9
- data/lib/fog/compute/google/models/instance_groups.rb +16 -8
- data/lib/fog/compute/google/models/instance_templates.rb +12 -3
- data/lib/fog/compute/google/models/machine_types.rb +17 -8
- data/lib/fog/compute/google/models/networks.rb +12 -3
- data/lib/fog/compute/google/models/operations.rb +22 -8
- data/lib/fog/compute/google/models/regions.rb +12 -3
- data/lib/fog/compute/google/models/routes.rb +12 -3
- data/lib/fog/compute/google/models/server.rb +4 -4
- data/lib/fog/compute/google/models/servers.rb +23 -9
- data/lib/fog/compute/google/models/ssl_certificates.rb +12 -3
- data/lib/fog/compute/google/models/subnetworks.rb +16 -8
- data/lib/fog/compute/google/models/target_http_proxies.rb +12 -3
- data/lib/fog/compute/google/models/target_https_proxies.rb +12 -3
- data/lib/fog/compute/google/models/target_instances.rb +16 -8
- data/lib/fog/compute/google/models/target_pools.rb +16 -8
- data/lib/fog/compute/google/models/url_maps.rb +12 -3
- data/lib/fog/compute/google/models/zones.rb +12 -3
- data/lib/fog/compute/google/requests/insert_server.rb +1 -1
- data/lib/fog/compute/google/requests/stop_server.rb +2 -2
- data/lib/fog/google/shared.rb +9 -8
- data/lib/fog/google/version.rb +1 -1
- data/lib/fog/storage/google_json/models/file.rb +7 -2
- data/lib/fog/storage/google_json/real.rb +16 -7
- data/lib/fog/storage/google_json/utils.rb +3 -4
- data/lib/fog/storage/google_json.rb +1 -1
- data/test/helpers/integration_test_helper.rb +3 -3
- data/test/integration/compute/core_compute/test_servers.rb +86 -0
- data/test/integration/monitoring/test_timeseries.rb +29 -14
- data/test/integration/storage/test_objects.rb +1 -0
- data/test/unit/compute/test_common_collections.rb +1 -1
- data/test/unit/compute/test_common_models.rb +1 -1
- data/test/unit/compute/test_disk.rb +26 -0
- data/test/unit/compute/test_server.rb +1 -1
- data/test/unit/dns/test_common_collections.rb +1 -1
- data/test/unit/monitoring/test_comon_collections.rb +1 -1
- data/test/unit/pubsub/test_common_collections.rb +1 -1
- data/test/unit/sql/test_common_collections.rb +1 -1
- data/test/unit/storage/test_common_json_collections.rb +1 -1
- data/test/unit/storage/test_common_xml_collections.rb +1 -1
- data/test/unit/storage/test_json_requests.rb +9 -1
- data/test/unit/storage/test_xml_requests.rb +1 -1
- metadata +63 -26
- data/.github/workflows/integration.yml +0 -225
@@ -46,12 +46,18 @@ class TestMetricDescriptors < FogIntegrationTest
|
|
46
46
|
}
|
47
47
|
|
48
48
|
expected = _some_timeseries(start_time, metric_type, labels)
|
49
|
-
|
49
|
+
# Retrying since this is prone to errors in test environment due to
|
50
|
+
# constant creation/deletion of resources
|
51
|
+
resp = retry_on(Google::Apis::ServerError) do
|
52
|
+
@client.create_timeseries(:timeseries => [expected])
|
53
|
+
end
|
50
54
|
assert_empty(resp.to_h)
|
51
55
|
|
52
|
-
# Wait for
|
53
|
-
|
54
|
-
|
56
|
+
# Wait for TimeSeries to be created
|
57
|
+
# Google Monitoring backend is not exactly designed for synchronous retrieval so this retry is necessary
|
58
|
+
Fog.wait_for(30) do
|
59
|
+
begin
|
60
|
+
test_ts = @client.list_timeseries(
|
55
61
|
:filter => "metric.type = \"#{metric_type}\"",
|
56
62
|
:interval => {
|
57
63
|
# Subtracting one second because timeSeries.list API
|
@@ -60,7 +66,11 @@ class TestMetricDescriptors < FogIntegrationTest
|
|
60
66
|
:start_time => (start_time - 1).to_datetime.rfc3339,
|
61
67
|
:end_time => Time.now.to_datetime.rfc3339
|
62
68
|
}
|
63
|
-
|
69
|
+
).time_series
|
70
|
+
return !test_ts.nil?
|
71
|
+
rescue
|
72
|
+
return false
|
73
|
+
end
|
64
74
|
end
|
65
75
|
|
66
76
|
series = retry_on(Google::Apis::ClientError) do
|
@@ -109,6 +119,8 @@ class TestMetricDescriptors < FogIntegrationTest
|
|
109
119
|
_some_timeseries(start_time, metric_type, labels)
|
110
120
|
end
|
111
121
|
|
122
|
+
# Retrying since this is prone to errors in test environment due to
|
123
|
+
# constant creation/deletion of resources
|
112
124
|
retry_on(Google::Apis::ServerError) do
|
113
125
|
@client.create_timeseries(:timeseries => timeseries)
|
114
126
|
end
|
@@ -120,15 +132,18 @@ class TestMetricDescriptors < FogIntegrationTest
|
|
120
132
|
:end_time => Time.now.to_datetime.rfc3339
|
121
133
|
}
|
122
134
|
|
123
|
-
|
124
|
-
#
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
135
|
+
# Wait for TimeSeries to be created
|
136
|
+
# Google Monitoring backend is not exactly designed for synchronous retrieval so this retry is necessary
|
137
|
+
Fog.wait_for(30) do
|
138
|
+
begin
|
139
|
+
test_ts = @client.list_timeseries(
|
140
|
+
:filter => "metric.type = \"#{metric_type}\"",
|
141
|
+
:interval => interval
|
142
|
+
).time_series
|
143
|
+
return !test_ts.nil?
|
144
|
+
rescue
|
145
|
+
return false
|
146
|
+
end
|
132
147
|
end
|
133
148
|
|
134
149
|
# Test page size
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require "helpers/test_helper"
|
2
|
+
|
3
|
+
class UnitTestDisk < Minitest::Test
|
4
|
+
def setup
|
5
|
+
Fog.mock!
|
6
|
+
@client = Fog::Compute.new(provider: "google",
|
7
|
+
google_project: "foo")
|
8
|
+
end
|
9
|
+
|
10
|
+
def teardown
|
11
|
+
Fog.unmock!
|
12
|
+
end
|
13
|
+
|
14
|
+
def test_new_disk
|
15
|
+
disk = Fog::Compute::Google::Disk.new(
|
16
|
+
:name => "fog-1",
|
17
|
+
:size_gb => 10,
|
18
|
+
:zone => "us-central1-a",
|
19
|
+
:source_image => "debian-7-wheezy-v20131120"
|
20
|
+
)
|
21
|
+
assert_equal("fog-1", disk.name, "Fog::Compute::Google::Disk name is incorrect: #{disk.name}")
|
22
|
+
assert_equal(10, disk.size_gb, "Fog::Compute::Google::Disk size_gb is incorrect: #{disk.size_gb}")
|
23
|
+
assert_equal("us-central1-a", disk.zone, "Fog::Compute::Google::Disk zone is incorrect: #{disk.zone}")
|
24
|
+
assert_equal("debian-7-wheezy-v20131120", disk.source_image, "Fog::Compute::Google::Disk source_image is incorrect: #{disk.source_image}")
|
25
|
+
end
|
26
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "helpers/test_helper"
|
2
2
|
|
3
|
-
class UnitTestJsonRequests <
|
3
|
+
class UnitTestJsonRequests < Minitest::Test
|
4
4
|
def setup
|
5
5
|
Fog.mock!
|
6
6
|
@client = Fog::Storage.new(provider: "google",
|
@@ -49,4 +49,12 @@ class UnitTestJsonRequests < MiniTest::Test
|
|
49
49
|
assert_match(/a\/b\/c/, url,
|
50
50
|
"slashes should not be escaped with '%2F'")
|
51
51
|
end
|
52
|
+
|
53
|
+
def test_unescaped_pluses_in_url
|
54
|
+
url = @client.get_object_https_url("bucket",
|
55
|
+
"a+c.ext",
|
56
|
+
Time.now + 2 * 60)
|
57
|
+
assert_match(/a\+c/, url,
|
58
|
+
"pluses should not be escaped with '%2B'")
|
59
|
+
end
|
52
60
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-google
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.24.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nat Welch
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-04-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog-core
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "<"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '2.
|
20
|
+
version: '2.5'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "<"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '2.
|
27
|
+
version: '2.5'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: fog-json
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -57,128 +57,154 @@ dependencies:
|
|
57
57
|
name: google-apis-storage_v1
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- - "
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0.19'
|
63
|
+
- - "<"
|
61
64
|
- !ruby/object:Gem::Version
|
62
|
-
version: '
|
65
|
+
version: '1'
|
63
66
|
type: :runtime
|
64
67
|
prerelease: false
|
65
68
|
version_requirements: !ruby/object:Gem::Requirement
|
66
69
|
requirements:
|
67
|
-
- - "
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0.19'
|
73
|
+
- - "<"
|
68
74
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
75
|
+
version: '1'
|
70
76
|
- !ruby/object:Gem::Dependency
|
71
77
|
name: google-apis-iamcredentials_v1
|
72
78
|
requirement: !ruby/object:Gem::Requirement
|
73
79
|
requirements:
|
74
80
|
- - "~>"
|
75
81
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0.
|
82
|
+
version: '0.15'
|
77
83
|
type: :runtime
|
78
84
|
prerelease: false
|
79
85
|
version_requirements: !ruby/object:Gem::Requirement
|
80
86
|
requirements:
|
81
87
|
- - "~>"
|
82
88
|
- !ruby/object:Gem::Version
|
83
|
-
version: '0.
|
89
|
+
version: '0.15'
|
84
90
|
- !ruby/object:Gem::Dependency
|
85
91
|
name: google-apis-compute_v1
|
86
92
|
requirement: !ruby/object:Gem::Requirement
|
87
93
|
requirements:
|
88
94
|
- - "~>"
|
89
95
|
- !ruby/object:Gem::Version
|
90
|
-
version: '0.
|
96
|
+
version: '0.53'
|
91
97
|
type: :runtime
|
92
98
|
prerelease: false
|
93
99
|
version_requirements: !ruby/object:Gem::Requirement
|
94
100
|
requirements:
|
95
101
|
- - "~>"
|
96
102
|
- !ruby/object:Gem::Version
|
97
|
-
version: '0.
|
103
|
+
version: '0.53'
|
98
104
|
- !ruby/object:Gem::Dependency
|
99
105
|
name: google-apis-monitoring_v3
|
100
106
|
requirement: !ruby/object:Gem::Requirement
|
101
107
|
requirements:
|
102
108
|
- - "~>"
|
103
109
|
- !ruby/object:Gem::Version
|
104
|
-
version: '0.
|
110
|
+
version: '0.37'
|
105
111
|
type: :runtime
|
106
112
|
prerelease: false
|
107
113
|
version_requirements: !ruby/object:Gem::Requirement
|
108
114
|
requirements:
|
109
115
|
- - "~>"
|
110
116
|
- !ruby/object:Gem::Version
|
111
|
-
version: '0.
|
117
|
+
version: '0.37'
|
112
118
|
- !ruby/object:Gem::Dependency
|
113
119
|
name: google-apis-dns_v1
|
114
120
|
requirement: !ruby/object:Gem::Requirement
|
115
121
|
requirements:
|
116
122
|
- - "~>"
|
117
123
|
- !ruby/object:Gem::Version
|
118
|
-
version: '0.
|
124
|
+
version: '0.28'
|
119
125
|
type: :runtime
|
120
126
|
prerelease: false
|
121
127
|
version_requirements: !ruby/object:Gem::Requirement
|
122
128
|
requirements:
|
123
129
|
- - "~>"
|
124
130
|
- !ruby/object:Gem::Version
|
125
|
-
version: '0.
|
131
|
+
version: '0.28'
|
126
132
|
- !ruby/object:Gem::Dependency
|
127
133
|
name: google-apis-pubsub_v1
|
128
134
|
requirement: !ruby/object:Gem::Requirement
|
129
135
|
requirements:
|
130
136
|
- - "~>"
|
131
137
|
- !ruby/object:Gem::Version
|
132
|
-
version: '0.
|
138
|
+
version: '0.30'
|
133
139
|
type: :runtime
|
134
140
|
prerelease: false
|
135
141
|
version_requirements: !ruby/object:Gem::Requirement
|
136
142
|
requirements:
|
137
143
|
- - "~>"
|
138
144
|
- !ruby/object:Gem::Version
|
139
|
-
version: '0.
|
145
|
+
version: '0.30'
|
140
146
|
- !ruby/object:Gem::Dependency
|
141
147
|
name: google-apis-sqladmin_v1beta4
|
142
148
|
requirement: !ruby/object:Gem::Requirement
|
143
149
|
requirements:
|
144
150
|
- - "~>"
|
145
151
|
- !ruby/object:Gem::Version
|
146
|
-
version: '0.
|
152
|
+
version: '0.38'
|
147
153
|
type: :runtime
|
148
154
|
prerelease: false
|
149
155
|
version_requirements: !ruby/object:Gem::Requirement
|
150
156
|
requirements:
|
151
157
|
- - "~>"
|
152
158
|
- !ruby/object:Gem::Version
|
153
|
-
version: '0.
|
159
|
+
version: '0.38'
|
154
160
|
- !ruby/object:Gem::Dependency
|
155
161
|
name: google-cloud-env
|
156
162
|
requirement: !ruby/object:Gem::Requirement
|
157
163
|
requirements:
|
158
|
-
- - "
|
164
|
+
- - ">="
|
159
165
|
- !ruby/object:Gem::Version
|
160
166
|
version: '1.2'
|
167
|
+
- - "<"
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '3.0'
|
161
170
|
type: :runtime
|
162
171
|
prerelease: false
|
163
172
|
version_requirements: !ruby/object:Gem::Requirement
|
164
173
|
requirements:
|
165
|
-
- - "
|
174
|
+
- - ">="
|
166
175
|
- !ruby/object:Gem::Version
|
167
176
|
version: '1.2'
|
177
|
+
- - "<"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '3.0'
|
180
|
+
- !ruby/object:Gem::Dependency
|
181
|
+
name: addressable
|
182
|
+
requirement: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: 2.7.0
|
187
|
+
type: :runtime
|
188
|
+
prerelease: false
|
189
|
+
version_requirements: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 2.7.0
|
168
194
|
- !ruby/object:Gem::Dependency
|
169
195
|
name: pry
|
170
196
|
requirement: !ruby/object:Gem::Requirement
|
171
197
|
requirements:
|
172
198
|
- - '='
|
173
199
|
- !ruby/object:Gem::Version
|
174
|
-
version: 0.
|
200
|
+
version: 0.14.2
|
175
201
|
type: :development
|
176
202
|
prerelease: false
|
177
203
|
version_requirements: !ruby/object:Gem::Requirement
|
178
204
|
requirements:
|
179
205
|
- - '='
|
180
206
|
- !ruby/object:Gem::Version
|
181
|
-
version: 0.
|
207
|
+
version: 0.14.2
|
182
208
|
- !ruby/object:Gem::Dependency
|
183
209
|
name: retriable
|
184
210
|
requirement: !ruby/object:Gem::Requirement
|
@@ -291,13 +317,21 @@ files:
|
|
291
317
|
- ".fog.example"
|
292
318
|
- ".github/dependabot.yml"
|
293
319
|
- ".github/scripts/setup_creds.sh"
|
294
|
-
- ".github/workflows/integration.yml"
|
320
|
+
- ".github/workflows/integration-compute-core.yml"
|
321
|
+
- ".github/workflows/integration-compute-instance_groups.yml"
|
322
|
+
- ".github/workflows/integration-compute-loadbalancing.yml"
|
323
|
+
- ".github/workflows/integration-compute-networking.yml"
|
324
|
+
- ".github/workflows/integration-monitoring.yml"
|
325
|
+
- ".github/workflows/integration-pubsub.yml"
|
326
|
+
- ".github/workflows/integration-sql.yml"
|
327
|
+
- ".github/workflows/integration-storage.yml"
|
295
328
|
- ".github/workflows/stale.yml"
|
296
329
|
- ".github/workflows/unit.yml"
|
297
330
|
- ".gitignore"
|
298
331
|
- ".hound.yml"
|
299
332
|
- ".rubocop.yml"
|
300
333
|
- ".ruby-gemset"
|
334
|
+
- ".ruby-version"
|
301
335
|
- CHANGELOG.md
|
302
336
|
- CONTRIBUTING.md
|
303
337
|
- CONTRIBUTORS.md
|
@@ -310,6 +344,7 @@ files:
|
|
310
344
|
- examples/backend_services.rb
|
311
345
|
- examples/bootstrap.rb
|
312
346
|
- examples/create_instance.rb
|
347
|
+
- examples/create_instance_and_attach_disk_later.rb
|
313
348
|
- examples/create_instance_with_attached_disk.rb
|
314
349
|
- examples/dns/project.rb
|
315
350
|
- examples/dns/zones.rb
|
@@ -824,6 +859,7 @@ files:
|
|
824
859
|
- test/integration/test_authentication.rb
|
825
860
|
- test/unit/compute/test_common_collections.rb
|
826
861
|
- test/unit/compute/test_common_models.rb
|
862
|
+
- test/unit/compute/test_disk.rb
|
827
863
|
- test/unit/compute/test_server.rb
|
828
864
|
- test/unit/dns/test_common_collections.rb
|
829
865
|
- test/unit/monitoring/test_comon_collections.rb
|
@@ -852,7 +888,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
852
888
|
- !ruby/object:Gem::Version
|
853
889
|
version: '0'
|
854
890
|
requirements: []
|
855
|
-
rubygems_version: 3.
|
891
|
+
rubygems_version: 3.4.10
|
856
892
|
signing_key:
|
857
893
|
specification_version: 4
|
858
894
|
summary: Module for the 'fog' gem to support Google.
|
@@ -943,6 +979,7 @@ test_files:
|
|
943
979
|
- test/integration/test_authentication.rb
|
944
980
|
- test/unit/compute/test_common_collections.rb
|
945
981
|
- test/unit/compute/test_common_models.rb
|
982
|
+
- test/unit/compute/test_disk.rb
|
946
983
|
- test/unit/compute/test_server.rb
|
947
984
|
- test/unit/dns/test_common_collections.rb
|
948
985
|
- test/unit/monitoring/test_comon_collections.rb
|