Class: Fog::Compute::Google::Real
- Inherits:
-
Object
- Object
- Fog::Compute::Google::Real
- Includes:
- Google::Shared
- Defined in:
- lib/fog/compute/google/real.rb,
lib/fog/compute/google/requests/get_disk.rb,
lib/fog/compute/google/requests/get_zone.rb,
lib/fog/compute/google/requests/get_image.rb,
lib/fog/compute/google/requests/get_route.rb,
lib/fog/compute/google/requests/get_region.rb,
lib/fog/compute/google/requests/get_server.rb,
lib/fog/compute/google/requests/list_disks.rb,
lib/fog/compute/google/requests/list_zones.rb,
lib/fog/compute/google/requests/attach_disk.rb,
lib/fog/compute/google/requests/delete_disk.rb,
lib/fog/compute/google/requests/detach_disk.rb,
lib/fog/compute/google/requests/get_address.rb,
lib/fog/compute/google/requests/get_network.rb,
lib/fog/compute/google/requests/get_project.rb,
lib/fog/compute/google/requests/get_url_map.rb,
lib/fog/compute/google/requests/insert_disk.rb,
lib/fog/compute/google/requests/list_images.rb,
lib/fog/compute/google/requests/list_routes.rb,
lib/fog/compute/google/requests/stop_server.rb,
lib/fog/compute/google/requests/delete_image.rb,
lib/fog/compute/google/requests/delete_route.rb,
lib/fog/compute/google/requests/get_firewall.rb,
lib/fog/compute/google/requests/get_snapshot.rb,
lib/fog/compute/google/requests/insert_image.rb,
lib/fog/compute/google/requests/insert_route.rb,
lib/fog/compute/google/requests/list_regions.rb,
lib/fog/compute/google/requests/list_servers.rb,
lib/fog/compute/google/requests/reset_server.rb,
lib/fog/compute/google/requests/start_server.rb,
lib/fog/compute/google/requests/delete_server.rb,
lib/fog/compute/google/requests/get_disk_type.rb,
lib/fog/compute/google/requests/insert_server.rb,
lib/fog/compute/google/requests/list_networks.rb,
lib/fog/compute/google/requests/list_url_maps.rb,
lib/fog/compute/google/requests/patch_url_map.rb,
lib/fog/compute/google/requests/delete_address.rb,
lib/fog/compute/google/requests/delete_network.rb,
lib/fog/compute/google/requests/delete_url_map.rb,
lib/fog/compute/google/requests/get_subnetwork.rb,
lib/fog/compute/google/requests/insert_address.rb,
lib/fog/compute/google/requests/insert_network.rb,
lib/fog/compute/google/requests/insert_url_map.rb,
lib/fog/compute/google/requests/list_addresses.rb,
lib/fog/compute/google/requests/list_firewalls.rb,
lib/fog/compute/google/requests/list_snapshots.rb,
lib/fog/compute/google/requests/patch_firewall.rb,
lib/fog/compute/google/requests/update_url_map.rb,
lib/fog/compute/google/requests/delete_firewall.rb,
lib/fog/compute/google/requests/delete_snapshot.rb,
lib/fog/compute/google/requests/deprecate_image.rb,
lib/fog/compute/google/requests/get_target_pool.rb,
lib/fog/compute/google/requests/insert_firewall.rb,
lib/fog/compute/google/requests/list_disk_types.rb,
lib/fog/compute/google/requests/set_server_tags.rb,
lib/fog/compute/google/requests/update_firewall.rb,
lib/fog/compute/google/requests/get_machine_type.rb,
lib/fog/compute/google/requests/list_subnetworks.rb,
lib/fog/compute/google/requests/validate_url_map.rb,
lib/fog/compute/google/requests/abandon_instances.rb,
lib/fog/compute/google/requests/delete_subnetwork.rb,
lib/fog/compute/google/requests/insert_subnetwork.rb,
lib/fog/compute/google/requests/list_target_pools.rb,
lib/fog/compute/google/requests/delete_target_pool.rb,
lib/fog/compute/google/requests/get_global_address.rb,
lib/fog/compute/google/requests/get_instance_group.rb,
lib/fog/compute/google/requests/get_zone_operation.rb,
lib/fog/compute/google/requests/insert_target_pool.rb,
lib/fog/compute/google/requests/list_machine_types.rb,
lib/fog/compute/google/requests/recreate_instances.rb,
lib/fog/compute/google/requests/get_backend_service.rb,
lib/fog/compute/google/requests/get_forwarding_rule.rb,
lib/fog/compute/google/requests/get_ssl_certificate.rb,
lib/fog/compute/google/requests/get_target_instance.rb,
lib/fog/compute/google/requests/set_server_metadata.rb,
lib/fog/compute/google/requests/set_snapshot_labels.rb,
lib/fog/compute/google/requests/create_disk_snapshot.rb,
lib/fog/compute/google/requests/get_global_operation.rb,
lib/fog/compute/google/requests/get_region_operation.rb,
lib/fog/compute/google/requests/list_instance_groups.rb,
lib/fog/compute/google/requests/list_zone_operations.rb,
lib/fog/compute/google/requests/delete_global_address.rb,
lib/fog/compute/google/requests/delete_instance_group.rb,
lib/fog/compute/google/requests/delete_zone_operation.rb,
lib/fog/compute/google/requests/get_http_health_check.rb,
lib/fog/compute/google/requests/get_image_from_family.rb,
lib/fog/compute/google/requests/get_instance_template.rb,
lib/fog/compute/google/requests/get_target_http_proxy.rb,
lib/fog/compute/google/requests/insert_global_address.rb,
lib/fog/compute/google/requests/insert_instance_group.rb,
lib/fog/compute/google/requests/list_aggregated_disks.rb,
lib/fog/compute/google/requests/list_backend_services.rb,
lib/fog/compute/google/requests/list_forwarding_rules.rb,
lib/fog/compute/google/requests/list_global_addresses.rb,
lib/fog/compute/google/requests/list_ssl_certificates.rb,
lib/fog/compute/google/requests/list_target_instances.rb,
lib/fog/compute/google/requests/set_instance_template.rb,
lib/fog/compute/google/requests/set_server_scheduling.rb,
lib/fog/compute/google/requests/delete_backend_service.rb,
lib/fog/compute/google/requests/delete_forwarding_rule.rb,
lib/fog/compute/google/requests/delete_ssl_certificate.rb,
lib/fog/compute/google/requests/delete_target_instance.rb,
lib/fog/compute/google/requests/get_target_https_proxy.rb,
lib/fog/compute/google/requests/get_target_pool_health.rb,
lib/fog/compute/google/requests/insert_backend_service.rb,
lib/fog/compute/google/requests/insert_forwarding_rule.rb,
lib/fog/compute/google/requests/insert_ssl_certificate.rb,
lib/fog/compute/google/requests/insert_target_instance.rb,
lib/fog/compute/google/requests/list_global_operations.rb,
lib/fog/compute/google/requests/list_region_operations.rb,
lib/fog/compute/google/requests/reset_windows_password.rb,
lib/fog/compute/google/requests/set_target_pool_backup.rb,
lib/fog/compute/google/requests/delete_global_operation.rb,
lib/fog/compute/google/requests/delete_region_operation.rb,
lib/fog/compute/google/requests/list_aggregated_servers.rb,
lib/fog/compute/google/requests/list_http_health_checks.rb,
lib/fog/compute/google/requests/list_instance_templates.rb,
lib/fog/compute/google/requests/set_server_machine_type.rb,
lib/fog/compute/google/requests/add_server_access_config.rb,
lib/fog/compute/google/requests/delete_http_health_check.rb,
lib/fog/compute/google/requests/delete_instance_template.rb,
lib/fog/compute/google/requests/delete_target_http_proxy.rb,
lib/fog/compute/google/requests/insert_http_health_check.rb,
lib/fog/compute/google/requests/insert_instance_template.rb,
lib/fog/compute/google/requests/insert_target_http_proxy.rb,
lib/fog/compute/google/requests/invalidate_url_map_cache.rb,
lib/fog/compute/google/requests/list_target_http_proxies.rb,
lib/fog/compute/google/requests/update_http_health_check.rb,
lib/fog/compute/google/requests/add_target_pool_instances.rb,
lib/fog/compute/google/requests/delete_target_https_proxy.rb,
lib/fog/compute/google/requests/insert_target_https_proxy.rb,
lib/fog/compute/google/requests/list_aggregated_addresses.rb,
lib/fog/compute/google/requests/list_target_https_proxies.rb,
lib/fog/compute/google/requests/get_backend_service_health.rb,
lib/fog/compute/google/requests/get_global_forwarding_rule.rb,
lib/fog/compute/google/requests/get_instance_group_manager.rb,
lib/fog/compute/google/requests/list_aggregated_disk_types.rb,
lib/fog/compute/google/requests/set_forwarding_rule_target.rb,
lib/fog/compute/google/requests/delete_server_access_config.rb,
lib/fog/compute/google/requests/list_aggregated_subnetworks.rb,
lib/fog/compute/google/requests/remove_target_pool_instance.rb,
lib/fog/compute/google/requests/set_server_disk_auto_delete.rb,
lib/fog/compute/google/requests/add_backend_service_backends.rb,
lib/fog/compute/google/requests/add_instance_group_instances.rb,
lib/fog/compute/google/requests/list_aggregated_target_pools.rb,
lib/fog/compute/google/requests/list_global_forwarding_rules.rb,
lib/fog/compute/google/requests/list_instance_group_managers.rb,
lib/fog/compute/google/requests/remove_target_pool_instances.rb,
lib/fog/compute/google/requests/set_common_instance_metadata.rb,
lib/fog/compute/google/requests/add_target_pool_health_checks.rb,
lib/fog/compute/google/requests/delete_global_forwarding_rule.rb,
lib/fog/compute/google/requests/delete_instance_group_manager.rb,
lib/fog/compute/google/requests/get_server_serial_port_output.rb,
lib/fog/compute/google/requests/insert_global_forwarding_rule.rb,
lib/fog/compute/google/requests/insert_instance_group_manager.rb,
lib/fog/compute/google/requests/list_aggregated_machine_types.rb,
lib/fog/compute/google/requests/list_instance_group_instances.rb,
lib/fog/compute/google/requests/set_target_http_proxy_url_map.rb,
lib/fog/compute/google/requests/set_target_https_proxy_url_map.rb,
lib/fog/compute/google/requests/expand_subnetwork_ip_cidr_range.rb,
lib/fog/compute/google/requests/list_aggregated_instance_groups.rb,
lib/fog/compute/google/requests/remove_instance_group_instances.rb,
lib/fog/compute/google/requests/list_aggregated_forwarding_rules.rb,
lib/fog/compute/google/requests/list_aggregated_target_instances.rb,
lib/fog/compute/google/requests/remove_target_pool_health_checks.rb,
lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb,
lib/fog/compute/google/requests/list_aggregated_instance_group_managers.rb,
lib/fog/compute/google/requests/set_subnetwork_private_ip_google_access.rb,
lib/fog/compute/google/requests/set_target_https_proxy_ssl_certificates.rb
Constant Summary collapse
- INSERTABLE_FIREWALL_FIELDS =
%i{ allowed denied description destination_ranges direction name network priority source_ranges source_service_accounts source_tags target_service_accounts target_tags }.freeze
- UPDATABLE_FIREWALL_FIELDS =
%i{ allowed description source_ranges source_service_accounts source_tags target_service_accounts target_tags }.freeze
- INSERTABLE_ADDRESS_FIELDS =
%i{description ip_version}.freeze
Instance Attribute Summary collapse
-
#client ⇒ Object
Returns the value of attribute client.
-
#compute ⇒ Object
readonly
Returns the value of attribute compute.
-
#exclude_projects ⇒ Object
readonly
Returns the value of attribute exclude_projects.
-
#extra_global_projects ⇒ Object
readonly
Returns the value of attribute extra_global_projects.
Attributes included from Google::Shared
#api_url, #api_version, #project
Instance Method Summary collapse
- #abandon_instances(instance_group_manager, instances) ⇒ Object
- #add_backend_service_backends(backend_service, _new_backends) ⇒ Object
- #add_instance_group_instances(group_name, zone, instances) ⇒ Object
- #add_server_access_config(identity, zone, network_interface, access_config_name = "External NAT", nat_ip: nil) ⇒ Object
- #add_target_pool_health_checks(target_pool, region, health_checks) ⇒ Object
- #add_target_pool_instances(target_pool, region, instances) ⇒ Object
- #attach_disk(instance, zone, disk = {}) ⇒ Object
- #create_disk_snapshot(snapshot_name, disk, zone, snapshot = {}) ⇒ Object
- #decrypt_password(enc_password, key) ⇒ Object
- #default_network_interface ⇒ Object
-
#delete_address(address_name, region_name) ⇒ Object
Delete an address resource in the specified project cloud.google.com/compute/docs/reference/latest/addresses/delete.
- #delete_backend_service(backend_service_name) ⇒ Object
-
#delete_disk(disk_name, zone_name) ⇒ Object
Delete a disk resource cloud.google.com/compute/docs/reference/latest/disks/delete.
- #delete_firewall(firewall_name) ⇒ Object
- #delete_forwarding_rule(rule, region) ⇒ Object
- #delete_global_address(address_name) ⇒ Object
- #delete_global_forwarding_rule(rule) ⇒ Object
- #delete_global_operation(operation) ⇒ Object
- #delete_http_health_check(check_name) ⇒ Object
- #delete_image(image_name, project = @project) ⇒ Object
- #delete_instance_group(group_name, zone) ⇒ Object
- #delete_instance_group_manager(name, zone) ⇒ Object
- #delete_instance_template(name) ⇒ Object
- #delete_network(network_name) ⇒ Object
-
#delete_region_operation(region, operation) ⇒ Object
Deletes the specified region-specific Operations resource.
-
#delete_route(identity) ⇒ Object
Deletes the specified Route resource.
- #delete_server(server, zone) ⇒ Object
- #delete_server_access_config(identity, zone, nic, access_config = "External NAT") ⇒ Object
- #delete_snapshot(snapshot_name) ⇒ Object
- #delete_ssl_certificate(certificate_name) ⇒ Object
-
#delete_subnetwork(subnetwork_name, region_name) ⇒ Google::Apis::ComputeV1::Operation
Delete a subnetwork.
- #delete_target_http_proxy(proxy_name) ⇒ Object
- #delete_target_https_proxy(proxy_name) ⇒ Object
- #delete_target_instance(target_name, zone) ⇒ Object
- #delete_target_pool(target_pool, region) ⇒ Object
- #delete_url_map(url_map_name) ⇒ Object
- #delete_zone_operation(zone_name, operation) ⇒ Object
- #deprecate_image(image_name, deprecation_status = {}, project = @project) ⇒ Object
- #detach_disk(instance, zone, device_name) ⇒ Object
-
#expand_subnetwork_ip_cidr_range(subnetwork, region, ip_cidr_range) ⇒ Google::Apis::ComputeV1::SubnetworkList
Expands the IP CIDR range of the subnetwork to a specified value.
-
#get_address(address_name, region_name) ⇒ Object
Get an address resource in the specified project cloud.google.com/compute/docs/reference/latest/addresses/get.
- #get_backend_service(service_name) ⇒ Object
- #get_backend_service_health(backend_service) ⇒ Object
-
#get_disk(disk_name, zone_name) ⇒ Object
Get a disk resource by name from the specified zone cloud.google.com/compute/docs/reference/latest/disks/get.
- #get_disk_type(disk, zone) ⇒ Object
- #get_encrypted_password_from_serial_port(serial_port_output, modulus) ⇒ Object
- #get_expiration_time_string ⇒ Object
- #get_firewall(firewall_name) ⇒ Object
- #get_forwarding_rule(rule, region) ⇒ Object
- #get_global_address(address_name) ⇒ Object
- #get_global_forwarding_rule(rule) ⇒ Object
-
#get_global_operation(operation) ⇒ Object
Get the updated status of a global operation.
- #get_http_health_check(check_name) ⇒ Object
- #get_image(image_name, project = @project) ⇒ Object
-
#get_image_from_family(family, project = @project) ⇒ Object
Returns the latest non-deprecated image that is part of an image family.
- #get_instance_group(group_name, zone, project = @project) ⇒ Object
- #get_instance_group_manager(name, zone) ⇒ Object
- #get_instance_template(name) ⇒ Object
- #get_json_string(user, modulus, exponent, email) ⇒ Object
- #get_machine_type(machine_type, zone) ⇒ Object
- #get_modulus_exponent_in_base64(key) ⇒ Object
- #get_network(network_name) ⇒ Object
- #get_project(identity) ⇒ Object
- #get_region(identity) ⇒ Object
-
#get_region_operation(region, operation) ⇒ Object
Retrieves the specified region-specific Operations resource.
-
#get_route(identity) ⇒ Object
List address resources in the specified project.
- #get_server(instance, zone) ⇒ Object
-
#get_server_serial_port_output(identity, zone, port: nil, start: nil) ⇒ Object
Returns the specified instance’s serial port output.
- #get_snapshot(snap_name, project = @project) ⇒ Object
- #get_ssl_certificate(certificate_name) ⇒ Object
-
#get_subnetwork(subnetwork_name, region_name) ⇒ Google::Apis::ComputeV1::Operation
Returns the specified subnetwork.
- #get_target_http_proxy(proxy_name) ⇒ Object
- #get_target_https_proxy(proxy_name) ⇒ Object
- #get_target_instance(target_name, zone) ⇒ Object
- #get_target_pool(target_pool, region) ⇒ Object
- #get_target_pool_health(target_pool, region, instance) ⇒ Object
- #get_url_map(url_map_name) ⇒ Object
- #get_zone(zone_name) ⇒ Object
-
#get_zone_operation(zone_name, operation) ⇒ Object
Get the updated status of a zone operation.
-
#initialize(options) ⇒ Real
constructor
A new instance of Real.
-
#insert_address(address_name, region_name, options = {}) ⇒ Object
Create an address resource in the specified project cloud.google.com/compute/docs/reference/latest/addresses/insert.
- #insert_backend_service(backend_service_name, opts = {}) ⇒ Object
-
#insert_disk(disk_name, zone, source_image = nil, description: nil, type: nil, size_gb: nil, source_snapshot: nil, labels: nil, **_opts) ⇒ Object
Create a disk resource in a specific zone cloud.google.com/compute/docs/reference/latest/disks/insert.
-
#insert_firewall(firewall_name, opts = {}) ⇒ Object
Create a Firewall resource.
-
#insert_forwarding_rule(rule_name, region, opts = {}) ⇒ Object
Create a forwarding rule.
- #insert_global_address(address_name, options = {}) ⇒ Object
-
#insert_global_forwarding_rule(rule_name, opts = {}) ⇒ Object
Create a global forwarding rule.
- #insert_http_health_check(check_name, opts = {}) ⇒ Object
- #insert_image(image_name, image = {}, project = @project) ⇒ Object
- #insert_instance_group(group_name, zone, options = {}) ⇒ Object
- #insert_instance_group_manager(name, zone, instance_template, base_instance_name, target_size, target_pools, named_ports, description) ⇒ Object
-
#insert_instance_template(name, properties, description) ⇒ ::Google::Apis::ComputeV1::Operation
Create a new template.
- #insert_network(network_name, opts = {}) ⇒ Object
-
#insert_route(route_name, network, dest_range, priority, options = {}) ⇒ Object
Creates a Route resource.
-
#insert_server(instance_name, zone, options = {}) ⇒ ::Google::Apis::ComputeV1::Operation
Create a new instance (virtual machine).
- #insert_ssl_certificate(certificate_name, certificate, private_key, description: nil) ⇒ Object
-
#insert_subnetwork(subnetwork_name, region_name, network, ip_range, options = {}) ⇒ Google::Apis::ComputeV1::Operation
Create a subnetwork.
- #insert_target_http_proxy(proxy_name, description: nil, url_map: nil) ⇒ Object
- #insert_target_https_proxy(proxy_name, description: nil, url_map: nil, ssl_certificates: nil) ⇒ Object
- #insert_target_instance(target_name, zone, target_instance = {}) ⇒ Object
- #insert_target_pool(target_pool_name, region, target_pool = {}) ⇒ Object
- #insert_url_map(url_map_name, url_map = {}) ⇒ Object
- #invalidate_url_map_cache(url_map_name, path, host = nil) ⇒ Object
- #last_url_segment(network) ⇒ Object
-
#list_addresses(region_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
List address resources in the specified project.
-
#list_aggregated_addresses(options = {}) ⇒ Object
Retrieves an aggregated list of addresses cloud.google.com/compute/docs/reference/latest/addresses/aggregatedList.
- #list_aggregated_disk_types(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
-
#list_aggregated_disks(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
Retrieves an aggregated list of disks cloud.google.com/compute/docs/reference/latest/disks/aggregatedList.
- #list_aggregated_forwarding_rules(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_aggregated_instance_group_managers(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_aggregated_instance_groups(options = {}) ⇒ Object
- #list_aggregated_machine_types(filter: nil, max_results: nil, page_token: nil, order_by: nil) ⇒ Object
- #list_aggregated_servers(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
-
#list_aggregated_subnetworks(filter: nil, max_results: nil, page_token: nil, order_by: nil) ⇒ Google::Apis::ComputeV1::SubnetworkAggregatedList
Retrieves an aggregated list of subnetworks across a project.
- #list_aggregated_target_instances(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_aggregated_target_pools(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_backend_services ⇒ Object
- #list_disk_types(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
-
#list_disks(zone_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
List disk resources in the specified zone cloud.google.com/compute/docs/reference/latest/disks/list.
- #list_firewalls(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_forwarding_rules(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
-
#list_global_addresses(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
List address resources in the specified project.
- #list_global_forwarding_rules(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_global_operations(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_http_health_checks(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_images(project = @project, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_instance_group_instances(group_name, zone) ⇒ Object
- #list_instance_group_managers(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_instance_groups(zone) ⇒ Object
- #list_instance_templates(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_machine_types(zone, filter: nil, max_results: nil, page_token: nil, order_by: nil) ⇒ Object
- #list_networks(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
-
#list_region_operations(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
Retrieves a list of Operation resources contained within the specified region.
- #list_regions(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
-
#list_routes(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
Retrieves the list of Route resources available to the specified project.
- #list_servers(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_snapshots(project = @project, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_ssl_certificates(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
-
#list_subnetworks(region_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Google::Apis::ComputeV1::SubnetworkList
Retrieves a list of subnetworks specific to a region and project.
- #list_target_http_proxies(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_target_https_proxies(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_target_instances(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_target_pools(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_url_maps(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_zone_operations(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
- #list_zones(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
-
#patch_firewall(firewall_name, opts = {}) ⇒ Object
Patch a Firewall resource.
- #patch_url_map(url_map_name, options = {}) ⇒ Object
- #process_disks(disks) ⇒ Object
- #process_network_interfaces(network_interfaces) ⇒ Object
- #recreate_instances(instance_group_manager, instances) ⇒ Object
- #remove_instance_group_instances(group_name, zone, instances) ⇒ Object
- #remove_target_pool_health_checks(target_pool, region, health_checks) ⇒ Object
- #remove_target_pool_instances(target_pool, region, instances) ⇒ Object
- #reset_server(identity, zone) ⇒ Object
-
#reset_windows_password(server:, user:) ⇒ String
Resets Windows passwords for users on Google’s Windows based images.
- #set_common_instance_metadata(project, current_fingerprint, metadata = {}) ⇒ Object
- #set_forwarding_rule_target(rule_name, region, target_opts) ⇒ Object
- #set_global_forwarding_rule_target(rule_name, target_opts) ⇒ Object
- #set_instance_template(instance_group_manager, instance_template) ⇒ Object
- #set_server_disk_auto_delete(identity, zone, auto_delete, device_name) ⇒ Object
- #set_server_machine_type(instance, zone, machine_type) ⇒ Object
-
#set_server_metadata(instance, zone, fingerprint, metadata_items = []) ⇒ Object
Set an instance metadata.
- #set_server_scheduling(identity, zone, on_host_maintenance: nil, automatic_restart: nil, preemptible: nil) ⇒ Object
- #set_server_tags(instance, zone, fingerprint, tags = []) ⇒ Object
- #set_snapshot_labels(snap_name, label_fingerprint, labels) ⇒ Object
-
#set_subnetwork_private_ip_google_access(subnetwork_name, region_name, private_ip_google_access) ⇒ Google::Apis::ComputeV1::Operation
Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.
- #set_target_http_proxy_url_map(proxy_name, url_map) ⇒ Object
- #set_target_https_proxy_ssl_certificates(proxy_name, certs) ⇒ Object
- #set_target_https_proxy_url_map(proxy_name, url_map) ⇒ Object
- #set_target_pool_backup(target_pool, region, backup_target, failover_ratio: nil) ⇒ Object
- #start_server(identity, zone) ⇒ Object
- #stop_server(identity, zone, discard_local_ssd = false) ⇒ Object
-
#update_firewall(firewall_name, opts = {}) ⇒ Object
Update a Firewall resource.
- #update_http_health_check(check_name, opts = {}) ⇒ Object
- #update_url_map(url_map_name, url_map = {}) ⇒ Object
- #update_windows_keys(old_metadata, metadata_entry) ⇒ Object
- #validate_url_map(url_map_name, url_map = {}) ⇒ Object
Methods included from Google::Shared
#apply_client_options, #build_excon_response, #initialize_auth, #initialize_google_client, #request, #shared_initialize
Constructor Details
#initialize(options) ⇒ Real
Returns a new instance of Real.
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/real.rb', line 10 def initialize() shared_initialize([:google_project], GOOGLE_COMPUTE_API_VERSION, GOOGLE_COMPUTE_BASE_URL) [:google_api_scope_url] = GOOGLE_COMPUTE_API_SCOPE_URLS.join(" ") initialize_google_client() @compute = ::Google::Apis::ComputeV1::ComputeService.new (@compute, ) @extra_global_projects = [:google_extra_global_projects] || [] @exclude_projects = [:google_exclude_projects] || [] end |
Instance Attribute Details
#client ⇒ Object
Returns the value of attribute client.
7 8 9 |
# File 'lib/fog/compute/google/real.rb', line 7 def client @client end |
#compute ⇒ Object (readonly)
Returns the value of attribute compute.
8 9 10 |
# File 'lib/fog/compute/google/real.rb', line 8 def compute @compute end |
#exclude_projects ⇒ Object (readonly)
Returns the value of attribute exclude_projects.
8 9 10 |
# File 'lib/fog/compute/google/real.rb', line 8 def exclude_projects @exclude_projects end |
#extra_global_projects ⇒ Object (readonly)
Returns the value of attribute extra_global_projects.
8 9 10 |
# File 'lib/fog/compute/google/real.rb', line 8 def extra_global_projects @extra_global_projects end |
Instance Method Details
#abandon_instances(instance_group_manager, instances) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fog/compute/google/requests/abandon_instances.rb', line 13 def abandon_instances(instance_group_manager, instances) request = ::Google::Apis::ComputeV1::InstanceGroupManagersAbandonInstancesRequest.new( instances: instances.map{ |i| i.class == String ? i : i.self_link } ) if instance_group_manager.zone zone = instance_group_manager.zone.split("/")[-1] @compute.abandon_instance_group_manager_instances(@project, zone, instance_group_manager.name, request) else region = instance_group_manager.region.split("/")[-1] @compute.abandon_region_instance_group_manager_instances(@project, region, instance_group_manager.name, request) end end |
#add_backend_service_backends(backend_service, _new_backends) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/add_backend_service_backends.rb', line 13 def add_backend_service_backends(backend_service, _new_backends) @compute.patch_backend_service(@project, backend_service.name, backend_service) end |
#add_instance_group_instances(group_name, zone, instances) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/compute/google/requests/add_instance_group_instances.rb', line 13 def add_instance_group_instances(group_name, zone, instances) instances.map! do |instance| if instance.start_with?("https:") ::Google::Apis::ComputeV1::InstanceReference.new(instance: instance) else ::Google::Apis::ComputeV1::InstanceReference.new( instance: "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/instances/#{instance}\n" ) end end request = ::Google::Apis::ComputeV1::InstanceGroupsAddInstancesRequest.new( instances: instances ) @compute.add_instance_group_instances( @project, zone, group_name, request ) end |
#add_server_access_config(identity, zone, network_interface, access_config_name = "External NAT", nat_ip: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/fog/compute/google/requests/add_server_access_config.rb', line 13 def add_server_access_config(identity, zone, network_interface, access_config_name = "External NAT", nat_ip: nil) @compute.add_instance_access_config( @project, zone.split("/")[-1], identity, network_interface, ::Google::Apis::ComputeV1::AccessConfig.new( name: access_config_name, nat_ip: nat_ip, type: "ONE_TO_ONE_NAT" ) ) end |
#add_target_pool_health_checks(target_pool, region, health_checks) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/fog/compute/google/requests/add_target_pool_health_checks.rb', line 13 def add_target_pool_health_checks(target_pool, region, health_checks) check_list = health_checks.map do |health_check| ::Google::Apis::ComputeV1::HealthCheckReference.new( health_check: health_check ) end @compute.add_target_pool_health_check( @project, region.split("/")[-1], target_pool, ::Google::Apis::ComputeV1::AddTargetPoolsHealthCheckRequest.new( health_checks: check_list ) ) end |
#add_target_pool_instances(target_pool, region, instances) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/fog/compute/google/requests/add_target_pool_instances.rb', line 13 def add_target_pool_instances(target_pool, region, instances) instances_lst = instances.map do |instance| ::Google::Apis::ComputeV1::InstanceReference.new(instance: instance) end @compute.add_target_pool_instance( @project, region.split("/")[-1], target_pool, ::Google::Apis::ComputeV1::AddTargetPoolsInstanceRequest.new( instances: instances_lst ) ) end |
#attach_disk(instance, zone, disk = {}) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fog/compute/google/requests/attach_disk.rb', line 13 def attach_disk(instance, zone, disk = {}) @compute.attach_disk( @project, zone.split("/")[-1], instance, ::Google::Apis::ComputeV1::AttachedDisk.new(**disk) ) end |
#create_disk_snapshot(snapshot_name, disk, zone, snapshot = {}) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/create_disk_snapshot.rb', line 13 def create_disk_snapshot(snapshot_name, disk, zone, snapshot = {}) @compute.create_disk_snapshot( @project, zone, disk, ::Google::Apis::ComputeV1::Snapshot.new( **snapshot.merge(name: snapshot_name) ) ) end |
#decrypt_password(enc_password, key) ⇒ Object
142 143 144 145 146 147 148 149 150 |
# File 'lib/fog/compute/google/requests/reset_windows_password.rb', line 142 def decrypt_password(enc_password, key) decoded_password = Base64.strict_decode64(enc_password) begin return key.private_decrypt(decoded_password, OpenSSL::PKey::RSA::PKCS1_OAEP_PADDING) rescue OpenSSL::PKey::RSAError Fog::Logger.warning("Error decrypting password received from Google. Maybe check output on Serial Port 4 and Metadata key: windows-keys?") end end |
#default_network_interface ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/insert_server.rb', line 13 def default_network_interface { :network => "global/networks/#{GOOGLE_COMPUTE_DEFAULT_NETWORK}" } end |
#delete_address(address_name, region_name) ⇒ Object
Delete an address resource in the specified project cloud.google.com/compute/docs/reference/latest/addresses/delete
18 19 20 |
# File 'lib/fog/compute/google/requests/delete_address.rb', line 18 def delete_address(address_name, region_name) @compute.delete_address(@project, region_name, address_name) end |
#delete_backend_service(backend_service_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_backend_service.rb', line 13 def delete_backend_service(backend_service_name) @compute.delete_backend_service(@project, backend_service_name) end |
#delete_disk(disk_name, zone_name) ⇒ Object
Delete a disk resource cloud.google.com/compute/docs/reference/latest/disks/delete
18 19 20 21 |
# File 'lib/fog/compute/google/requests/delete_disk.rb', line 18 def delete_disk(disk_name, zone_name) zone_name = zone_name.split("/")[-1] if zone_name.start_with? "http" @compute.delete_disk(@project, zone_name, disk_name) end |
#delete_firewall(firewall_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_firewall.rb', line 13 def delete_firewall(firewall_name) @compute.delete_firewall(@project, firewall_name) end |
#delete_forwarding_rule(rule, region) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/delete_forwarding_rule.rb', line 13 def delete_forwarding_rule(rule, region) region = region.split("/")[-1] if region.start_with? "http" @compute.delete_forwarding_rule(@project, region, rule) end |
#delete_global_address(address_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_global_address.rb', line 13 def delete_global_address(address_name) @compute.delete_global_address(@project, address_name) end |
#delete_global_forwarding_rule(rule) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_global_forwarding_rule.rb', line 13 def delete_global_forwarding_rule(rule) @compute.delete_global_forwarding_rule(@project, rule) end |
#delete_global_operation(operation) ⇒ Object
14 15 16 |
# File 'lib/fog/compute/google/requests/delete_global_operation.rb', line 14 def delete_global_operation(operation) @compute.delete_global_operation(@project, operation) end |
#delete_http_health_check(check_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_http_health_check.rb', line 13 def delete_http_health_check(check_name) @compute.delete_http_health_check(@project, check_name) end |
#delete_image(image_name, project = @project) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_image.rb', line 13 def delete_image(image_name, project = @project) @compute.delete_image(project, image_name) end |
#delete_instance_group(group_name, zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_instance_group.rb', line 13 def delete_instance_group(group_name, zone) @compute.delete_instance_group(@project, zone, group_name) end |
#delete_instance_group_manager(name, zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_instance_group_manager.rb', line 13 def delete_instance_group_manager(name, zone) @compute.delete_instance_group_manager(@project, zone, name) end |
#delete_instance_template(name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_instance_template.rb', line 13 def delete_instance_template(name) @compute.delete_instance_template(@project, name) end |
#delete_network(network_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_network.rb', line 13 def delete_network(network_name) @compute.delete_network(@project, network_name) end |
#delete_region_operation(region, operation) ⇒ Object
Deletes the specified region-specific Operations resource.
15 16 17 18 |
# File 'lib/fog/compute/google/requests/delete_region_operation.rb', line 15 def delete_region_operation(region, operation) region = region.split("/")[-1] if region.start_with? "http" @compute.delete_region_operation(@project, region, operation) end |
#delete_route(identity) ⇒ Object
Deletes the specified Route resource.
17 18 19 |
# File 'lib/fog/compute/google/requests/delete_route.rb', line 17 def delete_route(identity) @compute.delete_route(@project, identity) end |
#delete_server(server, zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_server.rb', line 13 def delete_server(server, zone) @compute.delete_instance(@project, zone.split("/")[-1], server) end |
#delete_server_access_config(identity, zone, nic, access_config = "External NAT") ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fog/compute/google/requests/delete_server_access_config.rb', line 13 def delete_server_access_config(identity, zone, nic, access_config = "External NAT") @compute.delete_instance_access_config( @project, zone.split("/")[-1], identity, access_config, nic ) end |
#delete_snapshot(snapshot_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_snapshot.rb', line 13 def delete_snapshot(snapshot_name) @compute.delete_snapshot(@project, snapshot_name) end |
#delete_ssl_certificate(certificate_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_ssl_certificate.rb', line 13 def delete_ssl_certificate(certificate_name) @compute.delete_ssl_certificate(project, certificate_name) end |
#delete_subnetwork(subnetwork_name, region_name) ⇒ Google::Apis::ComputeV1::Operation
Delete a subnetwork.
22 23 24 25 26 27 |
# File 'lib/fog/compute/google/requests/delete_subnetwork.rb', line 22 def delete_subnetwork(subnetwork_name, region_name) if region_name.start_with? "http" region_name = region_name.split("/")[-1] end @compute.delete_subnetwork(@project, region_name, subnetwork_name) end |
#delete_target_http_proxy(proxy_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_target_http_proxy.rb', line 13 def delete_target_http_proxy(proxy_name) @compute.delete_target_http_proxy(@project, proxy_name) end |
#delete_target_https_proxy(proxy_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_target_https_proxy.rb', line 13 def delete_target_https_proxy(proxy_name) @compute.delete_target_https_proxy(@project, proxy_name) end |
#delete_target_instance(target_name, zone) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/delete_target_instance.rb', line 13 def delete_target_instance(target_name, zone) zone = zone.split("/")[-1] if zone.start_with? "http" @compute.delete_target_instance(@project, zone, target_name) end |
#delete_target_pool(target_pool, region) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/delete_target_pool.rb', line 13 def delete_target_pool(target_pool, region) region = region.split("/")[-1] if region.start_with? "http" @compute.delete_target_pool(@project, region, target_pool) end |
#delete_url_map(url_map_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/delete_url_map.rb', line 13 def delete_url_map(url_map_name) @compute.delete_url_map(@project, url_map_name) end |
#delete_zone_operation(zone_name, operation) ⇒ Object
15 16 17 18 |
# File 'lib/fog/compute/google/requests/delete_zone_operation.rb', line 15 def delete_zone_operation(zone_name, operation) zone_name = zone_name.split("/")[-1] if zone_name.start_with? "http" @compute.delete_zone_operation(@project, zone_name, operation) end |
#deprecate_image(image_name, deprecation_status = {}, project = @project) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fog/compute/google/requests/deprecate_image.rb', line 13 def deprecate_image(image_name, deprecation_status = {}, project = @project) @compute.deprecate_image( project, image_name, ::Google::Apis::ComputeV1::DeprecationStatus.new(deprecation_status) ) end |
#detach_disk(instance, zone, device_name) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/detach_disk.rb', line 13 def detach_disk(instance, zone, device_name) zone = zone.split("/")[-1] @compute.detach_disk(@project, zone, instance, device_name) end |
#expand_subnetwork_ip_cidr_range(subnetwork, region, ip_cidr_range) ⇒ Google::Apis::ComputeV1::SubnetworkList
Expands the IP CIDR range of the subnetwork to a specified value.
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/fog/compute/google/requests/expand_subnetwork_ip_cidr_range.rb', line 24 def (subnetwork, region, ip_cidr_range) if region.start_with? "http" region = region.split("/")[-1] end @compute.( @project, region, subnetwork, ::Google::Apis::ComputeV1::SubnetworksExpandIpCidrRangeRequest.new( ip_cidr_range: ip_cidr_range ) ) end |
#get_address(address_name, region_name) ⇒ Object
Get an address resource in the specified project cloud.google.com/compute/docs/reference/latest/addresses/get
18 19 20 |
# File 'lib/fog/compute/google/requests/get_address.rb', line 18 def get_address(address_name, region_name) @compute.get_address(@project, region_name, address_name) end |
#get_backend_service(service_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_backend_service.rb', line 13 def get_backend_service(service_name) @compute.get_backend_service(@project, service_name) end |
#get_backend_service_health(backend_service) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/get_backend_service_health.rb', line 13 def get_backend_service_health(backend_service) health_results = backend_service.backends.map do |backend| group = ::Google::Apis::ComputeV1::ResourceGroupReference.new(group: backend[:group]) resp = @compute.get_backend_service_health(@project, backend_service.name, group) [backend[:group], resp.health_status] end Hash[health_results] end |
#get_disk(disk_name, zone_name) ⇒ Object
Get a disk resource by name from the specified zone cloud.google.com/compute/docs/reference/latest/disks/get
17 18 19 20 |
# File 'lib/fog/compute/google/requests/get_disk.rb', line 17 def get_disk(disk_name, zone_name) zone_name = zone_name.split("/")[-1] if zone_name.start_with? "http" @compute.get_disk(@project, zone_name, disk_name) end |
#get_disk_type(disk, zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_disk_type.rb', line 13 def get_disk_type(disk, zone) @compute.get_disk_type(@project, zone.split("/")[-1], disk) end |
#get_encrypted_password_from_serial_port(serial_port_output, modulus) ⇒ Object
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/fog/compute/google/requests/reset_windows_password.rb', line 122 def get_encrypted_password_from_serial_port(serial_port_output, modulus) output = serial_port_output.split("\n") output.reverse_each do |line| begin if line.include?("modulus") && line.include?("encryptedPassword") entry = ::JSON.parse(line) if modulus == entry["modulus"] return entry["encryptedPassword"] end else next end rescue ::JSON::ParserError Fog::Logger.warning("Parsing encrypted password from serial output failed. Trying to parse next matching line.") next end end end |
#get_expiration_time_string ⇒ Object
96 97 98 99 100 |
# File 'lib/fog/compute/google/requests/reset_windows_password.rb', line 96 def get_expiration_time_string utc_now = Time.now.utc expire_time = utc_now + 5 * 60 return expire_time.strftime("%Y-%m-%dT%H:%M:%SZ") end |
#get_firewall(firewall_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_firewall.rb', line 13 def get_firewall(firewall_name) @compute.get_firewall(@project, firewall_name) end |
#get_forwarding_rule(rule, region) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fog/compute/google/requests/get_forwarding_rule.rb', line 13 def get_forwarding_rule(rule, region) if region.start_with? "http" region = region.split("/")[-1] end @compute.get_forwarding_rule(@project, region, rule) end |
#get_global_address(address_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_global_address.rb', line 13 def get_global_address(address_name) @compute.get_global_address(@project, address_name) end |
#get_global_forwarding_rule(rule) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_global_forwarding_rule.rb', line 13 def get_global_forwarding_rule(rule) @compute.get_global_forwarding_rule(@project, rule) end |
#get_global_operation(operation) ⇒ Object
Get the updated status of a global operation
17 18 19 |
# File 'lib/fog/compute/google/requests/get_global_operation.rb', line 17 def get_global_operation(operation) @compute.get_global_operation(@project, operation) end |
#get_http_health_check(check_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_http_health_check.rb', line 13 def get_http_health_check(check_name) @compute.get_http_health_check(@project, check_name) end |
#get_image(image_name, project = @project) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/get_image.rb', line 13 def get_image(image_name, project = @project) project = @project if project.nil? @compute.get_image(project, image_name) end |
#get_image_from_family(family, project = @project) ⇒ Object
Returns the latest non-deprecated image that is part of an image family.
20 21 22 |
# File 'lib/fog/compute/google/requests/get_image_from_family.rb', line 20 def get_image_from_family(family, project = @project) @compute.get_image_from_family(project, family) end |
#get_instance_group(group_name, zone, project = @project) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_instance_group.rb', line 13 def get_instance_group(group_name, zone, project = @project) @compute.get_instance_group(project, zone, group_name) end |
#get_instance_group_manager(name, zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_instance_group_manager.rb', line 13 def get_instance_group_manager(name, zone) @compute.get_instance_group_manager(@project, zone, name) end |
#get_instance_template(name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_instance_template.rb', line 13 def get_instance_template(name) @compute.get_instance_template(@project, name) end |
#get_json_string(user, modulus, exponent, email) ⇒ Object
102 103 104 105 106 107 108 109 110 |
# File 'lib/fog/compute/google/requests/reset_windows_password.rb', line 102 def get_json_string(user, modulus, exponent, email) expire = get_expiration_time_string data = { 'userName': user, 'modulus': modulus, 'exponent': exponent, 'email': email, 'expireOn': expire } return ::JSON.dump(data) end |
#get_machine_type(machine_type, zone) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/get_machine_type.rb', line 13 def get_machine_type(machine_type, zone) zone = zone.split("/")[-1] if zone.start_with? "http" @compute.get_machine_type(@project, zone, machine_type) end |
#get_modulus_exponent_in_base64(key) ⇒ Object
88 89 90 91 92 93 94 |
# File 'lib/fog/compute/google/requests/reset_windows_password.rb', line 88 def get_modulus_exponent_in_base64(key) mod = [key.n.to_s(16)].pack("H*").strip exp = [key.e.to_s(16)].pack("H*").strip modulus = Base64.strict_encode64(mod).strip exponent = Base64.strict_encode64(exp).strip return modulus, exponent end |
#get_network(network_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_network.rb', line 13 def get_network(network_name) @compute.get_network(@project, network_name) end |
#get_project(identity) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_project.rb', line 13 def get_project(identity) @compute.get_project(identity) end |
#get_region(identity) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_region.rb', line 13 def get_region(identity) @compute.get_region(@project, identity.split("/")[-1]) end |
#get_region_operation(region, operation) ⇒ Object
Retrieves the specified region-specific Operations resource
13 14 15 16 |
# File 'lib/fog/compute/google/requests/get_region_operation.rb', line 13 def get_region_operation(region, operation) region = region.split("/")[-1] if region.start_with? "http" @compute.get_region_operation(@project, region, operation) end |
#get_route(identity) ⇒ Object
List address resources in the specified project
16 17 18 |
# File 'lib/fog/compute/google/requests/get_route.rb', line 16 def get_route(identity) @compute.get_route(@project, identity) end |
#get_server(instance, zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_server.rb', line 13 def get_server(instance, zone) @compute.get_instance(@project, zone.split("/")[-1], instance) end |
#get_server_serial_port_output(identity, zone, port: nil, start: nil) ⇒ Object
Returns the specified instance’s serial port output.
26 27 28 29 30 31 32 33 34 |
# File 'lib/fog/compute/google/requests/get_server_serial_port_output.rb', line 26 def get_server_serial_port_output(identity, zone, port: nil, start: nil) @compute.get_instance_serial_port_output( @project, zone.split("/")[-1], identity, port: port, start: start ) end |
#get_snapshot(snap_name, project = @project) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/get_snapshot.rb', line 13 def get_snapshot(snap_name, project = @project) raise ArgumentError.new "snap_name must not be nil." if snap_name.nil? @compute.get_snapshot(project, snap_name) end |
#get_ssl_certificate(certificate_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_ssl_certificate.rb', line 13 def get_ssl_certificate(certificate_name) @compute.get_ssl_certificate(@project, certificate_name) end |
#get_subnetwork(subnetwork_name, region_name) ⇒ Google::Apis::ComputeV1::Operation
Returns the specified subnetwork.
21 22 23 24 25 |
# File 'lib/fog/compute/google/requests/get_subnetwork.rb', line 21 def get_subnetwork(subnetwork_name, region_name) subnetwork_name = subnetwork_name.split("/")[-1] if subnetwork_name.start_with? "http" region_name = region_name.split("/")[-1] if region_name.start_with? "http" @compute.get_subnetwork(@project, region_name, subnetwork_name) end |
#get_target_http_proxy(proxy_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_target_http_proxy.rb', line 13 def get_target_http_proxy(proxy_name) @compute.get_target_http_proxy(@project, proxy_name) end |
#get_target_https_proxy(proxy_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_target_https_proxy.rb', line 13 def get_target_https_proxy(proxy_name) @compute.get_target_https_proxy(@project, proxy_name) end |
#get_target_instance(target_name, zone) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/get_target_instance.rb', line 13 def get_target_instance(target_name, zone) zone = zone.split("/")[-1] if zone.start_with? "http" @compute.get_target_instance(@project, zone, target_name) end |
#get_target_pool(target_pool, region) ⇒ Object
13 14 15 16 |
# File 'lib/fog/compute/google/requests/get_target_pool.rb', line 13 def get_target_pool(target_pool, region) region = region.split("/")[-1] if region.start_with? "http" @compute.get_target_pool(@project, region, target_pool) end |
#get_target_pool_health(target_pool, region, instance) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/get_target_pool_health.rb', line 13 def get_target_pool_health(target_pool, region, instance) @compute.get_target_pool_health( @project, region.split("/")[-1], target_pool, ::Google::Apis::ComputeV1::InstanceReference.new( instance: instance ) ) end |
#get_url_map(url_map_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_url_map.rb', line 13 def get_url_map(url_map_name) @compute.get_url_map(@project, url_map_name) end |
#get_zone(zone_name) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/get_zone.rb', line 13 def get_zone(zone_name) @compute.get_zone(@project, zone_name) end |
#get_zone_operation(zone_name, operation) ⇒ Object
Get the updated status of a zone operation
18 19 20 21 |
# File 'lib/fog/compute/google/requests/get_zone_operation.rb', line 18 def get_zone_operation(zone_name, operation) zone_name = zone_name.split("/")[-1] if zone_name.start_with? "http" @compute.get_zone_operation(@project, zone_name, operation) end |
#insert_address(address_name, region_name, options = {}) ⇒ Object
Create an address resource in the specified project cloud.google.com/compute/docs/reference/latest/addresses/insert
20 21 22 23 24 25 26 |
# File 'lib/fog/compute/google/requests/insert_address.rb', line 20 def insert_address(address_name, region_name, = {}) address = ::Google::Apis::ComputeV1::Address.new( name: address_name, description: [:description] ) @compute.insert_address(@project, region_name, address) end |
#insert_backend_service(backend_service_name, opts = {}) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/fog/compute/google/requests/insert_backend_service.rb', line 13 def insert_backend_service(backend_service_name, opts = {}) = opts.reject { |_k, v| v.nil? } .merge(:name => backend_service_name) be_service = ::Google::Apis::ComputeV1::BackendService.new(**) @compute.insert_backend_service(@project, be_service) end |
#insert_disk(disk_name, zone, source_image = nil, description: nil, type: nil, size_gb: nil, source_snapshot: nil, labels: nil, **_opts) ⇒ Object
Create a disk resource in a specific zone cloud.google.com/compute/docs/reference/latest/disks/insert
create the disk from, see cloud.google.com/compute/docs/reference/latest/disks/insert TODO(2.0): change source_image to keyword argument in 2.0 and gracefully deprecate
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fog/compute/google/requests/insert_disk.rb', line 26 def insert_disk(disk_name, zone, source_image = nil, description: nil, type: nil, size_gb: nil, source_snapshot: nil, labels: nil, **_opts) if source_image && !source_image.include?("projects/") raise ArgumentError.new("source_image needs to be self-link formatted or specify a family") end disk_opts = { :name => disk_name, :description => description, :type => type, :size_gb => size_gb, :source_snapshot => source_snapshot, :source_image => source_image } disk_opts[:labels] = labels if labels disk = ::Google::Apis::ComputeV1::Disk.new(**disk_opts) @compute.insert_disk(@project, zone.split("/")[-1], disk) end |
#insert_firewall(firewall_name, opts = {}) ⇒ Object
Create a Firewall resource
48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/fog/compute/google/requests/insert_firewall.rb', line 48 def insert_firewall(firewall_name, opts = {}) if opts.key?(:network) && !opts[:network].empty? unless opts[:network].start_with?("http://", "https://", "projects/", "global/") opts[:network] = "projects/#{@project}/global/networks/#{opts[:network]}" end end opts = opts.select { |k, _| INSERTABLE_FIREWALL_FIELDS.include? k } .merge(:name => firewall_name) @compute.insert_firewall( @project, ::Google::Apis::ComputeV1::Firewall.new(**opts) ) end |
#insert_forwarding_rule(rule_name, region, opts = {}) ⇒ Object
Create a forwarding rule.
17 18 19 20 21 22 23 24 25 |
# File 'lib/fog/compute/google/requests/insert_forwarding_rule.rb', line 17 def insert_forwarding_rule(rule_name, region, opts = {}) region = region.split("/")[-1] if region.start_with? "http" @compute.insert_forwarding_rule( @project, region, ::Google::Apis::ComputeV1::ForwardingRule.new( **opts.merge(:name => rule_name) ) ) end |
#insert_global_address(address_name, options = {}) ⇒ Object
15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/insert_global_address.rb', line 15 def insert_global_address(address_name, = {}) opts = .select { |k, _| INSERTABLE_ADDRESS_FIELDS.include? k } .merge(:name => address_name) @compute.insert_global_address( @project, ::Google::Apis::ComputeV1::Address.new(**opts) ) end |
#insert_global_forwarding_rule(rule_name, opts = {}) ⇒ Object
Create a global forwarding rule.
17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/insert_global_forwarding_rule.rb', line 17 def insert_global_forwarding_rule(rule_name, opts = {}) opts = opts.merge(:name => rule_name) @compute.insert_global_forwarding_rule( @project, ::Google::Apis::ComputeV1::ForwardingRule.new(**opts) ) end |
#insert_http_health_check(check_name, opts = {}) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/insert_http_health_check.rb', line 13 def insert_http_health_check(check_name, opts = {}) @compute.insert_http_health_check( @project, ::Google::Apis::ComputeV1::HttpHealthCheck.new( **opts.merge(:name => check_name) ) ) end |
#insert_image(image_name, image = {}, project = @project) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/fog/compute/google/requests/insert_image.rb', line 13 def insert_image(image_name, image = {}, project = @project) image = image.merge(:name => image_name) @compute.insert_image( project, ::Google::Apis::ComputeV1::Image.new(**image) ) end |
#insert_instance_group(group_name, zone, options = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/fog/compute/google/requests/insert_instance_group.rb', line 13 def insert_instance_group(group_name, zone, = {}) if ["network"] network_name = last_url_segment(["network"]) else network_name = GOOGLE_COMPUTE_DEFAULT_NETWORK end instance_group = ::Google::Apis::ComputeV1::InstanceGroup.new( description: ["description"], name: group_name, network: "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/networks/#{network_name}" ) @compute.insert_instance_group(@project, last_url_segment(zone), instance_group) end |
#insert_instance_group_manager(name, zone, instance_template, base_instance_name, target_size, target_pools, named_ports, description) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fog/compute/google/requests/insert_instance_group_manager.rb', line 14 def insert_instance_group_manager(name, zone, instance_template, base_instance_name, target_size, target_pools, named_ports, description) instance_group_manager = ::Google::Apis::ComputeV1::InstanceGroupManager.new( description: description, name: name, instance_template: instance_template.self_link, base_instance_name: base_instance_name, target_size: target_size, named_ports: named_ports || [], target_pools: target_pools || [], ) @compute.insert_instance_group_manager(@project, zone, instance_group_manager) end |
#insert_instance_template(name, properties, description) ⇒ ::Google::Apis::ComputeV1::Operation
Create a new template.
26 27 28 29 30 31 32 33 34 |
# File 'lib/fog/compute/google/requests/insert_instance_template.rb', line 26 def insert_instance_template(name, properties, description) instance_template = ::Google::Apis::ComputeV1::InstanceTemplate.new( description: description, name: name, properties: properties, ) @compute.insert_instance_template(@project, instance_template) end |
#insert_network(network_name, opts = {}) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/insert_network.rb', line 13 def insert_network(network_name, opts = {}) opts = opts.merge(:name => network_name) @compute.insert_network( @project, ::Google::Apis::ComputeV1::Network.new(**opts) ) end |
#insert_route(route_name, network, dest_range, priority, options = {}) ⇒ Object
Creates a Route resource.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/fog/compute/google/requests/insert_route.rb', line 16 def insert_route(route_name, network, dest_range, priority, = {}) route = ::Google::Apis::ComputeV1::Route.new( name: route_name, network: network, dest_range: dest_range, priority: priority, tags: [:tags] || [], next_hop_instance: [:next_hop_instance], next_hop_gateway: [:next_hop_gateway], next_hop_ip: [:next_hop_ip], next_hop_vpn_tunnel: [:next_hop_vpn_tunnel], description: [:description] ) @compute.insert_route(@project, route) end |
#insert_server(instance_name, zone, options = {}) ⇒ ::Google::Apis::ComputeV1::Operation
Create a new instance (virtual machine).
This method allows you to use low-level request options and thus expects instance options similar to API requests. If you don’t need to modify low-level request options, consider using the Fog::Compute::Google::Servers collection object instead.
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/fog/compute/google/requests/insert_server.rb', line 71 def insert_server(instance_name, zone, = {}) zone = zone.split("/")[-1] data = .merge(:name => instance_name) data[:disks] = process_disks([:disks]) data[:network_interfaces] = process_network_interfaces([:network_interfaces]) machine_type = [:machine_type] unless machine_type raise ArgumentError.new("machine type is required") end unless machine_type.include?("zones/") machine_type = "zones/#{zone}/machineTypes/#{data[:machine_type]}" end data[:machine_type] = machine_type # Optional subclassed attributes if data[:guest_accelerators] data[:guest_accelerators] = data[:guest_accelerators].map do |acc_config| ::Google::Apis::ComputeV1::AcceleratorConfig.new(**acc_config) end end if data[:metadata] data[:metadata] = ::Google::Apis::ComputeV1::Metadata.new(**[:metadata]) end if data[:scheduling] data[:scheduling] = ::Google::Apis::ComputeV1::Scheduling.new(**[:scheduling]) end if data[:shielded_instance_config] data[:shielded_instance_config] = ::Google::Apis::ComputeV1::ShieldedInstanceConfig.new(**[:shielded_instance_config]) end if data[:display_device] data[:display_device] = ::Google::Apis::ComputeV1::DisplayDevice.new(**[:display_device]) end if data[:tags] if [:tags].is_a?(Array) # Process classic tag notation, i.e. ["fog"] data[:tags] = ::Google::Apis::ComputeV1::Tags.new(items: [:tags]) else data[:tags] = ::Google::Apis::ComputeV1::Tags.new(**[:tags]) end end instance = ::Google::Apis::ComputeV1::Instance.new(**data) @compute.insert_instance(@project, zone, instance) end |
#insert_ssl_certificate(certificate_name, certificate, private_key, description: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/fog/compute/google/requests/insert_ssl_certificate.rb', line 13 def insert_ssl_certificate(certificate_name, certificate, private_key, description: nil) @compute.insert_ssl_certificate( @project, ::Google::Apis::ComputeV1::SslCertificate.new( certificate: certificate, name: certificate_name, private_key: private_key, description: description ) ) end |
#insert_subnetwork(subnetwork_name, region_name, network, ip_range, options = {}) ⇒ Google::Apis::ComputeV1::Operation
Create a subnetwork.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/fog/compute/google/requests/insert_subnetwork.rb', line 36 def insert_subnetwork(subnetwork_name, region_name, network, ip_range, = {}) region_name = region_name.split("/")[-1] if region_name.start_with? "http" unless network.start_with? "http" network = "#{@api_url}#{@project}/global/networks/#{network}" end params = { :name => subnetwork_name, :ip_cidr_range => ip_range, :region => region_name, :network => network } optional_fields = %i{private_ip_google_access description secondary_ip_ranges} params = optional_fields.inject(params) do |data, field| data[field] = [field] unless [field].nil? data end subnetwork = ::Google::Apis::ComputeV1::Subnetwork.new(**params) @compute.insert_subnetwork(@project, region_name, subnetwork) end |
#insert_target_http_proxy(proxy_name, description: nil, url_map: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/insert_target_http_proxy.rb', line 13 def insert_target_http_proxy(proxy_name, description: nil, url_map: nil) @compute.insert_target_http_proxy( @project, ::Google::Apis::ComputeV1::TargetHttpProxy.new( name: proxy_name, description: description, url_map: url_map ) ) end |
#insert_target_https_proxy(proxy_name, description: nil, url_map: nil, ssl_certificates: nil) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/fog/compute/google/requests/insert_target_https_proxy.rb', line 14 def insert_target_https_proxy(proxy_name, description: nil, url_map: nil, ssl_certificates: nil) @compute.insert_target_https_proxy( @project, ::Google::Apis::ComputeV1::TargetHttpsProxy.new( name: proxy_name, description: description, url_map: url_map, ssl_certificates: ssl_certificates ) ) end |
#insert_target_instance(target_name, zone, target_instance = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/insert_target_instance.rb', line 13 def insert_target_instance(target_name, zone, target_instance = {}) zone = zone.split("/")[-1] if zone.start_with? "http" @compute.insert_target_instance( @project, zone, ::Google::Apis::ComputeV1::TargetInstance.new( **target_instance.merge(name: target_name) ) ) end |
#insert_target_pool(target_pool_name, region, target_pool = {}) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fog/compute/google/requests/insert_target_pool.rb', line 13 def insert_target_pool(target_pool_name, region, target_pool = {}) pool_obj = ::Google::Apis::ComputeV1::TargetPool.new( **target_pool.merge(name: target_pool_name) ) @compute.insert_target_pool(@project, region.split("/")[-1], pool_obj) end |
#insert_url_map(url_map_name, url_map = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/compute/google/requests/insert_url_map.rb', line 13 def insert_url_map(url_map_name, url_map = {}) url_map[:host_rules] = url_map[:host_rules] || [] url_map[:path_matchers] = url_map[:path_matchers] || [] url_map[:tests] = url_map[:tests] || [] url_map_obj = ::Google::Apis::ComputeV1::UrlMap.new( **url_map.merge(:name => url_map_name) ) # HACK: Currently URL map insert may fail even though the backend # service operation is done. Retriable is not used to not add another # runtime dependency. # TODO: Remove after that has been corrected. begin retries ||= 0 @compute.insert_url_map(@project, url_map_obj) rescue ::Google::Apis::ClientError Fog::Logger.warning("URL map insert failed, retrying...") sleep 10 retry if (retries += 1) < 2 end end |
#invalidate_url_map_cache(url_map_name, path, host = nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/invalidate_url_map_cache.rb', line 13 def invalidate_url_map_cache(url_map_name, path, host = nil) @compute.invalidate_url_map_cache( @project, url_map_name, ::Google::Apis::ComputeV1::CacheInvalidationRule.new( path: path, host: host ) ) end |
#last_url_segment(network) ⇒ Object
31 32 33 |
# File 'lib/fog/compute/google/requests/insert_instance_group.rb', line 31 def last_url_segment(network) network.split("/")[-1] end |
#list_addresses(region_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
List address resources in the specified project
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fog/compute/google/requests/list_addresses.rb', line 15 def list_addresses(region_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_addresses( @project, region_name, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_aggregated_addresses(options = {}) ⇒ Object
Retrieves an aggregated list of addresses cloud.google.com/compute/docs/reference/latest/addresses/aggregatedList
17 18 19 |
# File 'lib/fog/compute/google/requests/list_aggregated_addresses.rb', line 17 def list_aggregated_addresses( = {}) @compute.list_aggregated_addresses(@project, **) end |
#list_aggregated_disk_types(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_aggregated_disk_types.rb', line 13 def list_aggregated_disk_types(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_aggregated_disk_types( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_aggregated_disks(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
Retrieves an aggregated list of disks cloud.google.com/compute/docs/reference/latest/disks/aggregatedList
21 22 23 24 25 26 27 28 |
# File 'lib/fog/compute/google/requests/list_aggregated_disks.rb', line 21 def list_aggregated_disks(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_aggregated_disk( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_aggregated_forwarding_rules(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_aggregated_forwarding_rules.rb', line 13 def list_aggregated_forwarding_rules(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_aggregated_forwarding_rules( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_aggregated_instance_group_managers(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/list_aggregated_instance_group_managers.rb', line 13 def list_aggregated_instance_group_managers(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_aggregated_instance_group_managers( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_aggregated_instance_groups(options = {}) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/list_aggregated_instance_groups.rb', line 13 def list_aggregated_instance_groups( = {}) @compute.list_aggregated_instance_groups(@project, **) end |
#list_aggregated_machine_types(filter: nil, max_results: nil, page_token: nil, order_by: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_aggregated_machine_types.rb', line 13 def list_aggregated_machine_types(filter: nil, max_results: nil, page_token: nil, order_by: nil) @compute.list_aggregated_machine_types( @project, filter: filter, max_results: max_results, page_token: page_token, order_by: order_by ) end |
#list_aggregated_servers(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_aggregated_servers.rb', line 13 def list_aggregated_servers(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_aggregated_instances( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_aggregated_subnetworks(filter: nil, max_results: nil, page_token: nil, order_by: nil) ⇒ Google::Apis::ComputeV1::SubnetworkAggregatedList
Retrieves an aggregated list of subnetworks across a project.
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/fog/compute/google/requests/list_aggregated_subnetworks.rb', line 23 def list_aggregated_subnetworks(filter: nil, max_results: nil, page_token: nil, order_by: nil) @compute.aggregated_subnetwork_list( @project, filter: filter, max_results: max_results, page_token: page_token, order_by: order_by ) end |
#list_aggregated_target_instances(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/list_aggregated_target_instances.rb', line 13 def list_aggregated_target_instances(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_aggregated_target_instance( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_aggregated_target_pools(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/list_aggregated_target_pools.rb', line 13 def list_aggregated_target_pools(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_aggregated_target_pools( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_backend_services ⇒ Object
16 17 18 |
# File 'lib/fog/compute/google/requests/list_backend_services.rb', line 16 def list_backend_services @compute.list_backend_services(@project) end |
#list_disk_types(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_disk_types.rb', line 13 def list_disk_types(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_disk_types( @project, zone.split("/")[-1], filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_disks(zone_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
List disk resources in the specified zone cloud.google.com/compute/docs/reference/latest/disks/list
17 18 19 20 21 22 23 24 |
# File 'lib/fog/compute/google/requests/list_disks.rb', line 17 def list_disks(zone_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_disks( @project, zone_name, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_firewalls(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_firewalls.rb', line 13 def list_firewalls(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_firewalls(@project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token) end |
#list_forwarding_rules(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/list_forwarding_rules.rb', line 13 def list_forwarding_rules(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_forwarding_rules( @project, region, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_global_addresses(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
List address resources in the specified project
15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/list_global_addresses.rb', line 15 def list_global_addresses(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_global_addresses(@project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token) end |
#list_global_forwarding_rules(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_global_forwarding_rules.rb', line 13 def list_global_forwarding_rules(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_global_forwarding_rules( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_global_operations(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/fog/compute/google/requests/list_global_operations.rb', line 14 def list_global_operations(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_global_operations( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_http_health_checks(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_http_health_checks.rb', line 13 def list_http_health_checks(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_http_health_checks( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_images(project = @project, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/list_images.rb', line 13 def list_images(project = @project, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_images( project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_instance_group_instances(group_name, zone) ⇒ Object
13 14 15 16 17 |
# File 'lib/fog/compute/google/requests/list_instance_group_instances.rb', line 13 def list_instance_group_instances(group_name, zone) @compute.list_instance_group_instances(@project, zone, group_name) end |
#list_instance_group_managers(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fog/compute/google/requests/list_instance_group_managers.rb', line 13 def list_instance_group_managers(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_instance_group_managers( @project, zone, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token) end |
#list_instance_groups(zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/list_instance_groups.rb', line 13 def list_instance_groups(zone) @compute.list_instance_groups(@project, zone) end |
#list_instance_templates(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/list_instance_templates.rb', line 13 def list_instance_templates(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_instance_templates( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_machine_types(zone, filter: nil, max_results: nil, page_token: nil, order_by: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/list_machine_types.rb', line 13 def list_machine_types(zone, filter: nil, max_results: nil, page_token: nil, order_by: nil) zone = zone.split("/")[-1] if zone.start_with? "http" @compute.list_machine_types(@project, zone, filter: filter, max_results: max_results, page_token: page_token, order_by: order_by) end |
#list_networks(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_networks.rb', line 13 def list_networks(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_networks(@project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token) end |
#list_region_operations(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
Retrieves a list of Operation resources contained within the specified region
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/fog/compute/google/requests/list_region_operations.rb', line 15 def list_region_operations(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) region = region.split("/")[-1] if region.start_with? "http" @compute.list_region_operations( @project, region, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_regions(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/fog/compute/google/requests/list_regions.rb', line 13 def list_regions(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_regions( @project, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_routes(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
Retrieves the list of Route resources available to the specified project.
16 17 18 19 20 21 22 23 24 |
# File 'lib/fog/compute/google/requests/list_routes.rb', line 16 def list_routes(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_routes( @project, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_servers(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_servers.rb', line 13 def list_servers(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_instances( @project, zone.split("/")[-1], :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_snapshots(project = @project, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fog/compute/google/requests/list_snapshots.rb', line 13 def list_snapshots(project = @project, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_snapshots(project, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token) end |
#list_ssl_certificates(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/list_ssl_certificates.rb', line 13 def list_ssl_certificates(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_ssl_certificates( @project, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_subnetworks(region_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Google::Apis::ComputeV1::SubnetworkList
Retrieves a list of subnetworks specific to a region and project.
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/fog/compute/google/requests/list_subnetworks.rb', line 25 def list_subnetworks(region_name, filter: nil, max_results: nil, order_by: nil, page_token: nil) if region_name.start_with? "http" region_name = region_name.split("/")[-1] end @compute.list_subnetworks(@project, region_name, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token) end |
#list_target_http_proxies(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/list_target_http_proxies.rb', line 14 def list_target_http_proxies(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_target_http_proxies( @project, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_target_https_proxies(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/list_target_https_proxies.rb', line 13 def list_target_https_proxies(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_target_https_proxies( @project, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_target_instances(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/fog/compute/google/requests/list_target_instances.rb', line 13 def list_target_instances(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) zone = zone.split("/")[-1] if zone.start_with? "http" @compute.list_target_instances( @project, zone, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_target_pools(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/list_target_pools.rb', line 13 def list_target_pools(region, filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_target_pools( @project, region.split("/")[-1], filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_url_maps(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/list_url_maps.rb', line 14 def list_url_maps(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_url_maps( @project, filter: filter, max_results: max_results, order_by: order_by, page_token: page_token ) end |
#list_zone_operations(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fog/compute/google/requests/list_zone_operations.rb', line 14 def list_zone_operations(zone, filter: nil, max_results: nil, order_by: nil, page_token: nil) zone = zone.split("/")[-1] if zone.start_with? "http" @compute.list_zone_operations( @project, zone, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#list_zones(filter: nil, max_results: nil, order_by: nil, page_token: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/list_zones.rb', line 13 def list_zones(filter: nil, max_results: nil, order_by: nil, page_token: nil) @compute.list_zones( @project, :filter => filter, :max_results => max_results, :order_by => order_by, :page_token => page_token ) end |
#patch_firewall(firewall_name, opts = {}) ⇒ Object
Patch a Firewall resource. Supports PATCH semantics.
17 18 19 20 21 22 23 |
# File 'lib/fog/compute/google/requests/patch_firewall.rb', line 17 def patch_firewall(firewall_name, opts = {}) opts = opts.select { |k, _| UPDATABLE_FIREWALL_FIELDS.include? k } @compute.patch_firewall( @project, firewall_name, ::Google::Apis::ComputeV1::Firewall.new(**opts) ) end |
#patch_url_map(url_map_name, options = {}) ⇒ Object
13 14 15 16 17 |
# File 'lib/fog/compute/google/requests/patch_url_map.rb', line 13 def patch_url_map(url_map_name, = {}) @compute.patch_url_map( @project, url_map_name, ::Google::Apis::ComputeV1::UrlMap.new() ) end |
#process_disks(disks) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/fog/compute/google/requests/insert_server.rb', line 17 def process_disks(disks) unless disks && !disks.empty? raise ArgumentError.new("at least one value for disks is required") end disk_lst = disks.map do |d| d = d.attached_disk_obj if d.is_a? Disk ::Google::Apis::ComputeV1::AttachedDisk.new(**d) end disk_lst.first.boot = true disk_lst end |
#process_network_interfaces(network_interfaces) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/fog/compute/google/requests/insert_server.rb', line 30 def process_network_interfaces(network_interfaces) unless network_interfaces && !network_interfaces.empty? network_interfaces = [default_network_interface] end network_interfaces.map do |network| ::Google::Apis::ComputeV1::NetworkInterface.new(**network) end end |
#recreate_instances(instance_group_manager, instances) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fog/compute/google/requests/recreate_instances.rb', line 13 def recreate_instances(instance_group_manager, instances) request = ::Google::Apis::ComputeV1::InstanceGroupManagersAbandonInstancesRequest.new( :instances => instances.map{ |i| i.class == String ? i : i.self_link } ) if instance_group_manager.zone zone = instance_group_manager.zone.split("/")[-1] @compute.recreate_instance_group_manager_instances(@project, zone, instance_group_manager.name, request) else region = instance_group_manager.region.split("/")[-1] @compute.recreate_region_instance_group_manager_instances(@project, region, instance_group_manager.name, request) end end |
#remove_instance_group_instances(group_name, zone, instances) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/compute/google/requests/remove_instance_group_instances.rb', line 13 def remove_instance_group_instances(group_name, zone, instances) instances.map! do |instance| if instance.start_with?("https:") ::Google::Apis::ComputeV1::InstanceReference.new(instance: instance) else ::Google::Apis::ComputeV1::InstanceReference.new( instance: "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone}/instances/#{instance}\n" ) end end request = ::Google::Apis::ComputeV1::InstanceGroupsRemoveInstancesRequest.new( instances: instances ) @compute.remove_instance_group_instances( @project, zone, group_name, request ) end |
#remove_target_pool_health_checks(target_pool, region, health_checks) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/fog/compute/google/requests/remove_target_pool_health_checks.rb', line 13 def remove_target_pool_health_checks(target_pool, region, health_checks) health_check_lst = health_checks.map do |hc| ::Google::Apis::ComputeV1::HealthCheckReference.new(health_check: hc) end @compute.remove_target_pool_health_check( @project, region.split("/")[-1], target_pool, ::Google::Apis::ComputeV1::RemoveTargetPoolsHealthCheckRequest.new( health_checks: health_check_lst ) ) end |
#remove_target_pool_instances(target_pool, region, instances) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/fog/compute/google/requests/remove_target_pool_instance.rb', line 13 def remove_target_pool_instances(target_pool, region, instances) instance_lst = instances.map do |instance| ::Google::Apis::ComputeV1::InstanceReference.new(instance: instance) end @compute.remove_target_pool_instance( @project, region.split("/")[-1], target_pool, ::Google::Apis::ComputeV1::RemoveTargetPoolsInstanceRequest.new( instances: instance_lst ) ) end |
#reset_server(identity, zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/reset_server.rb', line 13 def reset_server(identity, zone) @compute.reset_instance(@project, zone.split("/")[-1], identity) end |
#reset_windows_password(server:, user:) ⇒ String
Resets Windows passwords for users on Google’s Windows based images. Code based on Google provided example.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/fog/compute/google/requests/reset_windows_password.rb', line 44 def reset_windows_password(server:, user:) # Pull the e-mail address of user authenticated to API email = @compute...issuer # Create a new key key = OpenSSL::PKey::RSA.new(2048) modulus, exponent = get_modulus_exponent_in_base64(key) # Get Old Metadata = server. # Create JSON Object with needed information = get_json_string(user, modulus, exponent, email) # Create new metadata object = update_windows_keys(, ) # Set metadata on instance server.(, false) # Get encrypted password from Serial Port 4 Output # If machine is booting for the first time, there appears to be a # delay before the password appears on the serial port. sleep(1) until server.ready? serial_port_output = server.serial_port_output(:port => 4) loop_cnt = 0 while serial_port_output.empty? if loop_cnt > 12 Fog::Logger.warning("Encrypted password never found on Serial Output Port 4") raise "Could not reset password." end sleep(5) serial_port_output = server.serial_port_output(:port => 4) loop_cnt += 1 end # Parse and decrypt password enc_password = get_encrypted_password_from_serial_port(serial_port_output, modulus) password = decrypt_password(enc_password, key) return password end |
#set_common_instance_metadata(project, current_fingerprint, metadata = {}) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/fog/compute/google/requests/set_common_instance_metadata.rb', line 13 def (project, current_fingerprint, = {}) = ::Google::Apis::ComputeV1::Metadata.new( fingerprint: current_fingerprint, items: .map { |k, v| { :key => k, :value => v } } ) @compute.(project, ) end |
#set_forwarding_rule_target(rule_name, region, target_opts) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/fog/compute/google/requests/set_forwarding_rule_target.rb', line 13 def set_forwarding_rule_target(rule_name, region, target_opts) region = region.split("/")[-1] if region.start_with? "http" @compute.set_forwarding_rule_target( @project, region, rule_name, ::Google::Apis::ComputeV1::TargetReference.new(**target_opts) ) end |
#set_global_forwarding_rule_target(rule_name, target_opts) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb', line 13 def set_global_forwarding_rule_target(rule_name, target_opts) @compute.set_global_forwarding_rule_target( @project, rule_name, ::Google::Apis::ComputeV1::TargetReference.new(**target_opts) ) end |
#set_instance_template(instance_group_manager, instance_template) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fog/compute/google/requests/set_instance_template.rb', line 13 def set_instance_template(instance_group_manager, instance_template) request = ::Google::Apis::ComputeV1::InstanceGroupManagersSetInstanceTemplateRequest.new( :instance_template => instance_template.class == String ? instance_template : instance_template.self_link ) if instance_group_manager.zone zone = instance_group_manager.zone.split("/")[-1] @compute.set_instance_group_manager_instance_template(@project, zone, instance_group_manager.name, request) else region = instance_group_manager.region.split("/")[-1] @compute.set_region_instance_group_manager_instance_template(@project, region, instance_group_manager.name, request) end end |
#set_server_disk_auto_delete(identity, zone, auto_delete, device_name) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/fog/compute/google/requests/set_server_disk_auto_delete.rb', line 14 def set_server_disk_auto_delete(identity, zone, auto_delete, device_name) @compute.set_disk_auto_delete( @project, zone.split("/")[-1], identity, auto_delete, device_name ) end |
#set_server_machine_type(instance, zone, machine_type) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/fog/compute/google/requests/set_server_machine_type.rb', line 13 def set_server_machine_type(instance, zone, machine_type) request = ::Google::Apis::ComputeV1::InstancesSetMachineTypeRequest.new zone = zone.split("/")[-1] machine_type = machine_type.split("/")[-1] request.machine_type = "zones/#{zone}/machineTypes/#{machine_type}" @compute.set_instance_machine_type(@project, zone, instance, request) end |
#set_server_metadata(instance, zone, fingerprint, metadata_items = []) ⇒ Object
Set an instance metadata
27 28 29 30 31 32 33 34 35 |
# File 'lib/fog/compute/google/requests/set_server_metadata.rb', line 27 def (instance, zone, fingerprint, = []) items = .map { |item| ::Google::Apis::ComputeV1::Metadata::Item.new(**item) } @compute.( @project, zone.split("/")[-1], instance, ::Google::Apis::ComputeV1::Metadata.new( fingerprint: fingerprint, items: items ) ) end |
#set_server_scheduling(identity, zone, on_host_maintenance: nil, automatic_restart: nil, preemptible: nil) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/set_server_scheduling.rb', line 13 def set_server_scheduling(identity, zone, on_host_maintenance: nil, automatic_restart: nil, preemptible: nil) scheduling = ::Google::Apis::ComputeV1::Scheduling.new scheduling.on_host_maintenance = on_host_maintenance unless on_host_maintenance.nil? scheduling.automatic_restart = automatic_restart unless automatic_restart.nil? scheduling.preemptible = preemptible unless preemptible.nil? zone = zone.split("/")[-1] @compute.set_instance_scheduling(@project, zone, identity, scheduling) end |
#set_server_tags(instance, zone, fingerprint, tags = []) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/set_server_tags.rb', line 13 def (instance, zone, fingerprint, = []) @compute.( @project, zone.split("/")[-1], instance, ::Google::Apis::ComputeV1::Tags.new( fingerprint: fingerprint, items: ) ) end |
#set_snapshot_labels(snap_name, label_fingerprint, labels) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/set_snapshot_labels.rb', line 13 def set_snapshot_labels(snap_name, label_fingerprint, labels) @compute.set_snapshot_labels( project, snap_name, ::Google::Apis::ComputeV1::GlobalSetLabelsRequest.new( label_fingerprint: label_fingerprint, labels: labels ) ) end |
#set_subnetwork_private_ip_google_access(subnetwork_name, region_name, private_ip_google_access) ⇒ Google::Apis::ComputeV1::Operation
Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/fog/compute/google/requests/set_subnetwork_private_ip_google_access.rb', line 26 def set_subnetwork_private_ip_google_access(subnetwork_name, region_name, private_ip_google_access) if region_name.start_with? "http" region_name = region_name.split("/")[-1] end @compute.set_subnetwork_private_ip_google_access( @project, region_name, subnetwork_name, ::Google::Apis::ComputeV1::SubnetworksSetPrivateIpGoogleAccessRequest.new( private_ip_google_access: private_ip_google_access ) ) end |
#set_target_http_proxy_url_map(proxy_name, url_map) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/set_target_http_proxy_url_map.rb', line 13 def set_target_http_proxy_url_map(proxy_name, url_map) @compute.set_target_http_proxy_url_map( @project, proxy_name, ::Google::Apis::ComputeV1::UrlMapReference.new( url_map: url_map.class == String ? url_map : url_map.self_link ) ) end |
#set_target_https_proxy_ssl_certificates(proxy_name, certs) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/set_target_https_proxy_ssl_certificates.rb', line 13 def set_target_https_proxy_ssl_certificates(proxy_name, certs) @compute.set_target_https_proxy_ssl_certificates( @project, proxy_name, ::Google::Apis::ComputeV1::TargetHttpsProxiesSetSslCertificatesRequest.new( ssl_certificates: certs ) ) end |
#set_target_https_proxy_url_map(proxy_name, url_map) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/set_target_https_proxy_url_map.rb', line 13 def set_target_https_proxy_url_map(proxy_name, url_map) @compute.set_target_https_proxy_url_map( @project, proxy_name, ::Google::Apis::ComputeV1::UrlMapReference.new( url_map: url_map.class == String ? url_map : url_map.self_link ) ) end |
#set_target_pool_backup(target_pool, region, backup_target, failover_ratio: nil) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fog/compute/google/requests/set_target_pool_backup.rb', line 14 def set_target_pool_backup(target_pool, region, backup_target, failover_ratio: nil) target_ref = ::Google::Apis::ComputeV1::TargetReference.new( target: backup_target ) @compute.set_target_pool_backup( project, region.split("/")[-1], target_pool, target_ref, failover_ratio: failover_ratio ) end |
#start_server(identity, zone) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/start_server.rb', line 13 def start_server(identity, zone) @compute.start_instance(@project, zone.split("/")[-1], identity) end |
#stop_server(identity, zone, discard_local_ssd = false) ⇒ Object
13 14 15 |
# File 'lib/fog/compute/google/requests/stop_server.rb', line 13 def stop_server(identity, zone, discard_local_ssd=false) @compute.stop_instance(@project, zone.split("/")[-1], identity, discard_local_ssd: discard_local_ssd) end |
#update_firewall(firewall_name, opts = {}) ⇒ Object
Update a Firewall resource.
Only the following fields can/will be changed.
39 40 41 42 43 44 45 |
# File 'lib/fog/compute/google/requests/update_firewall.rb', line 39 def update_firewall(firewall_name, opts = {}) opts = opts.select { |k, _| UPDATABLE_FIREWALL_FIELDS.include? k } @compute.update_firewall( @project, firewall_name, ::Google::Apis::ComputeV1::Firewall.new(**opts) ) end |
#update_http_health_check(check_name, opts = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/fog/compute/google/requests/update_http_health_check.rb', line 13 def update_http_health_check(check_name, opts = {}) @compute.update_http_health_check( @project, check_name, ::Google::Apis::ComputeV1::HttpHealthCheck.new( **opts.merge(:name => check_name) ) ) end |
#update_url_map(url_map_name, url_map = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fog/compute/google/requests/update_url_map.rb', line 13 def update_url_map(url_map_name, url_map = {}) url_map[:host_rules] = url_map[:host_rules] || [] url_map[:path_matchers] = url_map[:path_matchers] || [] url_map[:tests] = url_map[:tests] || [] @compute.update_url_map( @project, url_map_name, ::Google::Apis::ComputeV1::UrlMap.new( url_map.merge(name: url_map_name) ) ) end |
#update_windows_keys(old_metadata, metadata_entry) ⇒ Object
112 113 114 115 116 117 118 119 120 |
# File 'lib/fog/compute/google/requests/reset_windows_password.rb', line 112 def update_windows_keys(, ) if [:items] = Hash[[:items].map { |item| [item[:key], item[:value]] }] else = {} end ["windows-keys"] = return end |
#validate_url_map(url_map_name, url_map = {}) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/fog/compute/google/requests/validate_url_map.rb', line 13 def validate_url_map(url_map_name, url_map = {}) @compute.validate_url_map( @project, url_map_name, ::Google::Apis::ComputeV1::ValidateUrlMapsRequest.new( url_map: ::Google::Apis::ComputeV1::UrlMap.new(**url_map) ) ) end |