fog-google 1.12.1 → 1.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +10 -0
- data/.github/scripts/setup_creds.sh +10 -0
- data/.github/workflows/integration.yml +225 -0
- data/.github/workflows/stale.yml +23 -0
- data/.github/workflows/unit.yml +26 -0
- data/CHANGELOG.md +83 -1
- data/README.md +12 -2
- data/fog-google.gemspec +12 -3
- data/lib/fog/compute/google/models/address.rb +1 -1
- data/lib/fog/compute/google/models/addresses.rb +6 -6
- data/lib/fog/compute/google/models/backend_service.rb +1 -1
- data/lib/fog/compute/google/models/disk.rb +3 -3
- data/lib/fog/compute/google/models/disk_types.rb +2 -2
- data/lib/fog/compute/google/models/disks.rb +2 -2
- data/lib/fog/compute/google/models/firewall.rb +2 -2
- data/lib/fog/compute/google/models/firewalls.rb +1 -1
- data/lib/fog/compute/google/models/forwarding_rules.rb +2 -2
- data/lib/fog/compute/google/models/global_addresses.rb +1 -1
- data/lib/fog/compute/google/models/global_forwarding_rules.rb +1 -1
- data/lib/fog/compute/google/models/http_health_check.rb +2 -2
- data/lib/fog/compute/google/models/instance_group_managers.rb +2 -2
- data/lib/fog/compute/google/models/machine_types.rb +2 -2
- data/lib/fog/compute/google/models/network.rb +1 -1
- data/lib/fog/compute/google/models/operations.rb +3 -3
- data/lib/fog/compute/google/models/region.rb +0 -0
- data/lib/fog/compute/google/models/regions.rb +0 -0
- data/lib/fog/compute/google/models/server.rb +7 -0
- data/lib/fog/compute/google/models/servers.rb +7 -4
- data/lib/fog/compute/google/models/subnetwork.rb +0 -0
- data/lib/fog/compute/google/models/subnetworks.rb +2 -2
- data/lib/fog/compute/google/models/target_instances.rb +2 -2
- data/lib/fog/compute/google/models/target_pools.rb +2 -2
- data/lib/fog/compute/google/models/url_maps.rb +1 -1
- data/lib/fog/compute/google/requests/abandon_instances.rb +1 -1
- data/lib/fog/compute/google/requests/add_instance_group_instances.rb +3 -3
- data/lib/fog/compute/google/requests/add_server_access_config.rb +3 -3
- data/lib/fog/compute/google/requests/add_target_pool_health_checks.rb +2 -2
- data/lib/fog/compute/google/requests/add_target_pool_instances.rb +2 -2
- data/lib/fog/compute/google/requests/attach_disk.rb +1 -1
- data/lib/fog/compute/google/requests/create_disk_snapshot.rb +1 -1
- data/lib/fog/compute/google/requests/expand_subnetwork_ip_cidr_range.rb +1 -1
- data/lib/fog/compute/google/requests/get_backend_service_health.rb +1 -1
- data/lib/fog/compute/google/requests/get_region.rb +0 -0
- data/lib/fog/compute/google/requests/get_server_serial_port_output.rb +2 -2
- data/lib/fog/compute/google/requests/get_target_pool_health.rb +1 -1
- data/lib/fog/compute/google/requests/insert_address.rb +2 -2
- data/lib/fog/compute/google/requests/insert_backend_service.rb +1 -1
- data/lib/fog/compute/google/requests/insert_disk.rb +1 -1
- data/lib/fog/compute/google/requests/insert_firewall.rb +1 -1
- data/lib/fog/compute/google/requests/insert_forwarding_rule.rb +1 -1
- data/lib/fog/compute/google/requests/insert_global_address.rb +1 -1
- data/lib/fog/compute/google/requests/insert_global_forwarding_rule.rb +1 -1
- data/lib/fog/compute/google/requests/insert_http_health_check.rb +1 -1
- data/lib/fog/compute/google/requests/insert_image.rb +1 -1
- data/lib/fog/compute/google/requests/insert_instance_group.rb +3 -3
- data/lib/fog/compute/google/requests/insert_instance_group_manager.rb +7 -7
- data/lib/fog/compute/google/requests/insert_instance_template.rb +3 -3
- data/lib/fog/compute/google/requests/insert_network.rb +2 -12
- data/lib/fog/compute/google/requests/insert_route.rb +10 -10
- data/lib/fog/compute/google/requests/insert_server.rb +13 -9
- data/lib/fog/compute/google/requests/insert_ssl_certificate.rb +4 -4
- data/lib/fog/compute/google/requests/insert_subnetwork.rb +1 -1
- data/lib/fog/compute/google/requests/insert_target_http_proxy.rb +3 -3
- data/lib/fog/compute/google/requests/insert_target_https_proxy.rb +4 -4
- data/lib/fog/compute/google/requests/insert_target_instance.rb +1 -1
- data/lib/fog/compute/google/requests/insert_target_pool.rb +1 -1
- data/lib/fog/compute/google/requests/insert_url_map.rb +1 -1
- data/lib/fog/compute/google/requests/invalidate_url_map_cache.rb +1 -1
- data/lib/fog/compute/google/requests/list_addresses.rb +4 -4
- data/lib/fog/compute/google/requests/list_aggregated_addresses.rb +1 -1
- data/lib/fog/compute/google/requests/list_aggregated_disk_types.rb +2 -2
- data/lib/fog/compute/google/requests/list_aggregated_disks.rb +2 -2
- data/lib/fog/compute/google/requests/list_aggregated_forwarding_rules.rb +2 -2
- data/lib/fog/compute/google/requests/list_aggregated_instance_group_managers.rb +4 -4
- data/lib/fog/compute/google/requests/list_aggregated_instance_groups.rb +1 -1
- data/lib/fog/compute/google/requests/list_aggregated_machine_types.rb +2 -2
- data/lib/fog/compute/google/requests/list_aggregated_servers.rb +2 -2
- data/lib/fog/compute/google/requests/list_aggregated_subnetworks.rb +4 -4
- data/lib/fog/compute/google/requests/list_aggregated_target_instances.rb +4 -4
- data/lib/fog/compute/google/requests/list_aggregated_target_pools.rb +4 -4
- data/lib/fog/compute/google/requests/list_disk_types.rb +2 -2
- data/lib/fog/compute/google/requests/list_disks.rb +2 -2
- data/lib/fog/compute/google/requests/list_firewalls.rb +4 -4
- data/lib/fog/compute/google/requests/list_forwarding_rules.rb +2 -2
- data/lib/fog/compute/google/requests/list_global_addresses.rb +5 -5
- data/lib/fog/compute/google/requests/list_global_forwarding_rules.rb +2 -2
- data/lib/fog/compute/google/requests/list_global_operations.rb +4 -4
- data/lib/fog/compute/google/requests/list_http_health_checks.rb +2 -2
- data/lib/fog/compute/google/requests/list_images.rb +2 -2
- data/lib/fog/compute/google/requests/list_instance_group_managers.rb +2 -2
- data/lib/fog/compute/google/requests/list_instance_templates.rb +4 -4
- data/lib/fog/compute/google/requests/list_machine_types.rb +4 -4
- data/lib/fog/compute/google/requests/list_networks.rb +4 -4
- data/lib/fog/compute/google/requests/list_subnetworks.rb +4 -4
- data/lib/fog/compute/google/requests/list_target_pools.rb +4 -4
- data/lib/fog/compute/google/requests/list_url_maps.rb +2 -2
- data/lib/fog/compute/google/requests/patch_firewall.rb +1 -1
- data/lib/fog/compute/google/requests/remove_instance_group_instances.rb +3 -3
- data/lib/fog/compute/google/requests/remove_target_pool_health_checks.rb +2 -2
- data/lib/fog/compute/google/requests/remove_target_pool_instance.rb +2 -2
- data/lib/fog/compute/google/requests/remove_target_pool_instances.rb +2 -2
- data/lib/fog/compute/google/requests/set_common_instance_metadata.rb +2 -2
- data/lib/fog/compute/google/requests/set_forwarding_rule_target.rb +1 -1
- data/lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb +1 -1
- data/lib/fog/compute/google/requests/set_server_metadata.rb +2 -2
- data/lib/fog/compute/google/requests/set_server_tags.rb +2 -2
- data/lib/fog/compute/google/requests/set_snapshot_labels.rb +2 -2
- data/lib/fog/compute/google/requests/set_subnetwork_private_ip_google_access.rb +1 -1
- data/lib/fog/compute/google/requests/set_target_http_proxy_url_map.rb +1 -1
- data/lib/fog/compute/google/requests/set_target_https_proxy_ssl_certificates.rb +1 -1
- data/lib/fog/compute/google/requests/set_target_https_proxy_url_map.rb +1 -1
- data/lib/fog/compute/google/requests/set_target_pool_backup.rb +2 -2
- data/lib/fog/compute/google/requests/update_firewall.rb +1 -1
- data/lib/fog/compute/google/requests/update_http_health_check.rb +1 -1
- data/lib/fog/compute/google/requests/update_url_map.rb +1 -1
- data/lib/fog/compute/google/requests/validate_url_map.rb +1 -1
- data/lib/fog/dns/google/requests/create_change.rb +2 -2
- data/lib/fog/google/models/sql/instance.rb +2 -2
- data/lib/fog/google/requests/monitoring/create_metric_descriptor.rb +8 -8
- data/lib/fog/google/requests/monitoring/create_timeseries.rb +1 -1
- data/lib/fog/google/requests/monitoring/list_timeseries.rb +1 -1
- data/lib/fog/google/requests/pubsub/acknowledge_subscription.rb +1 -1
- data/lib/fog/google/requests/pubsub/create_subscription.rb +3 -3
- data/lib/fog/google/requests/sql/clone_instance.rb +4 -4
- data/lib/fog/google/requests/sql/export_instance.rb +3 -3
- data/lib/fog/google/requests/sql/import_instance.rb +2 -2
- data/lib/fog/google/requests/sql/insert_backup_run.rb +1 -1
- data/lib/fog/google/requests/sql/insert_instance.rb +2 -2
- data/lib/fog/google/requests/sql/insert_ssl_cert.rb +1 -1
- data/lib/fog/google/requests/sql/insert_user.rb +1 -1
- data/lib/fog/google/requests/sql/restore_instance_backup.rb +4 -4
- data/lib/fog/google/requests/sql/update_instance.rb +2 -2
- data/lib/fog/google/shared.rb +3 -3
- data/lib/fog/google/version.rb +1 -1
- data/lib/fog/storage/google_json/models/directories.rb +1 -1
- data/lib/fog/storage/google_json/models/directory.rb +1 -1
- data/lib/fog/storage/google_json/models/file.rb +11 -2
- data/lib/fog/storage/google_json/models/files.rb +3 -3
- data/lib/fog/storage/google_json/real.rb +4 -4
- data/lib/fog/storage/google_json/requests/copy_object.rb +11 -1
- data/lib/fog/storage/google_json/requests/get_object.rb +6 -3
- data/lib/fog/storage/google_json/requests/get_object_url.rb +2 -2
- data/lib/fog/storage/google_json/requests/list_buckets.rb +4 -4
- data/lib/fog/storage/google_json/requests/list_objects.rb +1 -1
- data/lib/fog/storage/google_json/requests/put_bucket.rb +1 -1
- data/lib/fog/storage/google_json/requests/put_bucket_acl.rb +1 -1
- data/lib/fog/storage/google_json/requests/put_object.rb +1 -1
- data/lib/fog/storage/google_json/requests/put_object_acl.rb +1 -1
- data/lib/fog/storage/google_json/utils.rb +5 -1
- data/lib/fog/storage/google_xml/models/file.rb +1 -1
- data/test/helpers/integration_test_helper.rb +2 -2
- data/test/helpers/test_helper.rb +7 -3
- data/test/integration/compute/core_compute/test_servers.rb +2 -2
- data/test/integration/compute/core_networking/test_networks.rb +0 -11
- data/test/integration/factories/networks_factory.rb +4 -6
- data/test/integration/monitoring/test_metric_descriptors.rb +1 -1
- data/test/integration/storage/storage_shared.rb +7 -2
- data/test/integration/storage/test_objects.rb +23 -1
- data/test/unit/storage/test_json_requests.rb +8 -0
- metadata +103 -31
- data/.travis.yml +0 -33
- data/ci/.gitignore +0 -1
- data/ci/README.md +0 -65
- data/ci/build-head-pipeline.yml +0 -173
- data/ci/credentials.yml.template +0 -28
- data/ci/docker-image/Dockerfile +0 -18
- data/ci/integration-pipeline.yml +0 -226
- data/ci/pipeline-dev.yml +0 -58
- data/ci/tasks/run-int.sh +0 -53
- data/ci/tasks/run-int.yml +0 -18
- data/ci/tasks/utils.sh +0 -10
@@ -14,10 +14,10 @@ module Fog
|
|
14
14
|
}
|
15
15
|
|
16
16
|
if zone
|
17
|
-
data = service.list_instance_group_managers(zone, opts).items || []
|
17
|
+
data = service.list_instance_group_managers(zone, **opts).items || []
|
18
18
|
else
|
19
19
|
data = []
|
20
|
-
service.list_aggregated_instance_group_managers(opts).items.each_value do |group|
|
20
|
+
service.list_aggregated_instance_group_managers(**opts).items.each_value do |group|
|
21
21
|
data.concat(group.instance_group_managers) if group.instance_group_managers
|
22
22
|
end
|
23
23
|
end
|
@@ -13,10 +13,10 @@ module Fog
|
|
13
13
|
}
|
14
14
|
|
15
15
|
if zone
|
16
|
-
data = service.list_machine_types(zone, opts).items
|
16
|
+
data = service.list_machine_types(zone, **opts).items
|
17
17
|
else
|
18
18
|
data = []
|
19
|
-
service.list_aggregated_machine_types(opts).items.each_value do |scoped_list|
|
19
|
+
service.list_aggregated_machine_types(**opts).items.each_value do |scoped_list|
|
20
20
|
data.concat(scoped_list.machine_types) if scoped_list && scoped_list.machine_types
|
21
21
|
end
|
22
22
|
end
|
@@ -14,11 +14,11 @@ module Fog
|
|
14
14
|
}
|
15
15
|
|
16
16
|
if zone
|
17
|
-
data = service.list_zone_operations(zone, opts).to_h[:items]
|
17
|
+
data = service.list_zone_operations(zone, **opts).to_h[:items]
|
18
18
|
elsif region
|
19
|
-
data = service.list_region_operations(region, opts).to_h[:items]
|
19
|
+
data = service.list_region_operations(region, **opts).to_h[:items]
|
20
20
|
else
|
21
|
-
data = service.list_global_operations(opts).to_h[:items]
|
21
|
+
data = service.list_global_operations(**opts).to_h[:items]
|
22
22
|
end
|
23
23
|
|
24
24
|
load(data || [])
|
File without changes
|
File without changes
|
@@ -50,6 +50,13 @@ module Fog
|
|
50
50
|
# @return [Array<Hash>]
|
51
51
|
attribute :disks
|
52
52
|
|
53
|
+
# @example Enable the display device
|
54
|
+
# {
|
55
|
+
# :enable_display => true
|
56
|
+
# }
|
57
|
+
# @return [Hash<String,Boolean>]
|
58
|
+
attribute :display_device, :aliases => "displayDevice"
|
59
|
+
|
53
60
|
# @example Guest accelerators
|
54
61
|
# [
|
55
62
|
# {
|
@@ -14,10 +14,10 @@ module Fog
|
|
14
14
|
}
|
15
15
|
|
16
16
|
if zone
|
17
|
-
data = service.list_servers(zone, opts).to_h[:items] || []
|
17
|
+
data = service.list_servers(zone, **opts).to_h[:items] || []
|
18
18
|
else
|
19
19
|
data = []
|
20
|
-
service.list_aggregated_servers(opts).items.each_value do |scoped_lst|
|
20
|
+
service.list_aggregated_servers(**opts).items.each_value do |scoped_lst|
|
21
21
|
if scoped_lst && scoped_lst.instances
|
22
22
|
data.concat(scoped_lst.instances.map(&:to_h))
|
23
23
|
end
|
@@ -57,7 +57,7 @@ module Fog
|
|
57
57
|
:zone_name => zone_name,
|
58
58
|
:source_image => source_img.self_link
|
59
59
|
}
|
60
|
-
disk = service.disks.create(disk_defaults.merge(opts))
|
60
|
+
disk = service.disks.create(**disk_defaults.merge(opts))
|
61
61
|
disk.wait_for { disk.ready? }
|
62
62
|
|
63
63
|
disks = [disk]
|
@@ -84,7 +84,10 @@ module Fog
|
|
84
84
|
server.wait_for { ready? }
|
85
85
|
|
86
86
|
# Set the disk to be autodeleted
|
87
|
-
|
87
|
+
# true - autodelete setting
|
88
|
+
# nil - device name (not needed if there's only one disk)
|
89
|
+
# false - set async to false so set the property synchronously
|
90
|
+
server.set_disk_auto_delete(true, nil, false)
|
88
91
|
|
89
92
|
server
|
90
93
|
end
|
File without changes
|
@@ -13,10 +13,10 @@ module Fog
|
|
13
13
|
}
|
14
14
|
|
15
15
|
if region
|
16
|
-
data = service.list_subnetworks(region, filters).to_h[:items] || []
|
16
|
+
data = service.list_subnetworks(region, **filters).to_h[:items] || []
|
17
17
|
else
|
18
18
|
data = []
|
19
|
-
service.list_aggregated_subnetworks(filters).to_h[:items].each_value do |region_obj|
|
19
|
+
service.list_aggregated_subnetworks(**filters).to_h[:items].each_value do |region_obj|
|
20
20
|
data.concat(region_obj[:subnetworks]) if region_obj[:subnetworks]
|
21
21
|
end
|
22
22
|
end
|
@@ -14,10 +14,10 @@ module Fog
|
|
14
14
|
}
|
15
15
|
|
16
16
|
if zone
|
17
|
-
data = service.list_target_instances(zone, opts).to_h[:items] || []
|
17
|
+
data = service.list_target_instances(zone, **opts).to_h[:items] || []
|
18
18
|
else
|
19
19
|
data = []
|
20
|
-
service.list_aggregated_target_instances(opts).items.each_value do |scoped_list|
|
20
|
+
service.list_aggregated_target_instances(**opts).items.each_value do |scoped_list|
|
21
21
|
unless scoped_list.nil? || scoped_list.target_instances.nil?
|
22
22
|
data += scoped_list.target_instances.map(&:to_h)
|
23
23
|
end
|
@@ -13,13 +13,13 @@ module Fog
|
|
13
13
|
}
|
14
14
|
if region.nil?
|
15
15
|
data = []
|
16
|
-
service.list_aggregated_target_pools(opts).items.each_value do |lst|
|
16
|
+
service.list_aggregated_target_pools(**opts).items.each_value do |lst|
|
17
17
|
unless lst.nil? || lst.target_pools.nil?
|
18
18
|
data += lst.to_h[:target_pools]
|
19
19
|
end
|
20
20
|
end
|
21
21
|
else
|
22
|
-
data = service.list_target_pools(region, opts).to_h[:items]
|
22
|
+
data = service.list_target_pools(region, **opts).to_h[:items]
|
23
23
|
end
|
24
24
|
load(data)
|
25
25
|
end
|
@@ -12,7 +12,7 @@ module Fog
|
|
12
12
|
class Real
|
13
13
|
def abandon_instances(instance_group_manager, instances)
|
14
14
|
request = ::Google::Apis::ComputeV1::InstanceGroupManagersAbandonInstancesRequest.new(
|
15
|
-
:
|
15
|
+
instances: instances.map{ |i| i.class == String ? i : i.self_link }
|
16
16
|
)
|
17
17
|
if instance_group_manager.zone
|
18
18
|
zone = instance_group_manager.zone.split("/")[-1]
|
@@ -13,16 +13,16 @@ module Fog
|
|
13
13
|
def add_instance_group_instances(group_name, zone, instances)
|
14
14
|
instances.map! do |instance|
|
15
15
|
if instance.start_with?("https:")
|
16
|
-
::Google::Apis::ComputeV1::InstanceReference.new(:
|
16
|
+
::Google::Apis::ComputeV1::InstanceReference.new(instance: instance)
|
17
17
|
else
|
18
18
|
::Google::Apis::ComputeV1::InstanceReference.new(
|
19
|
-
:
|
19
|
+
instance: "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/instances/#{instance}\n"
|
20
20
|
)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
request = ::Google::Apis::ComputeV1::InstanceGroupsAddInstancesRequest.new(
|
25
|
-
:
|
25
|
+
instances: instances
|
26
26
|
)
|
27
27
|
@compute.add_instance_group_instances(
|
28
28
|
@project,
|
@@ -20,9 +20,9 @@ module Fog
|
|
20
20
|
identity,
|
21
21
|
network_interface,
|
22
22
|
::Google::Apis::ComputeV1::AccessConfig.new(
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
23
|
+
name: access_config_name,
|
24
|
+
nat_ip: nat_ip,
|
25
|
+
type: "ONE_TO_ONE_NAT"
|
26
26
|
)
|
27
27
|
)
|
28
28
|
end
|
@@ -13,7 +13,7 @@ module Fog
|
|
13
13
|
def add_target_pool_health_checks(target_pool, region, health_checks)
|
14
14
|
check_list = health_checks.map do |health_check|
|
15
15
|
::Google::Apis::ComputeV1::HealthCheckReference.new(
|
16
|
-
:
|
16
|
+
health_check: health_check
|
17
17
|
)
|
18
18
|
end
|
19
19
|
|
@@ -22,7 +22,7 @@ module Fog
|
|
22
22
|
region.split("/")[-1],
|
23
23
|
target_pool,
|
24
24
|
::Google::Apis::ComputeV1::AddTargetPoolsHealthCheckRequest.new(
|
25
|
-
:
|
25
|
+
health_checks: check_list
|
26
26
|
)
|
27
27
|
)
|
28
28
|
end
|
@@ -12,7 +12,7 @@ module Fog
|
|
12
12
|
class Real
|
13
13
|
def add_target_pool_instances(target_pool, region, instances)
|
14
14
|
instances_lst = instances.map do |instance|
|
15
|
-
::Google::Apis::ComputeV1::InstanceReference.new(:
|
15
|
+
::Google::Apis::ComputeV1::InstanceReference.new(instance: instance)
|
16
16
|
end
|
17
17
|
|
18
18
|
@compute.add_target_pool_instance(
|
@@ -20,7 +20,7 @@ module Fog
|
|
20
20
|
region.split("/")[-1],
|
21
21
|
target_pool,
|
22
22
|
::Google::Apis::ComputeV1::AddTargetPoolsInstanceRequest.new(
|
23
|
-
:
|
23
|
+
instances: instances_lst
|
24
24
|
)
|
25
25
|
)
|
26
26
|
end
|
@@ -12,7 +12,7 @@ module Fog
|
|
12
12
|
class Real
|
13
13
|
def get_backend_service_health(backend_service)
|
14
14
|
health_results = backend_service.backends.map do |backend|
|
15
|
-
group = ::Google::Apis::ComputeV1::ResourceGroupReference.new(:
|
15
|
+
group = ::Google::Apis::ComputeV1::ResourceGroupReference.new(group: backend[:group])
|
16
16
|
resp = @compute.get_backend_service_health(@project, backend_service.name, group)
|
17
17
|
[backend[:group], resp.health_status]
|
18
18
|
end
|
File without changes
|
@@ -19,8 +19,8 @@ module Fog
|
|
19
19
|
# @option options [String] :description Description of resource
|
20
20
|
def insert_address(address_name, region_name, options = {})
|
21
21
|
address = ::Google::Apis::ComputeV1::Address.new(
|
22
|
-
:
|
23
|
-
:
|
22
|
+
name: address_name,
|
23
|
+
description: options[:description]
|
24
24
|
)
|
25
25
|
@compute.insert_address(@project, region_name, address)
|
26
26
|
end
|
@@ -14,7 +14,7 @@ module Fog
|
|
14
14
|
options = opts.reject { |_k, v| v.nil? }
|
15
15
|
.merge(:name => backend_service_name)
|
16
16
|
|
17
|
-
be_service = ::Google::Apis::ComputeV1::BackendService.new(options)
|
17
|
+
be_service = ::Google::Apis::ComputeV1::BackendService.new(**options)
|
18
18
|
@compute.insert_backend_service(@project, be_service)
|
19
19
|
end
|
20
20
|
end
|
@@ -39,7 +39,7 @@ module Fog
|
|
39
39
|
:source_image => source_image
|
40
40
|
}
|
41
41
|
disk_opts[:labels] = labels if labels
|
42
|
-
disk = ::Google::Apis::ComputeV1::Disk.new(disk_opts)
|
42
|
+
disk = ::Google::Apis::ComputeV1::Disk.new(**disk_opts)
|
43
43
|
@compute.insert_disk(@project, zone.split("/")[-1], disk)
|
44
44
|
end
|
45
45
|
end
|
@@ -16,7 +16,7 @@ module Fog
|
|
16
16
|
opts = options.select { |k, _| INSERTABLE_ADDRESS_FIELDS.include? k }
|
17
17
|
.merge(:name => address_name)
|
18
18
|
@compute.insert_global_address(
|
19
|
-
@project, ::Google::Apis::ComputeV1::Address.new(opts)
|
19
|
+
@project, ::Google::Apis::ComputeV1::Address.new(**opts)
|
20
20
|
)
|
21
21
|
end
|
22
22
|
end
|
@@ -17,7 +17,7 @@ module Fog
|
|
17
17
|
def insert_global_forwarding_rule(rule_name, opts = {})
|
18
18
|
opts = opts.merge(:name => rule_name)
|
19
19
|
@compute.insert_global_forwarding_rule(
|
20
|
-
@project, ::Google::Apis::ComputeV1::ForwardingRule.new(opts)
|
20
|
+
@project, ::Google::Apis::ComputeV1::ForwardingRule.new(**opts)
|
21
21
|
)
|
22
22
|
end
|
23
23
|
end
|
@@ -18,9 +18,9 @@ module Fog
|
|
18
18
|
end
|
19
19
|
|
20
20
|
instance_group = ::Google::Apis::ComputeV1::InstanceGroup.new(
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
21
|
+
description: options["description"],
|
22
|
+
name: group_name,
|
23
|
+
network: "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/networks/#{network_name}"
|
24
24
|
)
|
25
25
|
|
26
26
|
@compute.insert_instance_group(@project,
|
@@ -14,13 +14,13 @@ module Fog
|
|
14
14
|
def insert_instance_group_manager(name, zone, instance_template, base_instance_name,
|
15
15
|
target_size, target_pools, named_ports, description)
|
16
16
|
instance_group_manager = ::Google::Apis::ComputeV1::InstanceGroupManager.new(
|
17
|
-
:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
17
|
+
description: description,
|
18
|
+
name: name,
|
19
|
+
instance_template: instance_template.self_link,
|
20
|
+
base_instance_name: base_instance_name,
|
21
|
+
target_size: target_size,
|
22
|
+
named_ports: named_ports || [],
|
23
|
+
target_pools: target_pools || [],
|
24
24
|
)
|
25
25
|
|
26
26
|
@compute.insert_instance_group_manager(@project, zone, instance_group_manager)
|
@@ -25,9 +25,9 @@ module Fog
|
|
25
25
|
# response object that represents the insertion operation.
|
26
26
|
def insert_instance_template(name, properties, description)
|
27
27
|
instance_template = ::Google::Apis::ComputeV1::InstanceTemplate.new(
|
28
|
-
:
|
29
|
-
:
|
30
|
-
:
|
28
|
+
description: description,
|
29
|
+
name: name,
|
30
|
+
properties: properties,
|
31
31
|
)
|
32
32
|
|
33
33
|
@compute.insert_instance_template(@project, instance_template)
|
@@ -10,22 +10,12 @@ module Fog
|
|
10
10
|
end
|
11
11
|
|
12
12
|
class Real
|
13
|
-
INSERTABLE_NETWORK_FIELDS = %i{
|
14
|
-
auto_create_subnetworks
|
15
|
-
description
|
16
|
-
gateway_i_pv4
|
17
|
-
i_pv4_range
|
18
|
-
name
|
19
|
-
routing_config
|
20
|
-
}.freeze
|
21
|
-
|
22
13
|
def insert_network(network_name, opts = {})
|
23
|
-
opts = opts.
|
24
|
-
.merge(:name => network_name)
|
14
|
+
opts = opts.merge(:name => network_name)
|
25
15
|
|
26
16
|
@compute.insert_network(
|
27
17
|
@project,
|
28
|
-
::Google::Apis::ComputeV1::Network.new(opts)
|
18
|
+
::Google::Apis::ComputeV1::Network.new(**opts)
|
29
19
|
)
|
30
20
|
end
|
31
21
|
end
|
@@ -15,16 +15,16 @@ module Fog
|
|
15
15
|
# @see https://cloud.google.com/compute/docs/reference/latest/routes/insert
|
16
16
|
def insert_route(route_name, network, dest_range, priority, options = {})
|
17
17
|
route = ::Google::Apis::ComputeV1::Route.new(
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
26
|
-
:
|
27
|
-
:
|
18
|
+
name: route_name,
|
19
|
+
network: network,
|
20
|
+
dest_range: dest_range,
|
21
|
+
priority: priority,
|
22
|
+
tags: options[:tags] || [],
|
23
|
+
next_hop_instance: options[:next_hop_instance],
|
24
|
+
next_hop_gateway: options[:next_hop_gateway],
|
25
|
+
next_hop_ip: options[:next_hop_ip],
|
26
|
+
next_hop_vpn_tunnel: options[:next_hop_vpn_tunnel],
|
27
|
+
description: options[:description]
|
28
28
|
)
|
29
29
|
|
30
30
|
@compute.insert_route(@project, route)
|
@@ -21,7 +21,7 @@ module Fog
|
|
21
21
|
|
22
22
|
disk_lst = disks.map do |d|
|
23
23
|
d = d.attached_disk_obj if d.is_a? Disk
|
24
|
-
::Google::Apis::ComputeV1::AttachedDisk.new(d)
|
24
|
+
::Google::Apis::ComputeV1::AttachedDisk.new(**d)
|
25
25
|
end
|
26
26
|
disk_lst.first.boot = true
|
27
27
|
disk_lst
|
@@ -32,7 +32,7 @@ module Fog
|
|
32
32
|
network_interfaces = [default_network_interface]
|
33
33
|
end
|
34
34
|
network_interfaces.map do |network|
|
35
|
-
::Google::Apis::ComputeV1::NetworkInterface.new(network)
|
35
|
+
::Google::Apis::ComputeV1::NetworkInterface.new(**network)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
@@ -88,32 +88,36 @@ module Fog
|
|
88
88
|
# Optional subclassed attributes
|
89
89
|
if data[:guest_accelerators]
|
90
90
|
data[:guest_accelerators] = data[:guest_accelerators].map do |acc_config|
|
91
|
-
::Google::Apis::ComputeV1::AcceleratorConfig.new(acc_config)
|
91
|
+
::Google::Apis::ComputeV1::AcceleratorConfig.new(**acc_config)
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
95
|
if data[:metadata]
|
96
|
-
data[:metadata] = ::Google::Apis::ComputeV1::Metadata.new(options[:metadata])
|
96
|
+
data[:metadata] = ::Google::Apis::ComputeV1::Metadata.new(**options[:metadata])
|
97
97
|
end
|
98
98
|
|
99
99
|
if data[:scheduling]
|
100
|
-
data[:scheduling] = ::Google::Apis::ComputeV1::Scheduling.new(options[:scheduling])
|
100
|
+
data[:scheduling] = ::Google::Apis::ComputeV1::Scheduling.new(**options[:scheduling])
|
101
101
|
end
|
102
102
|
|
103
103
|
if data[:shielded_instance_config]
|
104
|
-
data[:shielded_instance_config] = ::Google::Apis::ComputeV1::ShieldedInstanceConfig.new(options[:shielded_instance_config])
|
104
|
+
data[:shielded_instance_config] = ::Google::Apis::ComputeV1::ShieldedInstanceConfig.new(**options[:shielded_instance_config])
|
105
|
+
end
|
106
|
+
|
107
|
+
if data[:display_device]
|
108
|
+
data[:display_device] = ::Google::Apis::ComputeV1::DisplayDevice.new(**options[:display_device])
|
105
109
|
end
|
106
110
|
|
107
111
|
if data[:tags]
|
108
112
|
if options[:tags].is_a?(Array)
|
109
113
|
# Process classic tag notation, i.e. ["fog"]
|
110
|
-
data[:tags] = ::Google::Apis::ComputeV1::Tags.new(
|
114
|
+
data[:tags] = ::Google::Apis::ComputeV1::Tags.new(items: options[:tags])
|
111
115
|
else
|
112
|
-
data[:tags] = ::Google::Apis::ComputeV1::Tags.new(options[:tags])
|
116
|
+
data[:tags] = ::Google::Apis::ComputeV1::Tags.new(**options[:tags])
|
113
117
|
end
|
114
118
|
end
|
115
119
|
|
116
|
-
instance = ::Google::Apis::ComputeV1::Instance.new(data)
|
120
|
+
instance = ::Google::Apis::ComputeV1::Instance.new(**data)
|
117
121
|
@compute.insert_instance(@project, zone, instance)
|
118
122
|
end
|
119
123
|
end
|
@@ -14,10 +14,10 @@ module Fog
|
|
14
14
|
@compute.insert_ssl_certificate(
|
15
15
|
@project,
|
16
16
|
::Google::Apis::ComputeV1::SslCertificate.new(
|
17
|
-
:
|
18
|
-
:
|
19
|
-
:
|
20
|
-
:
|
17
|
+
certificate: certificate,
|
18
|
+
name: certificate_name,
|
19
|
+
private_key: private_key,
|
20
|
+
description: description
|
21
21
|
)
|
22
22
|
)
|
23
23
|
end
|
@@ -14,9 +14,9 @@ module Fog
|
|
14
14
|
@compute.insert_target_http_proxy(
|
15
15
|
@project,
|
16
16
|
::Google::Apis::ComputeV1::TargetHttpProxy.new(
|
17
|
-
:
|
18
|
-
:
|
19
|
-
:
|
17
|
+
name: proxy_name,
|
18
|
+
description: description,
|
19
|
+
url_map: url_map
|
20
20
|
)
|
21
21
|
)
|
22
22
|
end
|
@@ -16,10 +16,10 @@ module Fog
|
|
16
16
|
@compute.insert_target_https_proxy(
|
17
17
|
@project,
|
18
18
|
::Google::Apis::ComputeV1::TargetHttpsProxy.new(
|
19
|
-
:
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
19
|
+
name: proxy_name,
|
20
|
+
description: description,
|
21
|
+
url_map: url_map,
|
22
|
+
ssl_certificates: ssl_certificates
|
23
23
|
)
|
24
24
|
)
|
25
25
|
end
|