fog-google 1.22.0 → 1.23.0

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.
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