fog-google 1.22.0 → 1.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/integration-compute-core.yml +1 -1
  3. data/.github/workflows/integration-compute-instance_groups.yml +1 -1
  4. data/.github/workflows/integration-compute-loadbalancing.yml +1 -1
  5. data/.github/workflows/integration-compute-networking.yml +1 -1
  6. data/.github/workflows/integration-monitoring.yml +1 -1
  7. data/.github/workflows/integration-pubsub.yml +1 -1
  8. data/.github/workflows/integration-sql.yml +1 -1
  9. data/.github/workflows/integration-storage.yml +1 -1
  10. data/.github/workflows/stale.yml +1 -1
  11. data/.github/workflows/unit.yml +1 -1
  12. data/CHANGELOG.md +17 -0
  13. data/lib/fog/compute/google/models/addresses.rb +17 -8
  14. data/lib/fog/compute/google/models/disk_types.rb +17 -7
  15. data/lib/fog/compute/google/models/disks.rb +17 -7
  16. data/lib/fog/compute/google/models/firewalls.rb +11 -2
  17. data/lib/fog/compute/google/models/forwarding_rules.rb +16 -10
  18. data/lib/fog/compute/google/models/global_addresses.rb +11 -2
  19. data/lib/fog/compute/google/models/global_forwarding_rules.rb +11 -2
  20. data/lib/fog/compute/google/models/http_health_checks.rb +12 -3
  21. data/lib/fog/compute/google/models/images.rb +15 -8
  22. data/lib/fog/compute/google/models/instance_group_managers.rb +17 -9
  23. data/lib/fog/compute/google/models/instance_groups.rb +16 -8
  24. data/lib/fog/compute/google/models/instance_templates.rb +12 -3
  25. data/lib/fog/compute/google/models/machine_types.rb +17 -8
  26. data/lib/fog/compute/google/models/networks.rb +12 -3
  27. data/lib/fog/compute/google/models/operations.rb +22 -8
  28. data/lib/fog/compute/google/models/regions.rb +12 -3
  29. data/lib/fog/compute/google/models/routes.rb +12 -3
  30. data/lib/fog/compute/google/models/servers.rb +22 -8
  31. data/lib/fog/compute/google/models/ssl_certificates.rb +12 -3
  32. data/lib/fog/compute/google/models/subnetworks.rb +16 -8
  33. data/lib/fog/compute/google/models/target_http_proxies.rb +12 -3
  34. data/lib/fog/compute/google/models/target_https_proxies.rb +12 -3
  35. data/lib/fog/compute/google/models/target_instances.rb +16 -8
  36. data/lib/fog/compute/google/models/target_pools.rb +16 -8
  37. data/lib/fog/compute/google/models/url_maps.rb +12 -3
  38. data/lib/fog/compute/google/models/zones.rb +12 -3
  39. data/lib/fog/google/version.rb +1 -1
  40. data/test/helpers/integration_test_helper.rb +1 -1
  41. data/test/unit/compute/test_common_collections.rb +1 -1
  42. data/test/unit/compute/test_common_models.rb +1 -1
  43. data/test/unit/compute/test_server.rb +1 -1
  44. data/test/unit/dns/test_common_collections.rb +1 -1
  45. data/test/unit/monitoring/test_comon_collections.rb +1 -1
  46. data/test/unit/pubsub/test_common_collections.rb +1 -1
  47. data/test/unit/sql/test_common_collections.rb +1 -1
  48. data/test/unit/storage/test_common_json_collections.rb +1 -1
  49. data/test/unit/storage/test_common_xml_collections.rb +1 -1
  50. data/test/unit/storage/test_json_requests.rb +1 -1
  51. data/test/unit/storage/test_xml_requests.rb +1 -1
  52. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e49aa08d9838df47172778f5e6564e4fe9c9c81d77d024815c4cb9152b3d1fa
4
- data.tar.gz: 39ae0f71215fe16c34d92a01722eff57a299bbeb03f132aff7057515b25a54cc
3
+ metadata.gz: c923150c130d5e8bd63bfca7a24b463c49265dd372adaee2329307da4e229c10
4
+ data.tar.gz: e77c879ff2bd76a160715760c5176d342cc5d803d89067df6d56e853a7d3b571
5
5
  SHA512:
6
- metadata.gz: 98c43a20f68c38596e455fea9c58fb2db26916a71c89da10773424d8a74a58819354e66e0a8f68f1eb7c571dd5cf6ae3f4e1cc6a2204504260451d7a12a3e43b
7
- data.tar.gz: 6e1996d144177a3fca9e582d4eb113e54e60016af45483dc9e8be0bc48370ba0f786dd4d811f862cd07775ef08d248e65f8e7504c5dc763b96ed863a7ec2dfcc
6
+ metadata.gz: 840ab70bf2250d8a4c6d6acbec60d0cb1d3d7d35383dfc2bbe5b2c58c659eb0f27253342f2a7cfd41358302f32079833dd98134d3024dfc300e7457e77c310f5
7
+ data.tar.gz: e8c451c49047a40730c6548677e5b3b5a93451ae05f7d88fbdb768b70815a65654e3a46e47b0b1add021d6443da5b8ef1ec941d2b05e9010cf31580f1dc59992
@@ -33,7 +33,7 @@ jobs:
33
33
  max-parallel: 1
34
34
 
35
35
  steps:
36
- - uses: actions/checkout@v3
36
+ - uses: actions/checkout@v4
37
37
  - name: Set up Ruby
38
38
  uses: ruby/setup-ruby@v1
39
39
  with:
@@ -33,7 +33,7 @@ jobs:
33
33
  max-parallel: 1
34
34
 
35
35
  steps:
36
- - uses: actions/checkout@v3
36
+ - uses: actions/checkout@v4
37
37
  - name: Set up Ruby
38
38
  uses: ruby/setup-ruby@v1
39
39
  with:
@@ -33,7 +33,7 @@ jobs:
33
33
  max-parallel: 1
34
34
 
35
35
  steps:
36
- - uses: actions/checkout@v3
36
+ - uses: actions/checkout@v4
37
37
  - name: Set up Ruby
38
38
  uses: ruby/setup-ruby@v1
39
39
  with:
@@ -33,7 +33,7 @@ jobs:
33
33
  max-parallel: 1
34
34
 
35
35
  steps:
36
- - uses: actions/checkout@v3
36
+ - uses: actions/checkout@v4
37
37
  - name: Set up Ruby
38
38
  uses: ruby/setup-ruby@v1
39
39
  with:
@@ -34,7 +34,7 @@ jobs:
34
34
  max-parallel: 1
35
35
 
36
36
  steps:
37
- - uses: actions/checkout@v3
37
+ - uses: actions/checkout@v4
38
38
  - name: Set up Ruby
39
39
  uses: ruby/setup-ruby@v1
40
40
  with:
@@ -34,7 +34,7 @@ jobs:
34
34
  max-parallel: 1
35
35
 
36
36
  steps:
37
- - uses: actions/checkout@v3
37
+ - uses: actions/checkout@v4
38
38
  - name: Set up Ruby
39
39
  uses: ruby/setup-ruby@v1
40
40
  with:
@@ -34,7 +34,7 @@ jobs:
34
34
  max-parallel: 1
35
35
 
36
36
  steps:
37
- - uses: actions/checkout@v3
37
+ - uses: actions/checkout@v4
38
38
  - name: Set up Ruby
39
39
  uses: ruby/setup-ruby@v1
40
40
  with:
@@ -35,7 +35,7 @@ jobs:
35
35
  max-parallel: 1
36
36
 
37
37
  steps:
38
- - uses: actions/checkout@v3
38
+ - uses: actions/checkout@v4
39
39
  - name: Set up Ruby
40
40
  uses: ruby/setup-ruby@v1
41
41
  with:
@@ -10,7 +10,7 @@ jobs:
10
10
  runs-on: ubuntu-latest
11
11
 
12
12
  steps:
13
- - uses: actions/stale@v7
13
+ - uses: actions/stale@v8
14
14
  with:
15
15
  repo-token: ${{ secrets.GITHUB_TOKEN }}
16
16
  days-before-stale: 360
@@ -14,7 +14,7 @@ jobs:
14
14
  ruby-version: ['2.7', '3.0', '3.1', 'head', 'truffleruby-head']
15
15
 
16
16
  steps:
17
- - uses: actions/checkout@v3
17
+ - uses: actions/checkout@v4
18
18
  - name: Set up Ruby
19
19
  uses: ruby/setup-ruby@v1
20
20
  with:
data/CHANGELOG.md CHANGED
@@ -6,6 +6,23 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
6
6
 
7
7
  ## Next
8
8
 
9
+ ## 1.23.0
10
+
11
+ ### User-facing
12
+
13
+ #### Fixed
14
+
15
+ - #609 Fixed missing paging on all models [agrare]
16
+ - #608 Fixed `Fog::Compute::Google::Servers#all` paging [agrare]
17
+
18
+ ### Development changes
19
+
20
+ #### Fixed
21
+
22
+ - #606 Use `Minitest::Test` instead of `MiniTest::Test` [chubchenko]
23
+ - #605 Bump actions/checkout from 3 to 4 [dependabot]
24
+ - #602 Bump actions/stale from 6 to 8 [dependabot]
25
+
9
26
  ## 1.22.0
10
27
 
11
28
  ### User-facing
@@ -11,16 +11,25 @@ module Fog
11
11
  :order_by => order_by,
12
12
  :page_token => page_token
13
13
  }
14
-
15
- if region
16
- data = service.list_addresses(region, **opts).items || []
17
- else
18
- data = []
19
- service.list_aggregated_addresses(**opts).items.each_value do |scoped_list|
20
- data.concat(scoped_list.addresses) if scoped_list && scoped_list.addresses
14
+ items = []
15
+ next_page_token = nil
16
+ loop do
17
+ if region
18
+ data = service.list_addresses(region, **opts)
19
+ next_items = data.items || []
20
+ items.concat(next_items)
21
+ next_page_token = data.next_page_token
22
+ else
23
+ data = service.list_aggregated_addresses(**opts)
24
+ data.items.each_value do |scoped_list|
25
+ items.concat(scoped_list.addresses) if scoped_list && scoped_list.addresses
26
+ end
27
+ next_page_token = data.next_page_token
21
28
  end
29
+ break if next_page_token.nil? || next_page_token.empty?
30
+ opts[:page_token] = next_page_token
22
31
  end
23
- load(data.map(&:to_h))
32
+ load(items.map(&:to_h))
24
33
  end
25
34
 
26
35
  def get(identity, region = nil)
@@ -12,15 +12,25 @@ module Fog
12
12
  :order_by => order_by,
13
13
  :page_token => page_token
14
14
  }
15
- if zone
16
- data = service.list_disk_types(zone, **opts).items
17
- else
18
- data = []
19
- service.list_aggregated_disk_types(**opts).items.each_value do |scoped_lst|
20
- data.concat(scoped_lst.disk_types) if scoped_lst && scoped_lst.disk_types
15
+ items = []
16
+ next_page_token = nil
17
+ loop do
18
+ if zone
19
+ data = service.list_disk_types(zone, **opts)
20
+ next_items = data.items || []
21
+ items.concat(next_items)
22
+ next_page_token = data.next_page_token
23
+ else
24
+ data = service.list_aggregated_disk_types(**opts)
25
+ data.items.each_value do |scoped_lst|
26
+ items.concat(scoped_lst.disk_types) if scoped_lst && scoped_lst.disk_types
27
+ end
28
+ next_page_token = data.next_page_token
21
29
  end
30
+ break if next_page_token.nil? || next_page_token.empty?
31
+ opts[:page_token] = next_page_token
22
32
  end
23
- load(data.map(&:to_h))
33
+ load(items.map(&:to_h))
24
34
  end
25
35
 
26
36
  def get(identity, zone = nil)
@@ -12,15 +12,25 @@ module Fog
12
12
  :order_by => order_by,
13
13
  :page_token => page_token
14
14
  }
15
- if zone
16
- data = service.list_disks(zone, **opts).items || []
17
- else
18
- data = []
19
- service.list_aggregated_disks(**opts).items.each_value do |scoped_list|
20
- data.concat(scoped_list.disks) if scoped_list.disks
15
+ items = []
16
+ next_page_token = nil
17
+ loop do
18
+ if zone
19
+ data = service.list_disks(zone, **opts)
20
+ next_items = data.items || []
21
+ items.concat(next_items)
22
+ next_page_token = data.next_page_token
23
+ else
24
+ data = service.list_aggregated_disks(**opts)
25
+ data.items.each_value do |scoped_list|
26
+ items.concat(scoped_list.disks) if scoped_list && scoped_list.disks
27
+ end
28
+ next_page_token = data.next_page_token
21
29
  end
30
+ break if next_page_token.nil? || next_page_token.empty?
31
+ opts[:page_token] = next_page_token
22
32
  end
23
- load(data.map(&:to_h))
33
+ load(items.map(&:to_h))
24
34
  end
25
35
 
26
36
  def get(identity, zone = nil)
@@ -5,8 +5,17 @@ module Fog
5
5
  model Fog::Compute::Google::Firewall
6
6
 
7
7
  def all(opts = {})
8
- data = service.list_firewalls(**opts).to_h[:items]
9
- load(data || [])
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_firewalls(**opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -11,19 +11,25 @@ module Fog
11
11
  :order_by => order_by,
12
12
  :page_token => page_token
13
13
  }
14
-
15
- if region
16
- data = service.list_forwarding_rules(region, **opts).items || []
17
- else
18
- data = []
19
- service.list_aggregated_forwarding_rules(**opts).items
20
- .each_value do |scoped_list|
21
- if scoped_list && scoped_list.forwarding_rules
22
- data.concat(scoped_list.forwarding_rules)
14
+ items = []
15
+ next_page_token = nil
16
+ loop do
17
+ if region
18
+ data = service.list_forwarding_rules(region, **opts)
19
+ next_items = data.items || []
20
+ items.concat(next_items)
21
+ next_page_token = data.next_page_token
22
+ else
23
+ data = service.list_aggregated_forwarding_rules(**opts)
24
+ data.items.each_value do |scoped_list|
25
+ items.concat(scoped_list.forwarding_rules) if scoped_list && scoped_list.forwarding_rules
23
26
  end
27
+ next_page_token = data.next_page_token
24
28
  end
29
+ break if next_page_token.nil? || next_page_token.empty?
30
+ opts[:page_token] = next_page_token
25
31
  end
26
- load(data.map(&:to_h))
32
+ load(items.map(&:to_h))
27
33
  end
28
34
 
29
35
  def get(identity, region = nil)
@@ -5,8 +5,17 @@ module Fog
5
5
  model Fog::Compute::Google::GlobalAddress
6
6
 
7
7
  def all(options = {})
8
- data = service.list_global_addresses(**options).to_h[:items] || []
9
- load(data)
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_global_addresses(**options)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ options[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -5,8 +5,17 @@ module Fog
5
5
  model Fog::Compute::Google::GlobalForwardingRule
6
6
 
7
7
  def all(opts = {})
8
- data = service.list_global_forwarding_rules(**opts).to_h[:items] || []
9
- load(data)
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_global_forwarding_rules(**opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -4,9 +4,18 @@ module Fog
4
4
  class HttpHealthChecks < Fog::Collection
5
5
  model Fog::Compute::Google::HttpHealthCheck
6
6
 
7
- def all(_filters = {})
8
- data = service.list_http_health_checks.to_h[:items] || []
9
- load(data)
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_http_health_checks(**opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -24,12 +24,21 @@ module Fog
24
24
  windows-sql-cloud
25
25
  ).freeze
26
26
 
27
- def all
28
- data = all_projects.map do |project|
27
+ def all(opts = {})
28
+ items = []
29
+ all_projects.each do |project|
29
30
  begin
30
- images = service.list_images(project).items || []
31
- # Keep track of the project in which we found the image(s)
32
- images.map { |img| img.to_h.merge(:project => project) }
31
+ next_page_token = nil
32
+ loop do
33
+ opts[:page_token] = next_page_token
34
+ data = service.list_images(project, **opts)
35
+ images = data.items&.map(&:to_h) || []
36
+ # Keep track of the project in which we found the image(s)
37
+ images.each { |img| img.merge!(:project => project) }
38
+ items.concat(images)
39
+ next_page_token = data.next_page_token
40
+ break if next_page_token.nil? || next_page_token.empty?
41
+ end
33
42
  rescue ::Google::Apis::ClientError => e
34
43
  raise e unless e.status_code == 404
35
44
  # Not everyone has access to every Global Project. Requests
@@ -37,9 +46,7 @@ module Fog
37
46
  next
38
47
  end
39
48
  end
40
- data = data.flatten
41
-
42
- load(data)
49
+ load(items)
43
50
  end
44
51
 
45
52
  # Only return the non-deprecated list of images
@@ -12,17 +12,25 @@ module Fog
12
12
  :order_by => order_by,
13
13
  :page_token => page_token
14
14
  }
15
-
16
- if zone
17
- data = service.list_instance_group_managers(zone, **opts).items || []
18
- else
19
- data = []
20
- service.list_aggregated_instance_group_managers(**opts).items.each_value do |group|
21
- data.concat(group.instance_group_managers) if group.instance_group_managers
15
+ items = []
16
+ next_page_token = nil
17
+ loop do
18
+ if zone
19
+ data = service.list_instance_group_managers(zone, **opts)
20
+ next_items = data.items || []
21
+ items.concat(next_items)
22
+ next_page_token = data.next_page_token
23
+ else
24
+ data = service.list_aggregated_instance_group_managers(**opts)
25
+ data.items.each_value do |group|
26
+ items.concat(group.instance_group_managers) if group && group.instance_group_managers
27
+ end
28
+ next_page_token = data.next_page_token
22
29
  end
30
+ break if next_page_token.nil? || next_page_token.empty?
31
+ opts[:page_token] = next_page_token
23
32
  end
24
-
25
- load(data.map(&:to_h))
33
+ load(items.map(&:to_h))
26
34
  end
27
35
 
28
36
  def get(identity, zone = nil)
@@ -11,17 +11,25 @@ module Fog
11
11
  :order_by => order_by,
12
12
  :page_token => page_token
13
13
  }
14
-
15
- if zone
16
- data = service.list_instance_groups(zone).items || []
17
- else
18
- data = []
19
- service.list_aggregated_instance_groups(opts).items.each_value do |group|
20
- data.concat(group.instance_groups) if group && group.instance_groups
14
+ items = []
15
+ next_page_token = nil
16
+ loop do
17
+ if zone
18
+ data = service.list_instance_groups(zone)
19
+ next_items = data.items || []
20
+ items.concat(next_items)
21
+ else
22
+ data = service.list_aggregated_instance_groups(opts)
23
+ data.items.each_value do |group|
24
+ items.concat(group.instance_groups) if group && group.instance_groups
25
+ end
26
+ next_page_token = data.next_page_token
21
27
  end
28
+ break if next_page_token.nil? || next_page_token.empty?
29
+ opts[:page_token] = next_page_token
22
30
  end
23
31
 
24
- load(data.map(&:to_h))
32
+ load(items.map(&:to_h))
25
33
  end
26
34
 
27
35
  def get(identity, zone = nil)
@@ -4,9 +4,18 @@ module Fog
4
4
  class InstanceTemplates < Fog::Collection
5
5
  model Fog::Compute::Google::InstanceTemplate
6
6
 
7
- def all
8
- data = service.list_instance_templates.items || []
9
- load(data.map(&:to_h))
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_instance_templates(**opts)
12
+ next_items = data.items || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items.map(&:to_h))
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -11,16 +11,25 @@ module Fog
11
11
  :order_by => order_by,
12
12
  :page_token => page_token
13
13
  }
14
-
15
- if zone
16
- data = service.list_machine_types(zone, **opts).items
17
- else
18
- data = []
19
- service.list_aggregated_machine_types(**opts).items.each_value do |scoped_list|
20
- data.concat(scoped_list.machine_types) if scoped_list && scoped_list.machine_types
14
+ items = []
15
+ next_page_token = nil
16
+ loop do
17
+ if zone
18
+ data = service.list_machine_types(zone, **opts)
19
+ next_items = data.items || []
20
+ items.concat(next_items)
21
+ next_page_token = data.next_page_token
22
+ else
23
+ data = service.list_aggregated_machine_types(**opts)
24
+ data.items.each_value do |scoped_list|
25
+ items.concat(scoped_list.machine_types) if scoped_list && scoped_list.machine_types
26
+ end
27
+ next_page_token = data.next_page_token
21
28
  end
29
+ break if next_page_token.nil? || next_page_token.empty?
30
+ opts[:page_token] = next_page_token
22
31
  end
23
- load(data.map(&:to_h) || [])
32
+ load(items.map(&:to_h) || [])
24
33
  end
25
34
 
26
35
  def get(identity, zone = nil)
@@ -4,9 +4,18 @@ module Fog
4
4
  class Networks < Fog::Collection
5
5
  model Fog::Compute::Google::Network
6
6
 
7
- def all
8
- data = service.list_networks.to_h[:items]
9
- load(data || [])
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_networks(**opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -12,16 +12,30 @@ module Fog
12
12
  :order_by => order_by,
13
13
  :page_token => page_token
14
14
  }
15
-
16
- if zone
17
- data = service.list_zone_operations(zone, **opts).to_h[:items]
18
- elsif region
19
- data = service.list_region_operations(region, **opts).to_h[:items]
20
- else
21
- data = service.list_global_operations(**opts).to_h[:items]
15
+ items = []
16
+ next_page_token = nil
17
+ loop do
18
+ if zone
19
+ data = service.list_zone_operations(zone, **opts)
20
+ next_items = data.to_h[:items] || []
21
+ items.concat(next_items)
22
+ next_page_token = data.next_page_token
23
+ elsif region
24
+ data = service.list_region_operations(region, **opts)
25
+ next_items = data.to_h[:items] || []
26
+ items.concat(next_items)
27
+ next_page_token = data.next_page_token
28
+ else
29
+ data = service.list_global_operations(**opts)
30
+ next_items = data.to_h[:items] || []
31
+ items.concat(next_items)
32
+ next_page_token = data.next_page_token
33
+ end
34
+ break if next_page_token.nil? || next_page_token.empty?
35
+ opts[:page_token] = next_page_token
22
36
  end
23
37
 
24
- load(data || [])
38
+ load(items)
25
39
  end
26
40
 
27
41
  def get(identity, zone = nil, region = nil)
@@ -4,9 +4,18 @@ module Fog
4
4
  class Regions < Fog::Collection
5
5
  model Fog::Compute::Google::Region
6
6
 
7
- def all
8
- data = service.list_regions.to_h
9
- load(data[:items] || [])
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_regions(**opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -4,9 +4,18 @@ module Fog
4
4
  class Routes < Fog::Collection
5
5
  model Fog::Compute::Google::Route
6
6
 
7
- def all
8
- data = service.list_routes.to_h
9
- load(data[:items] || [])
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_routes(**opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -13,17 +13,31 @@ module Fog
13
13
  :page_token => page_token
14
14
  }
15
15
 
16
- if zone
17
- data = service.list_servers(zone, **opts).to_h[:items] || []
18
- else
19
- data = []
20
- service.list_aggregated_servers(**opts).items.each_value do |scoped_lst|
21
- if scoped_lst && scoped_lst.instances
22
- data.concat(scoped_lst.instances.map(&:to_h))
16
+ items = []
17
+ next_page_token = nil
18
+
19
+ loop do
20
+ if zone
21
+ data = service.list_servers(zone, **opts)
22
+ next_items = data.to_h[:items] || []
23
+ items.concat(next_items)
24
+ next_page_token = data.next_page_token
25
+ else
26
+ data = service.list_aggregated_servers(**opts)
27
+ data.items.each_value do |scoped_lst|
28
+ if scoped_lst && scoped_lst.instances
29
+ items.concat(scoped_lst.instances.map(&:to_h))
30
+ end
23
31
  end
32
+ next_page_token = data.next_page_token
24
33
  end
34
+
35
+ break if next_page_token.nil? || next_page_token.empty?
36
+
37
+ opts[:page_token] = next_page_token
25
38
  end
26
- load(data)
39
+
40
+ load(items)
27
41
  end
28
42
 
29
43
  # TODO: This method needs to take self_links as well as names
@@ -14,9 +14,18 @@ module Fog
14
14
  nil
15
15
  end
16
16
 
17
- def all(_filters = {})
18
- data = service.list_ssl_certificates.to_h[:items] || []
19
- load(data)
17
+ def all(opts = {})
18
+ items = []
19
+ next_page_token = nil
20
+ loop do
21
+ data = service.list_ssl_certificates(**opts)
22
+ next_items = data.to_h[:items] || []
23
+ items.concat(next_items)
24
+ next_page_token = data.next_page_token
25
+ break if next_page_token.nil? || next_page_token.empty?
26
+ opts[:page_token] = next_page_token
27
+ end
28
+ load(items)
20
29
  end
21
30
  end
22
31
  end
@@ -11,16 +11,24 @@ module Fog
11
11
  :order_by => order_by,
12
12
  :page_token => page_token
13
13
  }
14
-
15
- if region
16
- data = service.list_subnetworks(region, **filters).to_h[:items] || []
17
- else
18
- data = []
19
- service.list_aggregated_subnetworks(**filters).to_h[:items].each_value do |region_obj|
20
- data.concat(region_obj[:subnetworks]) if region_obj[:subnetworks]
14
+ items = []
15
+ next_page_token = nil
16
+ loop do
17
+ if region
18
+ data = service.list_subnetworks(region, **filters)
19
+ next_items = data.items || []
20
+ items.concat(next_items)
21
+ next_page_token = data.next_page_token
22
+ else
23
+ data = service.list_aggregated_subnetworks(**filters)
24
+ data.items.each_value do |region_obj|
25
+ items.concat(region_obj.subnetworks) if region_obj && region_obj.subnetworks
26
+ end
21
27
  end
28
+ break if next_page_token.nil? || next_page_token.empty?
29
+ filters[:page_token] = next_page_token
22
30
  end
23
- load(data)
31
+ load(items.map(&:to_h))
24
32
  end
25
33
 
26
34
  def get(identity, region = nil)
@@ -4,9 +4,18 @@ module Fog
4
4
  class TargetHttpProxies < Fog::Collection
5
5
  model Fog::Compute::Google::TargetHttpProxy
6
6
 
7
- def all(_filters = {})
8
- data = service.list_target_http_proxies.to_h[:items] || []
9
- load(data)
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_target_http_proxies(*opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -4,9 +4,18 @@ module Fog
4
4
  class TargetHttpsProxies < Fog::Collection
5
5
  model Fog::Compute::Google::TargetHttpsProxy
6
6
 
7
- def all(_filters = {})
8
- data = service.list_target_https_proxies.to_h[:items] || []
9
- load(data)
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_target_https_proxies(**opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -13,17 +13,25 @@ module Fog
13
13
  :page_token => page_token
14
14
  }
15
15
 
16
- if zone
17
- data = service.list_target_instances(zone, **opts).to_h[:items] || []
18
- else
19
- data = []
20
- service.list_aggregated_target_instances(**opts).items.each_value do |scoped_list|
21
- unless scoped_list.nil? || scoped_list.target_instances.nil?
22
- data += scoped_list.target_instances.map(&:to_h)
16
+ items = []
17
+ next_page_token = nil
18
+ loop do
19
+ if zone
20
+ data = service.list_target_instances(zone, **opts)
21
+ next_items = data.to_h[:items] || []
22
+ items.concat(next_items)
23
+ next_page_token = data.next_page_token
24
+ else
25
+ data = service.list_aggregated_target_instances(**opts)
26
+ data.items.each_value do |scoped_list|
27
+ items.concat(scoped_list.target_instances.map(&:to_h)) if scoped_list && scoped_list.target_instances
23
28
  end
29
+ next_page_token = data.next_page_token
24
30
  end
31
+ break if next_page_token.nil? || next_page_token.empty?
32
+ opts[:page_token] = next_page_token
25
33
  end
26
- load(data)
34
+ load(items)
27
35
  end
28
36
 
29
37
  def get(identity, zone = nil)
@@ -11,17 +11,25 @@ module Fog
11
11
  :order_by => order_by,
12
12
  :page_token => page_token
13
13
  }
14
- if region.nil?
15
- data = []
16
- service.list_aggregated_target_pools(**opts).items.each_value do |lst|
17
- unless lst.nil? || lst.target_pools.nil?
18
- data += lst.to_h[:target_pools]
14
+ items = []
15
+ next_page_token = nil
16
+ loop do
17
+ if region.nil?
18
+ data = service.list_aggregated_target_pools(**opts)
19
+ data.items.each_value do |lst|
20
+ items.concat(lst.to_h[:target_pools]) if lst && lst.target_pools
19
21
  end
22
+ next_page_token = data.next_page_token
23
+ else
24
+ data = service.list_target_pools(region, **opts)
25
+ next_items = data.to_h[:items] || []
26
+ items.concat(next_items)
27
+ next_page_token = data.next_page_token
20
28
  end
21
- else
22
- data = service.list_target_pools(region, **opts).to_h[:items]
29
+ break if next_page_token.nil? || next_page_token.empty?
30
+ opts[:page_token] = next_page_token
23
31
  end
24
- load(data)
32
+ load(items)
25
33
  end
26
34
 
27
35
  def get(identity, region = nil)
@@ -4,9 +4,18 @@ module Fog
4
4
  class UrlMaps < Fog::Collection
5
5
  model Fog::Compute::Google::UrlMap
6
6
 
7
- def all
8
- data = service.list_url_maps.to_h[:items] || []
9
- load(data)
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_url_maps(**opts)
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -4,9 +4,18 @@ module Fog
4
4
  class Zones < Fog::Collection
5
5
  model Fog::Compute::Google::Zone
6
6
 
7
- def all
8
- data = service.list_zones.to_h[:items] || []
9
- load(data)
7
+ def all(opts = {})
8
+ items = []
9
+ next_page_token = nil
10
+ loop do
11
+ data = service.list_zones
12
+ next_items = data.to_h[:items] || []
13
+ items.concat(next_items)
14
+ next_page_token = data.next_page_token
15
+ break if next_page_token.nil? || next_page_token.empty?
16
+ opts[:page_token] = next_page_token
17
+ end
18
+ load(items)
10
19
  end
11
20
 
12
21
  def get(identity)
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Google
3
- VERSION = "1.22.0".freeze
3
+ VERSION = "1.23.0".freeze
4
4
  end
5
5
  end
@@ -93,7 +93,7 @@ KEY
93
93
  RETRIABLE_TRIES = 3
94
94
  RETRIABLE_BASE_INTERVAL = 50
95
95
 
96
- class FogIntegrationTest < MiniTest::Test
96
+ class FogIntegrationTest < Minitest::Test
97
97
  def namespaced_name
98
98
  "#{self.class}_#{name}"
99
99
  end
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestCollections < MiniTest::Test
3
+ class UnitTestCollections < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
 
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestModels < MiniTest::Test
3
+ class UnitTestModels < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Compute.new(provider: "google",
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestServer < MiniTest::Test
3
+ class UnitTestServer < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Compute.new(provider: "google",
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestDNSCollections < MiniTest::Test
3
+ class UnitTestDNSCollections < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::DNS.new(provider: "google",
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestMonitoringCollections < MiniTest::Test
3
+ class UnitTestMonitoringCollections < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Monitoring.new(provider: "google",
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestPubsubCollections < MiniTest::Test
3
+ class UnitTestPubsubCollections < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Google::Pubsub.new(google_project: "foo")
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestSQLCollections < MiniTest::Test
3
+ class UnitTestSQLCollections < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Google::SQL.new(google_project: "foo")
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestStorageJSONCollections < MiniTest::Test
3
+ class UnitTestStorageJSONCollections < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Storage.new(provider: "google",
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestStorageXMLCollections < MiniTest::Test
3
+ class UnitTestStorageXMLCollections < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Storage.new(provider: "google",
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestJsonRequests < MiniTest::Test
3
+ class UnitTestJsonRequests < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Storage.new(provider: "google",
@@ -1,6 +1,6 @@
1
1
  require "helpers/test_helper"
2
2
 
3
- class UnitTestXMLRequests < MiniTest::Test
3
+ class UnitTestXMLRequests < Minitest::Test
4
4
  def setup
5
5
  Fog.mock!
6
6
  @client = Fog::Storage.new(provider: "google",
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.22.0
4
+ version: 1.23.0
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: 2023-08-10 00:00:00.000000000 Z
12
+ date: 2023-12-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog-core