fog-google 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -1
  3. data/lib/fog/compute/google.rb +20 -0
  4. data/lib/fog/compute/google/models/images.rb +0 -1
  5. data/lib/fog/compute/google/models/instance_group_manager.rb +51 -0
  6. data/lib/fog/compute/google/models/instance_group_managers.rb +42 -0
  7. data/lib/fog/compute/google/models/instance_template.rb +47 -0
  8. data/lib/fog/compute/google/models/instance_templates.rb +23 -0
  9. data/lib/fog/compute/google/requests/abandon_instances.rb +26 -0
  10. data/lib/fog/compute/google/requests/delete_instance_group_manager.rb +17 -0
  11. data/lib/fog/compute/google/requests/delete_instance_template.rb +17 -0
  12. data/lib/fog/compute/google/requests/get_instance_group_manager.rb +17 -0
  13. data/lib/fog/compute/google/requests/get_instance_template.rb +17 -0
  14. data/lib/fog/compute/google/requests/insert_instance_group_manager.rb +29 -0
  15. data/lib/fog/compute/google/requests/insert_instance_template.rb +36 -0
  16. data/lib/fog/compute/google/requests/list_aggregated_instance_group_managers.rb +24 -0
  17. data/lib/fog/compute/google/requests/list_instance_group_managers.rb +20 -0
  18. data/lib/fog/compute/google/requests/list_instance_templates.rb +24 -0
  19. data/lib/fog/compute/google/requests/recreate_instances.rb +26 -0
  20. data/lib/fog/compute/google/requests/set_instance_template.rb +26 -0
  21. data/lib/fog/google/version.rb +1 -1
  22. data/test/integration/compute/test_instance_group_managers.rb +11 -0
  23. data/test/integration/compute/test_instance_templates.rb +11 -0
  24. data/test/integration/factories/instance_group_manager_factory.rb +22 -0
  25. data/test/integration/factories/instance_template_factory.rb +23 -0
  26. metadata +26 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25f56693e0f8c005b505e5e23f0204d1b75fd266
4
- data.tar.gz: 8df393b29cf36efd2326f9304aef1863b1333b4e
3
+ metadata.gz: 95802f48e4fa5a610c96521c65d0a9bb2b33ce54
4
+ data.tar.gz: 6ae1e7e9a6c7ed8a5a05736857219a6144a4e443
5
5
  SHA512:
6
- metadata.gz: b95a1e585ae9ba8955cbb83cd750947b298b38460b2f0ad36359d499824ad0223ad1bc48d98f1ee2a2092ab217d668a99a42e3b1807d2f8401eb2999eef53e8c
7
- data.tar.gz: 4059adc10b104329118784615ae0121f2af762ee1816d206ef05a0b8bb80c9fd60cdb882a7e6969db76043d52d7135ec8d8d0934e1ef95ada3c3303328863320
6
+ metadata.gz: 9b8f524b235aaf667a4ecaf256a19ca038de9ca6db80e486a29c805dabc73d0cc5b2b95f6a5b17198c268c193a3939825ba6182f6122946ef2ba0ff5bb617c62
7
+ data.tar.gz: cfa889ab0a734fd5165447f4b7b8234c14287f0e87f2ebae833fa9b34d355f218dcdca6abc89923af196b79c6f6c7ce9ab8c641021699e2a296488e37d144d41
data/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  The format is loosely based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
4
4
 
5
+ ## 1.5.0
6
+
7
+ ### User-facing
8
+
9
+ - \#348 Added Instance Group Manager and Instance Templates [bpaquet]
10
+
11
+ - `Fog::Compute::Google::InstanceGroupManager` model and associated requests:
12
+ - `:get_instance_group_manager`
13
+ - `:insert_instance_group_manager`
14
+ - `:delete_instance_group_manager`
15
+ - `:list_instance_group_managers`
16
+ - `:list_aggregated_instance_group_managers`
17
+ - `:recreate_instances`
18
+ - `:abandon_instances`
19
+
20
+ - `Fog::Compute::Google::InstanceTemplate` model and associated requests:
21
+ - `:list_instance_templates`
22
+ - `:get_instance_template`
23
+ - `:insert_instance_template`
24
+ - `:delete_instance_template`
25
+ - `:set_instance_template`
26
+
27
+ #### Fixed
28
+
29
+ - \#356 Hotfix - removing buggy deprecated 'google-containers' project, causing 403 errors
30
+ on `images.all` call. [tumido]
31
+
32
+ ### Development changes
33
+
34
+ #### Added
35
+
36
+ - \#350 Added InstanceGroupManager and InstanceTemplate integration tests [temikus]
37
+
5
38
  ## 1.4.0
6
39
 
7
40
  ### User-facing
@@ -76,4 +109,4 @@ PRs that change functionality: #212, #215, #203, #198, #201, #221, #222, #216
76
109
  ## 0.5.2
77
110
 
78
111
  Rapid-releasing 0.5.2 due to regression fixed by #190 still present in v0.5.1
79
- We encourage people using 0.5.1 to upgrade.
112
+ We encourage people using 0.5.1 to upgrade.
@@ -196,6 +196,20 @@ module Fog
196
196
  request :invalidate_url_map_cache
197
197
  request :validate_url_map
198
198
 
199
+ request :get_instance_group_manager
200
+ request :insert_instance_group_manager
201
+ request :delete_instance_group_manager
202
+ request :list_instance_templates
203
+ request :list_instance_group_managers
204
+ request :get_instance_template
205
+ request :insert_instance_template
206
+ request :delete_instance_template
207
+
208
+ request :list_aggregated_instance_group_managers
209
+ request :set_instance_template
210
+ request :recreate_instances
211
+ request :abandon_instances
212
+
199
213
  request :deprecate_image
200
214
 
201
215
  model_path "fog/compute/google/models"
@@ -277,6 +291,12 @@ module Fog
277
291
  model :subnetwork
278
292
  collection :subnetworks
279
293
 
294
+ model :instance_template
295
+ collection :instance_templates
296
+
297
+ model :instance_group_manager
298
+ collection :instance_group_managers
299
+
280
300
  model :ssl_certificate
281
301
  collection :ssl_certificates
282
302
  end
@@ -19,7 +19,6 @@ module Fog
19
19
  ubuntu-os-cloud
20
20
  windows-cloud
21
21
  windows-sql-cloud
22
- google-containers
23
22
  opensuse-cloud
24
23
  ).freeze
25
24
 
@@ -0,0 +1,51 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class InstanceGroupManager < Fog::Model
5
+ identity :name
6
+
7
+ attribute :kind
8
+ attribute :self_link, :aliases => "selfLink"
9
+ attribute :description
10
+ attribute :zone
11
+ attribute :region
12
+ attribute :instance_group, :aliases => "instanceGroup"
13
+ attribute :instance_template, :aliases => "instanceTemplate"
14
+ attribute :target_pools, :aliases => "targetPools"
15
+ attribute :base_instance_name, :aliases => "baseInstanceName"
16
+ attribute :current_actions, :aliases => "currentActions"
17
+ attribute :target_size, :aliases => "targetSize"
18
+ attribute :named_ports, :aliases => "namedPorts"
19
+
20
+ def save
21
+ requires :name, :zone, :base_instance_name, :target_size, :instance_template
22
+
23
+ data = service.insert_instance_group_manager(name, zone.split("/")[-1], instance_template, base_instance_name,
24
+ target_size, target_pools, named_ports, description)
25
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.name, zone.split("/")[-1])
26
+ operation.wait_for { !pending? }
27
+ reload
28
+ end
29
+
30
+ def destroy(async = true)
31
+ requires :name, :zone
32
+ operation = service.delete_instance_group_manager(name, zone.split("/")[-1])
33
+ operation.wait_for { ready? } unless async
34
+ operation
35
+ end
36
+
37
+ def set_instance_template(instance_template)
38
+ service.set_instance_template self, instance_template
39
+ end
40
+
41
+ def recreate_instances(instances)
42
+ service.recreate_instances self, instances
43
+ end
44
+
45
+ def abandon_instances(instances)
46
+ service.abandon_instances self, instances
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,42 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class InstanceGroupManagers < Fog::Collection
5
+ model Fog::Compute::Google::InstanceGroupManager
6
+
7
+ def all(zone: nil, filter: nil, max_results: nil,
8
+ order_by: nil, page_token: nil)
9
+ opts = {
10
+ :filter => filter,
11
+ :max_results => max_results,
12
+ :order_by => order_by,
13
+ :page_token => page_token
14
+ }
15
+ data = []
16
+ if zone
17
+ data += service.list_instance_group_managers(zone, opts).items || []
18
+ else
19
+ service.list_aggregated_instance_group_managers(opts).items.each_value do |group|
20
+ data.concat(group.instance_group_managers) if group.instance_group_managers
21
+ end
22
+ end
23
+
24
+ load(data.map(&:to_h))
25
+ end
26
+
27
+ def get(identity, zone = nil)
28
+ if zone
29
+ if instance_group_manager = service.get_instance_group_manager(identity, zone)
30
+ new(instance_group_manager.to_h)
31
+ end
32
+ else
33
+ all(:filter => "name eq .*#{identity}").first
34
+ end
35
+ rescue ::Google::Apis::ClientError => e
36
+ raise e unless e.status_code == 404
37
+ nil
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,47 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class InstanceTemplate < Fog::Model
5
+ identity :name
6
+
7
+ attribute :kind
8
+ attribute :self_link, :aliases => "selfLink"
9
+ attribute :description
10
+ # Properties is a hash describing the templates
11
+ # A minimal example is
12
+ # :properties => {
13
+ # :machine_type => TEST_MACHINE_TYPE,
14
+ # :disks => [{
15
+ # :boot => true,
16
+ # :initialize_params => {
17
+ # :source_image => "projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20180522"}
18
+ # }],
19
+ # :network_interfaces => [{
20
+ # :network => "global/networks/default"
21
+ # }]
22
+ # }
23
+ # }
24
+ # @see https://cloud.google.com/compute/docs/reference/rest/v1/instanceTemplates/insert
25
+ attribute :properties
26
+
27
+ def save
28
+ requires :name
29
+ requires :properties
30
+
31
+ data = service.insert_instance_template(name, properties, description)
32
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.name)
33
+ operation.wait_for { !pending? }
34
+ reload
35
+ end
36
+
37
+ def destroy(async = true)
38
+ requires :name
39
+ data = service.delete_instance_template(name)
40
+ operation = Fog::Compute::Google::Operations.new(:service => service).get(data.name)
41
+ operation.wait_for { ready? } unless async
42
+ operation
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,23 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class InstanceTemplates < Fog::Collection
5
+ model Fog::Compute::Google::InstanceTemplate
6
+
7
+ def all
8
+ data = service.list_instance_templates.items || []
9
+ load(data.map(&:to_h))
10
+ end
11
+
12
+ def get(identity)
13
+ if instance_template = service.get_instance_template(identity)
14
+ new(instance_template.to_h)
15
+ end
16
+ rescue ::Google::Apis::ClientError => e
17
+ raise e unless e.status_code == 404
18
+ nil
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def abandon_instances(_instance_group_manager, _instances)
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def abandon_instances(instance_group_manager, instances)
12
+ request = ::Google::Apis::ComputeV1::InstanceGroupManagersAbandonInstancesRequest.new(
13
+ :instances => instances.map{ |i| i.class == String ? i : i.self_link }
14
+ )
15
+ if instance_group_manager.zone
16
+ zone = instance_group_manager.zone.split("/")[-1]
17
+ @compute.abandon_instance_group_manager_instances(@project, zone, instance_group_manager.name, request)
18
+ else
19
+ region = instance_group_manager.region.split("/")[-1]
20
+ @compute.abandon_region_instance_group_manager_instances(@project, region, instance_group_manager.name, request)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def delete_instance_group_manager(_name, _zone)
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def delete_instance_group_manager(name, zone)
12
+ @compute.delete_instance_group_manager(@project, zone, name)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def delete_instance_template(_name)
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def delete_instance_template(name)
12
+ @compute.delete_instance_template(@project, name)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def get_instance_group_manager(_name, _zone)
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def get_instance_group_manager(name, zone)
12
+ @compute.get_instance_group_manager(@project, zone, name)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def get_instance_template(_name)
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def get_instance_template(name)
12
+ @compute.get_instance_template(@project, name)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,29 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def insert_instance_group_manager(_name, _zone, _instance_template, _base_instance_name,
6
+ _target_size, _target_pools, _named_ports, _description)
7
+ Fog::Mock.not_implemented
8
+ end
9
+ end
10
+
11
+ class Real
12
+ def insert_instance_group_manager(name, zone, instance_template, base_instance_name,
13
+ target_size, target_pools, named_ports, description)
14
+ instance_group_manager = ::Google::Apis::ComputeV1::InstanceGroupManager.new(
15
+ :description => description,
16
+ :name => name,
17
+ :instance_template => instance_template.self_link,
18
+ :base_instance_name => base_instance_name,
19
+ :target_size => target_size,
20
+ :named_ports => named_ports || [],
21
+ :target_pools => target_pools || [],
22
+ )
23
+
24
+ @compute.insert_instance_group_manager(@project, zone, instance_group_manager)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,36 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def insert_instance_template(_name, _properties, _description)
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ ##
12
+ # Create a new template.
13
+ #
14
+ # @param name [String]
15
+ # Name to assign to the created template. Must be unique.
16
+ # @param descrption [String]
17
+ # Optional description of the template
18
+ # @param properties [Hash]
19
+ # Template attributes. You can use any of the options documented at
20
+ # https://cloud.google.com/compute/docs/reference/rest/v1/instanceTemplates/insert
21
+ # @see https://cloud.google.com/compute/docs/reference/rest/v1/instanceTemplates/insert
22
+ # @return [::Google::Apis::ComputeV1::Operation]
23
+ # response object that represents the insertion operation.
24
+ def insert_instance_template(name, properties, description)
25
+ instance_template = ::Google::Apis::ComputeV1::InstanceTemplate.new(
26
+ :description => description,
27
+ :name => name,
28
+ :properties => properties,
29
+ )
30
+
31
+ @compute.insert_instance_template(@project, instance_template)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def list_aggregated_instance_group_managers(_opts = {})
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def list_aggregated_instance_group_managers(filter: nil, max_results: nil,
12
+ order_by: nil, page_token: nil)
13
+ @compute.list_aggregated_instance_group_managers(
14
+ @project,
15
+ :filter => filter,
16
+ :max_results => max_results,
17
+ :order_by => order_by,
18
+ :page_token => page_token
19
+ )
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def list_instance_group_managers(_zone, _opts = {})
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def list_instance_group_managers(zone, filter: nil, max_results: nil,
12
+ order_by: nil, page_token: nil)
13
+ @compute.list_instance_group_managers(
14
+ @project, zone, :filter => filter, :max_results => max_results,
15
+ :order_by => order_by, :page_token => page_token)
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def list_instance_templates
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def list_instance_templates(filter: nil, max_results: nil,
12
+ order_by: nil, page_token: nil)
13
+ @compute.list_instance_templates(
14
+ @project,
15
+ :filter => filter,
16
+ :max_results => max_results,
17
+ :order_by => order_by,
18
+ :page_token => page_token
19
+ )
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def recreate_instances(_instance_group_manager, _instances)
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def recreate_instances(instance_group_manager, instances)
12
+ request = ::Google::Apis::ComputeV1::InstanceGroupManagersAbandonInstancesRequest.new(
13
+ :instances => instances.map{ |i| i.class == String ? i : i.self_link }
14
+ )
15
+ if instance_group_manager.zone
16
+ zone = instance_group_manager.zone.split("/")[-1]
17
+ @compute.recreate_instance_group_manager_instances(@project, zone, instance_group_manager.name, request)
18
+ else
19
+ region = instance_group_manager.region.split("/")[-1]
20
+ @compute.recreate_region_instance_group_manager_instances(@project, region, instance_group_manager.name, request)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,26 @@
1
+ module Fog
2
+ module Compute
3
+ class Google
4
+ class Mock
5
+ def set_instance_template(_instance_group_manager, _instance_template)
6
+ Fog::Mock.not_implemented
7
+ end
8
+ end
9
+
10
+ class Real
11
+ def set_instance_template(instance_group_manager, instance_template)
12
+ request = ::Google::Apis::ComputeV1::InstanceGroupManagersSetInstanceTemplateRequest.new(
13
+ :instance_template => instance_template.class == String ? instance_template : instance_template.self_link
14
+ )
15
+ if instance_group_manager.zone
16
+ zone = instance_group_manager.zone.split("/")[-1]
17
+ @compute.set_instance_group_manager_instance_template(@project, zone, instance_group_manager.name, request)
18
+ else
19
+ region = instance_group_manager.region.split("/")[-1]
20
+ @compute.set_region_instance_group_manager_instance_template(@project, region, instance_group_manager.name, request)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -1,5 +1,5 @@
1
1
  module Fog
2
2
  module Google
3
- VERSION = "1.4.0".freeze
3
+ VERSION = "1.5.0".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,11 @@
1
+ require "helpers/integration_test_helper"
2
+ require "integration/factories/instance_group_manager_factory"
3
+
4
+ class TestInstanceGroupManager < FogIntegrationTest
5
+ include TestCollection
6
+
7
+ def setup
8
+ @subject = Fog::Compute[:google].instance_group_managers
9
+ @factory = InstanceGroupManagerFactory.new(namespaced_name)
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ require "helpers/integration_test_helper"
2
+ require "integration/factories/instance_template_factory"
3
+
4
+ class TestInstanceTemplates < FogIntegrationTest
5
+ include TestCollection
6
+
7
+ def setup
8
+ @subject = Fog::Compute[:google].instance_templates
9
+ @factory = InstanceTemplateFactory.new(namespaced_name)
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ require "integration/factories/collection_factory"
2
+ require "integration/factories/instance_template_factory"
3
+
4
+ class InstanceGroupManagerFactory < CollectionFactory
5
+ def initialize(example)
6
+ super(Fog::Compute[:google].instance_group_managers, example)
7
+ @instance_template = InstanceTemplateFactory.new(example)
8
+ end
9
+
10
+ def cleanup
11
+ super
12
+ @instance_template.cleanup
13
+ end
14
+
15
+ def params
16
+ { :name => resource_name,
17
+ :zone => TEST_ZONE,
18
+ :base_instance_name => resource_name,
19
+ :target_size => 1,
20
+ :instance_template => @instance_template.create }
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ require "integration/factories/collection_factory"
2
+
3
+ class InstanceTemplateFactory < CollectionFactory
4
+ def initialize(example)
5
+ super(Fog::Compute[:google].instance_templates, example)
6
+ end
7
+
8
+ def params
9
+ {
10
+ :name => resource_name,
11
+ # TODO: Properties config is convoluted, needs to be refactored
12
+ :properties => {
13
+ :machine_type => TEST_MACHINE_TYPE,
14
+ :disks => [{
15
+ :boot => true,
16
+ :initialize_params =>
17
+ { :source_image => "projects/ubuntu-os-cloud/global/images/ubuntu-1804-bionic-v20180522" }
18
+ }],
19
+ :network_interfaces => [{ :network => "global/networks/default" }]
20
+ }
21
+ }
22
+ end
23
+ 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.0
4
+ version: 1.5.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: 2018-06-08 00:00:00.000000000 Z
12
+ date: 2018-06-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fog-core
@@ -316,7 +316,11 @@ files:
316
316
  - lib/fog/compute/google/models/image.rb
317
317
  - lib/fog/compute/google/models/images.rb
318
318
  - lib/fog/compute/google/models/instance_group.rb
319
+ - lib/fog/compute/google/models/instance_group_manager.rb
320
+ - lib/fog/compute/google/models/instance_group_managers.rb
319
321
  - lib/fog/compute/google/models/instance_groups.rb
322
+ - lib/fog/compute/google/models/instance_template.rb
323
+ - lib/fog/compute/google/models/instance_templates.rb
320
324
  - lib/fog/compute/google/models/machine_type.rb
321
325
  - lib/fog/compute/google/models/machine_types.rb
322
326
  - lib/fog/compute/google/models/network.rb
@@ -350,6 +354,7 @@ files:
350
354
  - lib/fog/compute/google/models/zone.rb
351
355
  - lib/fog/compute/google/models/zones.rb
352
356
  - lib/fog/compute/google/real.rb
357
+ - lib/fog/compute/google/requests/abandon_instances.rb
353
358
  - lib/fog/compute/google/requests/add_backend_service_backends.rb
354
359
  - lib/fog/compute/google/requests/add_instance_group_instances.rb
355
360
  - lib/fog/compute/google/requests/add_server_access_config.rb
@@ -368,6 +373,8 @@ files:
368
373
  - lib/fog/compute/google/requests/delete_http_health_check.rb
369
374
  - lib/fog/compute/google/requests/delete_image.rb
370
375
  - lib/fog/compute/google/requests/delete_instance_group.rb
376
+ - lib/fog/compute/google/requests/delete_instance_group_manager.rb
377
+ - lib/fog/compute/google/requests/delete_instance_template.rb
371
378
  - lib/fog/compute/google/requests/delete_network.rb
372
379
  - lib/fog/compute/google/requests/delete_region_operation.rb
373
380
  - lib/fog/compute/google/requests/delete_route.rb
@@ -399,6 +406,8 @@ files:
399
406
  - lib/fog/compute/google/requests/get_image.rb
400
407
  - lib/fog/compute/google/requests/get_image_from_family.rb
401
408
  - lib/fog/compute/google/requests/get_instance_group.rb
409
+ - lib/fog/compute/google/requests/get_instance_group_manager.rb
410
+ - lib/fog/compute/google/requests/get_instance_template.rb
402
411
  - lib/fog/compute/google/requests/get_machine_type.rb
403
412
  - lib/fog/compute/google/requests/get_network.rb
404
413
  - lib/fog/compute/google/requests/get_project.rb
@@ -428,6 +437,8 @@ files:
428
437
  - lib/fog/compute/google/requests/insert_http_health_check.rb
429
438
  - lib/fog/compute/google/requests/insert_image.rb
430
439
  - lib/fog/compute/google/requests/insert_instance_group.rb
440
+ - lib/fog/compute/google/requests/insert_instance_group_manager.rb
441
+ - lib/fog/compute/google/requests/insert_instance_template.rb
431
442
  - lib/fog/compute/google/requests/insert_network.rb
432
443
  - lib/fog/compute/google/requests/insert_route.rb
433
444
  - lib/fog/compute/google/requests/insert_server.rb
@@ -444,6 +455,7 @@ files:
444
455
  - lib/fog/compute/google/requests/list_aggregated_disk_types.rb
445
456
  - lib/fog/compute/google/requests/list_aggregated_disks.rb
446
457
  - lib/fog/compute/google/requests/list_aggregated_forwarding_rules.rb
458
+ - lib/fog/compute/google/requests/list_aggregated_instance_group_managers.rb
447
459
  - lib/fog/compute/google/requests/list_aggregated_instance_groups.rb
448
460
  - lib/fog/compute/google/requests/list_aggregated_machine_types.rb
449
461
  - lib/fog/compute/google/requests/list_aggregated_servers.rb
@@ -461,7 +473,9 @@ files:
461
473
  - lib/fog/compute/google/requests/list_http_health_checks.rb
462
474
  - lib/fog/compute/google/requests/list_images.rb
463
475
  - lib/fog/compute/google/requests/list_instance_group_instances.rb
476
+ - lib/fog/compute/google/requests/list_instance_group_managers.rb
464
477
  - lib/fog/compute/google/requests/list_instance_groups.rb
478
+ - lib/fog/compute/google/requests/list_instance_templates.rb
465
479
  - lib/fog/compute/google/requests/list_machine_types.rb
466
480
  - lib/fog/compute/google/requests/list_networks.rb
467
481
  - lib/fog/compute/google/requests/list_region_operations.rb
@@ -480,6 +494,7 @@ files:
480
494
  - lib/fog/compute/google/requests/list_zones.rb
481
495
  - lib/fog/compute/google/requests/patch_firewall.rb
482
496
  - lib/fog/compute/google/requests/patch_url_map.rb
497
+ - lib/fog/compute/google/requests/recreate_instances.rb
483
498
  - lib/fog/compute/google/requests/remove_instance_group_instances.rb
484
499
  - lib/fog/compute/google/requests/remove_target_pool_health_checks.rb
485
500
  - lib/fog/compute/google/requests/remove_target_pool_instance.rb
@@ -488,6 +503,7 @@ files:
488
503
  - lib/fog/compute/google/requests/set_common_instance_metadata.rb
489
504
  - lib/fog/compute/google/requests/set_forwarding_rule_target.rb
490
505
  - lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb
506
+ - lib/fog/compute/google/requests/set_instance_template.rb
491
507
  - lib/fog/compute/google/requests/set_server_disk_auto_delete.rb
492
508
  - lib/fog/compute/google/requests/set_server_metadata.rb
493
509
  - lib/fog/compute/google/requests/set_server_scheduling.rb
@@ -694,6 +710,8 @@ files:
694
710
  - test/integration/compute/test_global_forwarding_rules.rb
695
711
  - test/integration/compute/test_http_health_checks.rb
696
712
  - test/integration/compute/test_images.rb
713
+ - test/integration/compute/test_instance_group_managers.rb
714
+ - test/integration/compute/test_instance_templates.rb
697
715
  - test/integration/compute/test_regions.rb
698
716
  - test/integration/compute/test_servers.rb
699
717
  - test/integration/compute/test_snapshots.rb
@@ -708,6 +726,8 @@ files:
708
726
  - test/integration/factories/global_forwarding_rules_factory.rb
709
727
  - test/integration/factories/http_health_checks_factory.rb
710
728
  - test/integration/factories/images_factory.rb
729
+ - test/integration/factories/instance_group_manager_factory.rb
730
+ - test/integration/factories/instance_template_factory.rb
711
731
  - test/integration/factories/servers_factory.rb
712
732
  - test/integration/factories/target_http_proxies_factory.rb
713
733
  - test/integration/factories/target_instances_factory.rb
@@ -774,6 +794,8 @@ test_files:
774
794
  - test/integration/compute/test_global_forwarding_rules.rb
775
795
  - test/integration/compute/test_http_health_checks.rb
776
796
  - test/integration/compute/test_images.rb
797
+ - test/integration/compute/test_instance_group_managers.rb
798
+ - test/integration/compute/test_instance_templates.rb
777
799
  - test/integration/compute/test_regions.rb
778
800
  - test/integration/compute/test_servers.rb
779
801
  - test/integration/compute/test_snapshots.rb
@@ -788,6 +810,8 @@ test_files:
788
810
  - test/integration/factories/global_forwarding_rules_factory.rb
789
811
  - test/integration/factories/http_health_checks_factory.rb
790
812
  - test/integration/factories/images_factory.rb
813
+ - test/integration/factories/instance_group_manager_factory.rb
814
+ - test/integration/factories/instance_template_factory.rb
791
815
  - test/integration/factories/servers_factory.rb
792
816
  - test/integration/factories/target_http_proxies_factory.rb
793
817
  - test/integration/factories/target_instances_factory.rb