fog-google 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.editorconfig +11 -0
- data/.gitignore +1 -0
- data/.hound.yml +2 -0
- data/.rubocop.yml +225 -5
- data/.travis.yml +13 -11
- data/CONTRIBUTORS.md +1 -0
- data/Gemfile +1 -1
- data/README.md +31 -16
- data/Rakefile +15 -39
- data/examples/backend_services.rb +12 -11
- data/examples/bootstrap.rb +11 -1
- data/examples/{create.rb → create_instance.rb} +20 -11
- data/examples/dns/project.rb +2 -3
- data/examples/dns/zones.rb +21 -21
- data/examples/get_list_images.rb +31 -15
- data/examples/get_list_snapshots.rb +20 -10
- data/examples/image_create.rb +5 -5
- data/examples/l7_load_balance.rb +56 -58
- data/examples/load-balance.rb +22 -23
- data/examples/metadata.rb +17 -9
- data/examples/monitoring/metric_descriptors.rb +19 -6
- data/examples/monitoring/timeseries_collection.rb +23 -11
- data/examples/monitoring/timeseries_descriptors.rb +23 -11
- data/examples/network.rb +25 -29
- data/examples/precreated_client.rb +3 -6
- data/examples/sql/flags.rb +2 -2
- data/examples/sql/instances.rb +18 -18
- data/examples/sql/operations.rb +9 -9
- data/examples/sql/ssl_certs.rb +13 -13
- data/examples/sql/tiers.rb +2 -2
- data/examples/storage.rb +37 -0
- data/examples/storage_json.rb +37 -0
- data/fog-google.gemspec +24 -21
- data/lib/fog/bin/google.rb +34 -32
- data/lib/fog/{google/compute.rb → compute/google.rb} +207 -151
- data/lib/fog/{google/models/compute → compute/google/models}/address.rb +24 -28
- data/lib/fog/{google/models/compute → compute/google/models}/addresses.rb +10 -14
- data/lib/fog/{google/models/compute → compute/google/models}/backend_service.rb +28 -34
- data/lib/fog/{google/models/compute → compute/google/models}/backend_services.rb +2 -5
- data/lib/fog/{google/models/compute → compute/google/models}/disk.rb +35 -39
- data/lib/fog/{google/models/compute → compute/google/models}/disk_type.rb +4 -6
- data/lib/fog/{google/models/compute → compute/google/models}/disk_types.rb +7 -10
- data/lib/fog/{google/models/compute → compute/google/models}/disks.rb +9 -12
- data/lib/fog/{google/models/compute → compute/google/models}/firewall.rb +10 -14
- data/lib/fog/{google/models/compute → compute/google/models}/firewalls.rb +1 -4
- data/lib/fog/compute/google/models/flavor.rb +31 -0
- data/lib/fog/{google/models/compute → compute/google/models}/flavors.rb +2 -5
- data/lib/fog/{google/models/compute → compute/google/models}/forwarding_rule.rb +24 -28
- data/lib/fog/{google/models/compute → compute/google/models}/forwarding_rules.rb +8 -11
- data/lib/fog/compute/google/models/global_forwarding_rule.rb +82 -0
- data/lib/fog/{google/models/compute → compute/google/models}/global_forwarding_rules.rb +2 -5
- data/lib/fog/compute/google/models/http_health_check.rb +80 -0
- data/lib/fog/{google/models/compute → compute/google/models}/http_health_checks.rb +2 -5
- data/lib/fog/{google/models/compute → compute/google/models}/image.rb +18 -22
- data/lib/fog/{google/models/compute → compute/google/models}/images.rb +24 -17
- data/lib/fog/{google/models/compute → compute/google/models}/instance_group.rb +5 -8
- data/lib/fog/{google/models/compute → compute/google/models}/instance_groups.rb +10 -13
- data/lib/fog/{google/models/compute → compute/google/models}/network.rb +9 -13
- data/lib/fog/{google/models/compute → compute/google/models}/networks.rb +1 -4
- data/lib/fog/{google/models/compute → compute/google/models}/operation.rb +16 -18
- data/lib/fog/{google/models/compute → compute/google/models}/operations.rb +8 -11
- data/lib/fog/{google/models/compute → compute/google/models}/project.rb +5 -7
- data/lib/fog/{google/models/compute → compute/google/models}/projects.rb +0 -3
- data/lib/fog/{google/models/compute → compute/google/models}/region.rb +5 -7
- data/lib/fog/{google/models/compute → compute/google/models}/regions.rb +1 -4
- data/lib/fog/compute/google/models/resource_view.rb +108 -0
- data/lib/fog/compute/google/models/resource_views.rb +54 -0
- data/lib/fog/{google/models/compute → compute/google/models}/route.rb +12 -16
- data/lib/fog/{google/models/compute → compute/google/models}/routes.rb +1 -4
- data/lib/fog/{google/models/compute → compute/google/models}/server.rb +81 -92
- data/lib/fog/{google/models/compute → compute/google/models}/servers.rb +13 -16
- data/lib/fog/compute/google/models/snapshot.rb +44 -0
- data/lib/fog/{google/models/compute → compute/google/models}/snapshots.rb +1 -4
- data/lib/fog/compute/google/models/subnetwork.rb +49 -0
- data/lib/fog/compute/google/models/subnetworks.rb +29 -0
- data/lib/fog/{google/models/compute → compute/google/models}/target_http_proxies.rb +2 -5
- data/lib/fog/{google/models/compute → compute/google/models}/target_http_proxy.rb +18 -22
- data/lib/fog/{google/models/compute → compute/google/models}/target_instance.rb +23 -28
- data/lib/fog/{google/models/compute → compute/google/models}/target_instances.rb +9 -12
- data/lib/fog/{google/models/compute → compute/google/models}/target_pool.rb +24 -28
- data/lib/fog/{google/models/compute → compute/google/models}/target_pools.rb +6 -9
- data/lib/fog/{google/models/compute → compute/google/models}/url_map.rb +32 -36
- data/lib/fog/{google/models/compute → compute/google/models}/url_maps.rb +1 -4
- data/lib/fog/compute/google/models/zone.rb +21 -0
- data/lib/fog/{google/models/compute → compute/google/models}/zones.rb +0 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/add_backend_service_backends.rb +5 -5
- data/lib/fog/{google/requests/compute → compute/google/requests}/add_instance_group_instance.rb +4 -4
- data/lib/fog/compute/google/requests/add_region_view_resources.rb +27 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/add_server_access_config.rb +8 -8
- data/lib/fog/{google/requests/compute → compute/google/requests}/add_target_pool_health_checks.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/add_target_pool_instances.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/add_url_map_host_rules.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/add_url_map_path_matchers.rb +7 -7
- data/lib/fog/compute/google/requests/add_zone_view_resources.rb +27 -0
- data/lib/fog/compute/google/requests/attach_disk.rb +34 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_address.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_backend_service.rb +8 -8
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_disk.rb +9 -11
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_firewall.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_forwarding_rule.rb +8 -8
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_global_forwarding_rule.rb +12 -12
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_global_operation.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_http_health_check.rb +7 -7
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_image.rb +7 -7
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_instance_group.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_network.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_region_operation.rb +6 -6
- data/lib/fog/compute/google/requests/delete_region_view.rb +24 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_route.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_server.rb +15 -17
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_server_access_config.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_snapshot.rb +3 -3
- data/lib/fog/compute/google/requests/delete_subnetwork.rb +49 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_target_http_proxy.rb +7 -7
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_target_instance.rb +9 -11
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_target_pool.rb +8 -8
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_url_map.rb +7 -7
- data/lib/fog/{google/requests/compute → compute/google/requests}/delete_zone_operation.rb +5 -7
- data/lib/fog/compute/google/requests/delete_zone_view.rb +24 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/detach_disk.rb +5 -5
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_address.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_backend_service.rb +5 -7
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_backend_service_health.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_backend_services.rb +6 -6
- data/lib/fog/compute/google/requests/get_disk.rb +46 -0
- data/lib/fog/compute/google/requests/get_disk_type.rb +40 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_firewall.rb +3 -3
- data/lib/fog/compute/google/requests/get_forwarding_rule.rb +44 -0
- data/lib/fog/compute/google/requests/get_global_forwarding_rule.rb +30 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_global_operation.rb +8 -8
- data/lib/fog/compute/google/requests/get_http_health_check.rb +37 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_image.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_instance_group.rb +5 -5
- data/lib/fog/compute/google/requests/get_machine_type.rb +41 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_network.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_project.rb +2 -2
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_region.rb +9 -9
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_region_operation.rb +11 -11
- data/lib/fog/compute/google/requests/get_region_view.rb +24 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_route.rb +3 -3
- data/lib/fog/compute/google/requests/get_server.rb +71 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_server_serial_port_output.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_snapshot.rb +5 -7
- data/lib/fog/compute/google/requests/get_subnetwork.rb +45 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_target_http_proxy.rb +4 -6
- data/lib/fog/compute/google/requests/get_target_instance.rb +28 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_target_pool.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_target_pool_health.rb +7 -7
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_url_map.rb +4 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_zone.rb +8 -8
- data/lib/fog/{google/requests/compute → compute/google/requests}/get_zone_operation.rb +10 -12
- data/lib/fog/compute/google/requests/get_zone_view.rb +24 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_address.rb +5 -5
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_backend_service.rb +17 -17
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_disk.rb +26 -30
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_firewall.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_forwarding_rule.rb +13 -13
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_global_forwarding_rule.rb +13 -13
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_http_health_check.rb +11 -11
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_image.rb +14 -14
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_instance_group.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_network.rb +6 -6
- data/lib/fog/compute/google/requests/insert_region_view.rb +25 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_route.rb +11 -11
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_server.rb +57 -57
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_snapshot.rb +8 -8
- data/lib/fog/compute/google/requests/insert_subnetwork.rb +75 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_target_http_proxy.rb +9 -9
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_target_instance.rb +11 -11
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_target_pool.rb +11 -11
- data/lib/fog/{google/requests/compute → compute/google/requests}/insert_url_map.rb +9 -9
- data/lib/fog/compute/google/requests/insert_zone_view.rb +26 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_addresses.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_aggregated_addresses.rb +3 -3
- data/lib/fog/compute/google/requests/list_aggregated_disk_types.rb +38 -0
- data/lib/fog/compute/google/requests/list_aggregated_disks.rb +37 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_aggregated_instance_groups.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_aggregated_machine_types.rb +1 -1
- data/lib/fog/compute/google/requests/list_aggregated_servers.rb +37 -0
- data/lib/fog/compute/google/requests/list_aggregated_subnetworks.rb +34 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_aggregated_target_instances.rb +10 -13
- data/lib/fog/compute/google/requests/list_backend_services.rb +27 -0
- data/lib/fog/compute/google/requests/list_disk_types.rb +44 -0
- data/lib/fog/compute/google/requests/list_disks.rb +27 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_firewalls.rb +1 -1
- data/lib/fog/compute/google/requests/list_forwarding_rules.rb +27 -0
- data/lib/fog/compute/google/requests/list_global_forwarding_rules.rb +28 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_global_operations.rb +1 -1
- data/lib/fog/compute/google/requests/list_http_health_checks.rb +27 -0
- data/lib/fog/compute/google/requests/list_images.rb +27 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_instance_group_instances.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_instance_groups.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_machine_types.rb +6 -8
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_networks.rb +1 -1
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_region_operations.rb +3 -3
- data/lib/fog/compute/google/requests/list_region_view_resources.rb +24 -0
- data/lib/fog/compute/google/requests/list_region_views.rb +23 -0
- data/lib/fog/compute/google/requests/list_regions.rb +83 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_routes.rb +2 -2
- data/lib/fog/compute/google/requests/list_servers.rb +29 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_snapshots.rb +3 -3
- data/lib/fog/compute/google/requests/list_subnetworks.rb +35 -0
- data/lib/fog/compute/google/requests/list_target_http_proxies.rb +27 -0
- data/lib/fog/compute/google/requests/list_target_instances.rb +28 -0
- data/lib/fog/compute/google/requests/list_target_pools.rb +27 -0
- data/lib/fog/compute/google/requests/list_url_maps.rb +27 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/list_zone_operations.rb +3 -3
- data/lib/fog/compute/google/requests/list_zone_view_resources.rb +24 -0
- data/lib/fog/compute/google/requests/list_zone_views.rb +23 -0
- data/lib/fog/compute/google/requests/list_zones.rb +26 -0
- data/lib/fog/{google/requests/compute → compute/google/requests}/remove_instance_group_instance.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/remove_target_pool_health_checks.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/remove_target_pool_instance.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/remove_target_pool_instances.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/reset_server.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/set_common_instance_metadata.rb +3 -3
- data/lib/fog/{google/requests/compute → compute/google/requests}/set_forwarding_rule_target.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/set_global_forwarding_rule_target.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/set_metadata.rb +8 -8
- data/lib/fog/{google/requests/compute → compute/google/requests}/set_server_disk_auto_delete.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/set_server_scheduling.rb +7 -7
- data/lib/fog/{google/requests/compute → compute/google/requests}/set_tags.rb +6 -6
- data/lib/fog/{google/requests/compute → compute/google/requests}/set_target_http_proxy_url_map.rb +5 -5
- data/lib/fog/{google/requests/compute → compute/google/requests}/start_server.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/stop_server.rb +4 -4
- data/lib/fog/{google/requests/compute → compute/google/requests}/update_url_map.rb +8 -8
- data/lib/fog/{google/requests/compute → compute/google/requests}/validate_url_map.rb +5 -5
- data/lib/fog/{google/dns.rb → dns/google.rb} +9 -9
- data/lib/fog/{google/models/dns → dns/google/models}/change.rb +5 -7
- data/lib/fog/{google/models/dns → dns/google/models}/changes.rb +1 -4
- data/lib/fog/{google/models/dns → dns/google/models}/project.rb +6 -8
- data/lib/fog/{google/models/dns → dns/google/models}/projects.rb +0 -3
- data/lib/fog/{google/models/dns → dns/google/models}/record.rb +17 -27
- data/lib/fog/{google/models/dns → dns/google/models}/records.rb +2 -5
- data/lib/fog/{google/models/dns → dns/google/models}/zone.rb +6 -8
- data/lib/fog/{google/models/dns → dns/google/models}/zones.rb +1 -4
- data/lib/fog/{google/requests/dns → dns/google/requests}/create_change.rb +17 -17
- data/lib/fog/dns/google/requests/create_managed_zone.rb +82 -0
- data/lib/fog/{google/requests/dns → dns/google/requests}/delete_managed_zone.rb +6 -6
- data/lib/fog/{google/requests/dns → dns/google/requests}/get_change.rb +7 -7
- data/lib/fog/{google/requests/dns → dns/google/requests}/get_managed_zone.rb +4 -4
- data/lib/fog/{google/requests/dns → dns/google/requests}/get_project.rb +12 -12
- data/lib/fog/{google/requests/dns → dns/google/requests}/list_changes.rb +7 -7
- data/lib/fog/{google/requests/dns → dns/google/requests}/list_managed_zones.rb +5 -5
- data/lib/fog/{google/requests/dns → dns/google/requests}/list_resource_record_sets.rb +11 -11
- data/lib/fog/google.rb +78 -71
- data/lib/fog/google/models/monitoring/metric_descriptor.rb +3 -3
- data/lib/fog/google/models/monitoring/metric_descriptors.rb +3 -3
- data/lib/fog/google/models/monitoring/timeseries.rb +2 -2
- data/lib/fog/google/models/monitoring/timeseries_collection.rb +3 -3
- data/lib/fog/google/models/monitoring/timeseries_descriptor.rb +1 -1
- data/lib/fog/google/models/monitoring/timeseries_descriptors.rb +3 -3
- data/lib/fog/google/models/sql/backup_run.rb +8 -8
- data/lib/fog/google/models/sql/backup_runs.rb +3 -3
- data/lib/fog/google/models/sql/flag.rb +5 -5
- data/lib/fog/google/models/sql/flags.rb +3 -3
- data/lib/fog/google/models/sql/instance.rb +54 -68
- data/lib/fog/google/models/sql/instances.rb +4 -4
- data/lib/fog/google/models/sql/operation.rb +15 -15
- data/lib/fog/google/models/sql/operations.rb +5 -5
- data/lib/fog/google/models/sql/ssl_cert.rb +17 -19
- data/lib/fog/google/models/sql/ssl_certs.rb +5 -5
- data/lib/fog/google/models/sql/tier.rb +3 -3
- data/lib/fog/google/models/sql/tiers.rb +3 -3
- data/lib/fog/google/monitoring.rb +8 -8
- data/lib/fog/google/requests/monitoring/list_metric_descriptors.rb +131 -131
- data/lib/fog/google/requests/monitoring/list_timeseries.rb +32 -32
- data/lib/fog/google/requests/monitoring/list_timeseries_descriptors.rb +50 -50
- data/lib/fog/google/requests/sql/clone_instance.rb +41 -41
- data/lib/fog/google/requests/sql/delete_instance.rb +26 -26
- data/lib/fog/google/requests/sql/delete_ssl_cert.rb +27 -27
- data/lib/fog/google/requests/sql/export_instance.rb +22 -22
- data/lib/fog/google/requests/sql/get_backup_run.rb +5 -5
- data/lib/fog/google/requests/sql/get_instance.rb +12 -12
- data/lib/fog/google/requests/sql/get_operation.rb +21 -21
- data/lib/fog/google/requests/sql/get_ssl_cert.rb +21 -21
- data/lib/fog/google/requests/sql/import_instance.rb +21 -21
- data/lib/fog/google/requests/sql/insert_instance.rb +76 -78
- data/lib/fog/google/requests/sql/insert_ssl_cert.rb +33 -33
- data/lib/fog/google/requests/sql/list_backup_runs.rb +4 -4
- data/lib/fog/google/requests/sql/list_flags.rb +84 -84
- data/lib/fog/google/requests/sql/list_instances.rb +3 -3
- data/lib/fog/google/requests/sql/list_operations.rb +13 -13
- data/lib/fog/google/requests/sql/list_ssl_certs.rb +13 -13
- data/lib/fog/google/requests/sql/list_tiers.rb +39 -39
- data/lib/fog/google/requests/sql/reset_instance_ssl_config.rb +16 -16
- data/lib/fog/google/requests/sql/restart_instance.rb +16 -16
- data/lib/fog/google/requests/sql/restore_instance_backup.rb +5 -5
- data/lib/fog/google/requests/sql/set_instance_root_password.rb +20 -20
- data/lib/fog/google/requests/sql/update_instance.rb +52 -52
- data/lib/fog/google/sql.rb +7 -7
- data/lib/fog/google/version.rb +1 -1
- data/lib/fog/parsers/storage/google.rb +15 -0
- data/lib/fog/{google/parsers/storage → parsers/storage/google}/access_control_list.rb +13 -13
- data/lib/fog/{google/parsers/storage → parsers/storage/google}/copy_object.rb +3 -3
- data/lib/fog/parsers/storage/google/get_bucket.rb +58 -0
- data/lib/fog/parsers/storage/google/get_bucket_logging.rb +36 -0
- data/lib/fog/parsers/storage/google/get_bucket_object_versions.rb +84 -0
- data/lib/fog/{google/parsers/storage → parsers/storage/google}/get_bucket_versioning.rb +3 -3
- data/lib/fog/{google/parsers/storage → parsers/storage/google}/get_request_payment.rb +1 -1
- data/lib/fog/{google/parsers/storage → parsers/storage/google}/get_service.rb +8 -8
- data/lib/fog/storage/google.rb +20 -0
- data/lib/fog/storage/google_json.rb +146 -0
- data/lib/fog/storage/google_json/models/directories.rb +26 -0
- data/lib/fog/storage/google_json/models/directory.rb +65 -0
- data/lib/fog/storage/google_json/models/file.rb +148 -0
- data/lib/fog/storage/google_json/models/files.rb +89 -0
- data/lib/fog/storage/google_json/requests/copy_object.rb +66 -0
- data/lib/fog/storage/google_json/requests/delete_bucket.rb +42 -0
- data/lib/fog/{google/requests/storage → storage/google_json/requests}/delete_object.rb +12 -12
- data/lib/fog/storage/google_json/requests/get_bucket.rb +86 -0
- data/lib/fog/{google/requests/storage → storage/google_json/requests}/get_bucket_acl.rb +12 -17
- data/lib/fog/storage/google_json/requests/get_object.rb +98 -0
- data/lib/fog/storage/google_json/requests/get_object_acl.rb +59 -0
- data/lib/fog/storage/google_json/requests/get_object_http_url.rb +40 -0
- data/lib/fog/storage/google_json/requests/get_object_https_url.rb +41 -0
- data/lib/fog/storage/google_json/requests/get_object_torrent.rb +13 -0
- data/lib/fog/storage/google_json/requests/get_object_url.rb +22 -0
- data/lib/fog/storage/google_json/requests/get_service.rb +54 -0
- data/lib/fog/storage/google_json/requests/head_object.rb +54 -0
- data/lib/fog/storage/google_json/requests/put_bucket.rb +68 -0
- data/lib/fog/storage/google_json/requests/put_bucket_acl.rb +34 -0
- data/lib/fog/storage/google_json/requests/put_object.rb +118 -0
- data/lib/fog/storage/google_json/requests/put_object_acl.rb +31 -0
- data/lib/fog/storage/google_json/requests/put_object_url.rb +45 -0
- data/lib/fog/{google/storage.rb → storage/google_xml.rb} +49 -53
- data/lib/fog/storage/google_xml/models/directories.rb +34 -0
- data/lib/fog/{google/models/storage → storage/google_xml/models}/directory.rb +13 -21
- data/lib/fog/{google/models/storage → storage/google_xml/models}/file.rb +34 -46
- data/lib/fog/{google/models/storage → storage/google_xml/models}/files.rb +21 -30
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/copy_object.rb +15 -21
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/delete_bucket.rb +10 -12
- data/lib/fog/storage/google_xml/requests/delete_object.rb +44 -0
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_bucket.rb +33 -43
- data/lib/fog/storage/google_xml/requests/get_bucket_acl.rb +53 -0
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object.rb +25 -37
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_acl.rb +16 -24
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_http_url.rb +8 -12
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_https_url.rb +8 -12
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_torrent.rb +10 -16
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_object_url.rb +1 -1
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/get_service.rb +13 -17
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/head_object.rb +14 -20
- data/lib/fog/storage/google_xml/requests/put_bucket.rb +71 -0
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/put_bucket_acl.rb +12 -14
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/put_object.rb +23 -27
- data/lib/fog/{google/requests/storage → storage/google_xml/requests}/put_object_acl.rb +12 -14
- data/lib/fog/storage/google_xml/requests/put_object_url.rb +42 -0
- data/tasks/bundler.rake +3 -0
- data/tasks/console.rake +12 -0
- data/tasks/lint.rake +3 -0
- data/tasks/smoke.rake +15 -0
- data/tasks/test.rake +13 -0
- data/test/helpers/integration_test_helper.rb +3 -3
- data/test/helpers/test_collection.rb +1 -1
- data/test/helpers/test_helper.rb +8 -8
- data/test/integration/compute/test_servers.rb +1 -1
- data/test/integration/factories/backend_services_factory.rb +2 -2
- data/test/integration/factories/collection_factory.rb +4 -4
- data/test/integration/factories/disks_factory.rb +3 -3
- data/test/integration/factories/forwarding_rules_factory.rb +3 -4
- data/test/integration/factories/global_forwarding_rules_factory.rb +2 -2
- data/test/integration/factories/http_health_checks_factory.rb +1 -1
- data/test/integration/factories/images_factory.rb +2 -2
- data/test/integration/factories/servers_factory.rb +4 -4
- data/test/integration/factories/target_http_proxies_factory.rb +2 -2
- data/test/integration/factories/target_instances_factory.rb +3 -3
- data/test/integration/factories/target_pools_factory.rb +4 -4
- data/test/integration/factories/url_maps_factory.rb +2 -2
- data/test/integration/storage/test_buckets.rb +56 -0
- data/test/integration/storage/test_directories.rb +60 -0
- data/test/integration/storage/test_files.rb +132 -0
- data/test/integration/storage/test_objects.rb +111 -0
- data/test/integration/test_authentication.rb +14 -10
- data/tests/helper.rb +40 -42
- data/tests/helpers/collection_helper.rb +26 -37
- data/tests/helpers/compute/flavors_helper.rb +4 -8
- data/tests/helpers/compute/server_helper.rb +1 -5
- data/tests/helpers/compute/servers_helper.rb +0 -2
- data/tests/helpers/formats_helper.rb +12 -12
- data/tests/helpers/formats_helper_tests.rb +43 -47
- data/tests/helpers/mock_helper.rb +6 -8
- data/tests/helpers/model_helper.rb +6 -10
- data/tests/helpers/schema_validator_tests.rb +41 -47
- data/tests/helpers/succeeds_helper.rb +1 -1
- data/tests/models/dns/change_tests.rb +8 -10
- data/tests/models/dns/changes_tests.rb +8 -12
- data/tests/models/dns/projects_tests.rb +2 -5
- data/tests/models/dns/record_tests.rb +9 -10
- data/tests/models/dns/records_tests.rb +9 -13
- data/tests/models/dns/zone_tests.rb +6 -6
- data/tests/models/dns/zones_tests.rb +5 -5
- data/tests/models/monitoring/metric_descriptors_tests.rb +2 -5
- data/tests/models/monitoring/timeseries_collection_tests.rb +3 -6
- data/tests/models/monitoring/timeseries_descriptors_tests.rb +3 -6
- data/tests/models/sql/flags_tests.rb +2 -5
- data/tests/models/sql/instance_tests.rb +4 -7
- data/tests/models/sql/instances_tests.rb +4 -9
- data/tests/models/sql/operation_tests.rb +3 -6
- data/tests/models/sql/operations_tests.rb +4 -9
- data/tests/models/sql/ssl_cert_tests.rb +3 -6
- data/tests/models/sql/ssl_certs_tests.rb +4 -9
- data/tests/models/sql/tiers_tests.rb +2 -5
- data/tests/requests/compute/backend_service_tests.rb +43 -47
- data/tests/requests/compute/disk_tests.rb +42 -46
- data/tests/requests/compute/disk_type_tests.rb +18 -21
- data/tests/requests/compute/firewall_tests.rb +42 -45
- data/tests/requests/compute/forwarding_rules_tests.rb +44 -48
- data/tests/requests/compute/global_forwarding_rules_tests.rb +44 -48
- data/tests/requests/compute/http_health_checks_tests.rb +44 -48
- data/tests/requests/compute/image_tests.rb +41 -45
- data/tests/requests/compute/network_tests.rb +38 -41
- data/tests/requests/compute/operation_tests.rb +2 -3
- data/tests/requests/compute/region_tests.rb +18 -18
- data/tests/requests/compute/server_tests.rb +45 -47
- data/tests/requests/compute/target_http_proxies_test.rb +39 -43
- data/tests/requests/compute/target_instances_tests.rb +43 -47
- data/tests/requests/compute/target_pools_tests.rb +43 -47
- data/tests/requests/compute/url_maps_tests.rb +42 -46
- data/tests/requests/compute/zone_tests.rb +15 -19
- data/tests/requests/dns/change_tests.rb +18 -22
- data/tests/requests/dns/managed_zone_tests.rb +27 -30
- data/tests/requests/dns/project_tests.rb +13 -16
- data/tests/requests/dns/record_tests.rb +15 -18
- data/tests/requests/monitoring/metric_descriptor_tests.rb +9 -12
- data/tests/requests/monitoring/timeseries_collection_tests.rb +9 -12
- data/tests/requests/monitoring/timeseries_descriptor_tests.rb +10 -13
- data/tests/requests/sql/flag_tests.rb +11 -14
- data/tests/requests/sql/instance_tests.rb +36 -39
- data/tests/requests/sql/operation_tests.rb +17 -20
- data/tests/requests/sql/ssl_cert_tests.rb +21 -24
- data/tests/requests/sql/tier_tests.rb +9 -12
- data/tests/requests/storage/bucket_tests.rb +30 -36
- data/tests/requests/storage/object_tests.rb +21 -27
- metadata +309 -235
- data/examples/eric-fail.rb +0 -36
- data/examples/image_all.rb +0 -6
- data/examples/launch_micro_instance.rb +0 -29
- data/gemfiles/Gemfile.2.0.0+ +0 -6
- data/gemfiles/Gemfile.2.0.0- +0 -10
- data/lib/fog/google/models/compute/flavor.rb +0 -33
- data/lib/fog/google/models/compute/global_forwarding_rule.rb +0 -86
- data/lib/fog/google/models/compute/http_health_check.rb +0 -84
- data/lib/fog/google/models/compute/snapshot.rb +0 -48
- data/lib/fog/google/models/compute/zone.rb +0 -23
- data/lib/fog/google/models/storage/directories.rb +0 -39
- data/lib/fog/google/parsers/storage/get_bucket.rb +0 -58
- data/lib/fog/google/parsers/storage/get_bucket_logging.rb +0 -36
- data/lib/fog/google/parsers/storage/get_bucket_object_versions.rb +0 -84
- data/lib/fog/google/requests/compute/attach_disk.rb +0 -34
- data/lib/fog/google/requests/compute/get_disk.rb +0 -52
- data/lib/fog/google/requests/compute/get_disk_type.rb +0 -42
- data/lib/fog/google/requests/compute/get_forwarding_rule.rb +0 -46
- data/lib/fog/google/requests/compute/get_global_forwarding_rule.rb +0 -32
- data/lib/fog/google/requests/compute/get_http_health_check.rb +0 -39
- data/lib/fog/google/requests/compute/get_machine_type.rb +0 -43
- data/lib/fog/google/requests/compute/get_server.rb +0 -75
- data/lib/fog/google/requests/compute/get_target_instance.rb +0 -32
- data/lib/fog/google/requests/compute/list_aggregated_disk_types.rb +0 -40
- data/lib/fog/google/requests/compute/list_aggregated_disks.rb +0 -40
- data/lib/fog/google/requests/compute/list_aggregated_servers.rb +0 -40
- data/lib/fog/google/requests/compute/list_backend_services.rb +0 -29
- data/lib/fog/google/requests/compute/list_disk_types.rb +0 -46
- data/lib/fog/google/requests/compute/list_disks.rb +0 -29
- data/lib/fog/google/requests/compute/list_forwarding_rules.rb +0 -29
- data/lib/fog/google/requests/compute/list_global_forwarding_rules.rb +0 -30
- data/lib/fog/google/requests/compute/list_http_health_checks.rb +0 -29
- data/lib/fog/google/requests/compute/list_images.rb +0 -29
- data/lib/fog/google/requests/compute/list_regions.rb +0 -85
- data/lib/fog/google/requests/compute/list_servers.rb +0 -31
- data/lib/fog/google/requests/compute/list_target_http_proxies.rb +0 -30
- data/lib/fog/google/requests/compute/list_target_instances.rb +0 -30
- data/lib/fog/google/requests/compute/list_target_pools.rb +0 -29
- data/lib/fog/google/requests/compute/list_url_maps.rb +0 -29
- data/lib/fog/google/requests/compute/list_zones.rb +0 -28
- data/lib/fog/google/requests/dns/create_managed_zone.rb +0 -82
- data/lib/fog/google/requests/storage/put_bucket.rb +0 -71
- data/lib/fog/google/requests/storage/put_object_url.rb +0 -50
@@ -2,25 +2,25 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class Google
|
4
4
|
class Mock
|
5
|
-
def insert_firewall(
|
5
|
+
def insert_firewall(_firewall_name, _allowed, _network = GOOGLE_COMPUTE_DEFAULT_NETWORK, _options = {})
|
6
6
|
Fog::Mock.not_implemented
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
10
|
class Real
|
11
11
|
def insert_firewall(firewall_name, allowed, network = GOOGLE_COMPUTE_DEFAULT_NETWORK, options = {})
|
12
|
-
unless network.start_with?
|
12
|
+
unless network.start_with? "http"
|
13
13
|
network = "#{@api_url}#{@project}/global/networks/#{network}"
|
14
14
|
end
|
15
15
|
|
16
16
|
api_method = @compute.firewalls.insert
|
17
17
|
parameters = {
|
18
|
-
|
18
|
+
"project" => @project
|
19
19
|
}
|
20
20
|
body_object = {
|
21
21
|
"name" => firewall_name,
|
22
22
|
"network" => network,
|
23
|
-
"allowed" => allowed
|
23
|
+
"allowed" => allowed
|
24
24
|
}
|
25
25
|
unless options[:description].nil?
|
26
26
|
body_object["description"] = options[:description]
|
@@ -7,22 +7,22 @@ module Fog
|
|
7
7
|
get_region(region_name)
|
8
8
|
|
9
9
|
id = Fog::Mock.random_numbers(19).to_s
|
10
|
-
|
10
|
+
data[:forwarding_rules][name] = {
|
11
11
|
"kind" => "compute#forwardingRule",
|
12
12
|
"id" => id,
|
13
13
|
"creationTimestamp" => Time.now.iso8601,
|
14
14
|
"name" => name,
|
15
|
-
"description" =>
|
15
|
+
"description" => "",
|
16
16
|
"region" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}",
|
17
|
-
"IPAddress" =>
|
18
|
-
"IPProtocol" =>
|
19
|
-
"portRange" =>
|
20
|
-
"target" => opts[
|
17
|
+
"IPAddress" => "",
|
18
|
+
"IPProtocol" => "",
|
19
|
+
"portRange" => "",
|
20
|
+
"target" => opts["target"],
|
21
21
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/forwardingRules/#{name}"
|
22
22
|
}
|
23
23
|
|
24
|
-
operation =
|
25
|
-
|
24
|
+
operation = random_operation
|
25
|
+
data[:operations][operation] = {
|
26
26
|
"kind" => "compute#operation",
|
27
27
|
"id" => Fog::Mock.random_numbers(19).to_s,
|
28
28
|
"name" => operation,
|
@@ -38,7 +38,7 @@ module Fog
|
|
38
38
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/regions/#{region_name}/operations/#{operation}"
|
39
39
|
}
|
40
40
|
|
41
|
-
build_excon_response(
|
41
|
+
build_excon_response(data[:operations][operation])
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -46,13 +46,13 @@ module Fog
|
|
46
46
|
def insert_forwarding_rule(forwarding_rule_name, region_name, opts = {})
|
47
47
|
api_method = @compute.forwarding_rules.insert
|
48
48
|
parameters = {
|
49
|
-
|
50
|
-
|
49
|
+
"project" => @project,
|
50
|
+
"region" => region_name
|
51
51
|
}
|
52
|
-
body_object = {
|
52
|
+
body_object = { "name" => forwarding_rule_name }
|
53
53
|
body_object.merge!(opts)
|
54
54
|
|
55
|
-
request(api_method, parameters, body_object=body_object)
|
55
|
+
request(api_method, parameters, body_object = body_object)
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
data/lib/fog/{google/requests/compute → compute/google/requests}/insert_global_forwarding_rule.rb
RENAMED
@@ -4,22 +4,22 @@ module Fog
|
|
4
4
|
class Mock
|
5
5
|
def insert_global_forwarding_rule(name, opts = {})
|
6
6
|
id = Fog::Mock.random_numbers(19).to_s
|
7
|
-
|
7
|
+
data[:global_forwarding_rules][name] = {
|
8
8
|
"kind" => "compute#forwardingRule",
|
9
9
|
"id" => id,
|
10
10
|
"creationTimestamp" => Time.now.iso8601,
|
11
11
|
"name" => name,
|
12
|
-
"description" =>
|
13
|
-
"region" =>
|
14
|
-
"IPAddress" =>
|
15
|
-
"IPProtocol" =>
|
16
|
-
"portRange" =>
|
17
|
-
"target" => opts[
|
12
|
+
"description" => "",
|
13
|
+
"region" => "global",
|
14
|
+
"IPAddress" => "",
|
15
|
+
"IPProtocol" => "",
|
16
|
+
"portRange" => "",
|
17
|
+
"target" => opts["target"],
|
18
18
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/forwardingRules/#{name}"
|
19
19
|
}
|
20
20
|
|
21
|
-
operation =
|
22
|
-
|
21
|
+
operation = random_operation
|
22
|
+
data[:operations][operation] = {
|
23
23
|
"kind" => "compute#operation",
|
24
24
|
"id" => Fog::Mock.random_numbers(19).to_s,
|
25
25
|
"name" => operation,
|
@@ -35,7 +35,7 @@ module Fog
|
|
35
35
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}"
|
36
36
|
}
|
37
37
|
|
38
|
-
build_excon_response(
|
38
|
+
build_excon_response(data[:operations][operation])
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
@@ -43,12 +43,12 @@ module Fog
|
|
43
43
|
def insert_global_forwarding_rule(global_forwarding_rule_name, opts = {})
|
44
44
|
api_method = @compute.global_forwarding_rules.insert
|
45
45
|
parameters = {
|
46
|
-
|
46
|
+
"project" => @project
|
47
47
|
}
|
48
|
-
body_object = {
|
48
|
+
body_object = { "name" => global_forwarding_rule_name, "region" => "global" }
|
49
49
|
body_object.merge!(opts)
|
50
50
|
|
51
|
-
request(api_method, parameters,body_object=body_object)
|
51
|
+
request(api_method, parameters, body_object = body_object)
|
52
52
|
end
|
53
53
|
end
|
54
54
|
end
|
data/lib/fog/{google/requests/compute → compute/google/requests}/insert_http_health_check.rb
RENAMED
@@ -2,16 +2,16 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class Google
|
4
4
|
class Mock
|
5
|
-
def insert_http_health_check(name,
|
5
|
+
def insert_http_health_check(name, _options = {})
|
6
6
|
id = Fog::Mock.random_numbers(19).to_s
|
7
|
-
|
7
|
+
data[:http_health_checks][name] = {
|
8
8
|
"kind" => "compute#httpHealthCheck",
|
9
9
|
"id" => id,
|
10
10
|
"creationTimestamp" => Time.now.iso8601,
|
11
11
|
"name" => name,
|
12
|
-
"description" =>
|
13
|
-
"host" =>
|
14
|
-
"requestPath" =>
|
12
|
+
"description" => "",
|
13
|
+
"host" => "0.00.0.0",
|
14
|
+
"requestPath" => "/",
|
15
15
|
"port" => 80,
|
16
16
|
"checkIntervalSec" => 5,
|
17
17
|
"timeoutSec" => 5,
|
@@ -20,8 +20,8 @@ module Fog
|
|
20
20
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/httpHealthChecks/#{name}"
|
21
21
|
}
|
22
22
|
|
23
|
-
operation =
|
24
|
-
|
23
|
+
operation = random_operation
|
24
|
+
data[:operations][operation] = {
|
25
25
|
"kind" => "compute#operation",
|
26
26
|
"id" => Fog::Mock.random_numbers(19).to_s,
|
27
27
|
"name" => operation,
|
@@ -37,18 +37,18 @@ module Fog
|
|
37
37
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}"
|
38
38
|
}
|
39
39
|
|
40
|
-
build_excon_response(
|
40
|
+
build_excon_response(data[:operations][operation])
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
44
|
class Real
|
45
|
-
def insert_http_health_check(name, opts={})
|
45
|
+
def insert_http_health_check(name, opts = {})
|
46
46
|
api_method = @compute.http_health_checks.insert
|
47
47
|
parameters = {
|
48
|
-
|
48
|
+
"project" => @project
|
49
49
|
}
|
50
50
|
|
51
|
-
body_object = {
|
51
|
+
body_object = { "name" => name }
|
52
52
|
body_object.merge!(opts)
|
53
53
|
|
54
54
|
request(api_method, parameters, body_object)
|
@@ -2,26 +2,26 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class Google
|
4
4
|
class Mock
|
5
|
-
def insert_image(image_name, options={})
|
5
|
+
def insert_image(image_name, options = {})
|
6
6
|
id = Fog::Mock.random_numbers(19).to_s
|
7
7
|
object = {
|
8
8
|
"kind" => "compute#image",
|
9
9
|
"id" => id,
|
10
10
|
"creationTimestamp" => Time.now.iso8601,
|
11
|
-
"sourceType" =>
|
11
|
+
"sourceType" => "",
|
12
12
|
"rawDisk" => {
|
13
13
|
"source" => options ["source"],
|
14
|
-
"shal1Checksum" =>
|
15
|
-
"containerType" =>
|
14
|
+
"shal1Checksum" => "",
|
15
|
+
"containerType" => ""
|
16
16
|
},
|
17
17
|
"status" => "READY",
|
18
18
|
"name" => image_name,
|
19
19
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/images/#{image_name}"
|
20
20
|
}
|
21
|
-
|
21
|
+
data[:images][image_name] = object
|
22
22
|
|
23
|
-
operation =
|
24
|
-
|
23
|
+
operation = random_operation
|
24
|
+
data[:operations][operation] = {
|
25
25
|
"kind" => "compute#operation",
|
26
26
|
"id" => Fog::Mock.random_numbers(19).to_s,
|
27
27
|
"name" => operation,
|
@@ -36,27 +36,27 @@ module Fog
|
|
36
36
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/operations/#{operation}"
|
37
37
|
}
|
38
38
|
|
39
|
-
build_excon_response(
|
39
|
+
build_excon_response(data[:operations][operation])
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
43
|
class Real
|
44
|
-
def insert_image(image_name, options={})
|
44
|
+
def insert_image(image_name, options = {})
|
45
45
|
api_method = @compute.images.insert
|
46
46
|
|
47
47
|
parameters = {
|
48
|
-
|
48
|
+
"project" => @project
|
49
49
|
}
|
50
50
|
|
51
51
|
body_object = {
|
52
|
-
|
53
|
-
|
52
|
+
"sourceType" => "RAW",
|
53
|
+
"name" => image_name
|
54
54
|
}
|
55
55
|
|
56
|
-
# Merge in the remaining params
|
56
|
+
# Merge in the remaining params
|
57
57
|
body_object.merge!(options)
|
58
58
|
|
59
|
-
request(api_method, parameters, body_object=body_object)
|
59
|
+
request(api_method, parameters, body_object = body_object)
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
@@ -2,7 +2,7 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class Google
|
4
4
|
class Mock
|
5
|
-
def insert_instance_group(
|
5
|
+
def insert_instance_group(_group_name, _zone, _options = {})
|
6
6
|
Fog::Mock.not_implemented
|
7
7
|
end
|
8
8
|
end
|
@@ -11,17 +11,17 @@ module Fog
|
|
11
11
|
def insert_instance_group(group_name, zone, options = {})
|
12
12
|
api_method = @compute.instance_groups.insert
|
13
13
|
parameters = {
|
14
|
-
|
15
|
-
|
14
|
+
"project" => @project,
|
15
|
+
"zone" => zone
|
16
16
|
}
|
17
17
|
|
18
18
|
id = Fog::Mock.random_numbers(19).to_s
|
19
19
|
|
20
20
|
body = {
|
21
|
-
|
22
|
-
|
21
|
+
"name" => group_name,
|
22
|
+
"network" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/global/networks/default"
|
23
23
|
}
|
24
|
-
body[
|
24
|
+
body["description"] = options["description"] if options["description"]
|
25
25
|
|
26
26
|
request(api_method, parameters, body)
|
27
27
|
end
|
@@ -2,7 +2,7 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class Google
|
4
4
|
class Mock
|
5
|
-
def insert_network(
|
5
|
+
def insert_network(_network_name, _ip_range, _options = {})
|
6
6
|
Fog::Mock.not_implemented
|
7
7
|
end
|
8
8
|
end
|
@@ -11,15 +11,15 @@ module Fog
|
|
11
11
|
def insert_network(network_name, ip_range, options = {})
|
12
12
|
api_method = @compute.networks.insert
|
13
13
|
parameters = {
|
14
|
-
|
14
|
+
"project" => @project
|
15
15
|
}
|
16
16
|
body_object = {
|
17
|
-
|
18
|
-
|
17
|
+
"name" => network_name,
|
18
|
+
"IPv4Range" => ip_range
|
19
19
|
}
|
20
20
|
|
21
|
-
body_object[
|
22
|
-
body_object[
|
21
|
+
body_object["description"] = options[:description] if options[:description]
|
22
|
+
body_object["gatewayIPv4"] = options[:gateway_ipv4] if options[:gateway_ipv4]
|
23
23
|
|
24
24
|
request(api_method, parameters, body_object)
|
25
25
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class Google
|
4
|
+
class Mock
|
5
|
+
def insert_region_view(_region_view_name, _region_name)
|
6
|
+
Fog::Mock.not_implemented
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
class Real
|
11
|
+
def insert_region_view(region_view_name, region_name, opts = {})
|
12
|
+
api_method = @resourceviews.region_views.insert
|
13
|
+
parameters = {
|
14
|
+
"projectName" => @project,
|
15
|
+
"region" => region_name
|
16
|
+
}
|
17
|
+
body_object = { "name" => region_view_name }
|
18
|
+
body_object.merge!(opts)
|
19
|
+
|
20
|
+
request(api_method, parameters, body_object = body_object)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -2,7 +2,7 @@ module Fog
|
|
2
2
|
module Compute
|
3
3
|
class Google
|
4
4
|
class Mock
|
5
|
-
def insert_route(
|
5
|
+
def insert_route(_name, _network, _dest_range, _priority, _options = {})
|
6
6
|
Fog::Mock.not_implemented
|
7
7
|
end
|
8
8
|
end
|
@@ -11,21 +11,21 @@ module Fog
|
|
11
11
|
def insert_route(name, network, dest_range, priority, options = {})
|
12
12
|
api_method = @compute.routes.insert
|
13
13
|
parameters = {
|
14
|
-
|
14
|
+
"project" => @project
|
15
15
|
}
|
16
16
|
body_object = {
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
17
|
+
"name" => name,
|
18
|
+
"network" => network,
|
19
|
+
"destRange" => dest_range,
|
20
|
+
"priority" => priority
|
21
21
|
}
|
22
|
-
body_object[
|
22
|
+
body_object["description"] = options[:description] if options[:description]
|
23
23
|
unless options[:tags].nil? || options[:tags].empty?
|
24
|
-
body_object[
|
24
|
+
body_object["tags"] = options[:tags]
|
25
25
|
end
|
26
|
-
body_object[
|
27
|
-
body_object[
|
28
|
-
body_object[
|
26
|
+
body_object["nextHopInstance"] = options[:next_hop_instance] if options[:next_hop_instance]
|
27
|
+
body_object["nextHopGateway"] = options[:next_hop_gateway] if options[:next_hop_gateway]
|
28
|
+
body_object["nextHopIp"] = options[:next_hop_ip] if options[:next_hop_ip]
|
29
29
|
|
30
30
|
request(api_method, parameters, body_object)
|
31
31
|
end
|
@@ -7,31 +7,31 @@ module Fog
|
|
7
7
|
def handle_disks(options, zone_name)
|
8
8
|
disks = []
|
9
9
|
i = 0
|
10
|
-
options.delete(
|
10
|
+
options.delete("disks").each do |disk|
|
11
11
|
disk = Disk.new(disk) unless disk.is_a? Disk
|
12
12
|
disks << {
|
13
|
-
"kind"=>"compute#attachedDisk",
|
14
|
-
"index"=>i,
|
15
|
-
"type"=>"PERSISTENT",
|
16
|
-
"mode"=>"READ_WRITE",
|
17
|
-
"source"=>"https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/disks/#{disk.name}",
|
18
|
-
"deviceName"=>"persistent-disk-#{i}",
|
19
|
-
"boot"=>true
|
13
|
+
"kind" => "compute#attachedDisk",
|
14
|
+
"index" => i,
|
15
|
+
"type" => "PERSISTENT",
|
16
|
+
"mode" => "READ_WRITE",
|
17
|
+
"source" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/disks/#{disk.name}",
|
18
|
+
"deviceName" => "persistent-disk-#{i}",
|
19
|
+
"boot" => true
|
20
20
|
}
|
21
|
-
i+=1
|
21
|
+
i += 1
|
22
22
|
end
|
23
23
|
disks
|
24
24
|
end
|
25
25
|
|
26
|
-
def insert_server(server_name, zone_name, options={}, *
|
26
|
+
def insert_server(server_name, zone_name, options = {}, *_deprecated_args)
|
27
27
|
# check that zone exists
|
28
28
|
get_zone(zone_name)
|
29
29
|
|
30
|
-
if options[
|
30
|
+
if options["disks"].nil? || options["disks"].empty?
|
31
31
|
raise ArgumentError.new "Empty value for field 'disks'. Boot disk must be specified"
|
32
32
|
end
|
33
33
|
id = Fog::Mock.random_numbers(19).to_s
|
34
|
-
|
34
|
+
data[:servers][server_name] = {
|
35
35
|
"kind" => "compute#instance",
|
36
36
|
"id" => id,
|
37
37
|
"creationTimestamp" => Time.now.iso8601,
|
@@ -70,8 +70,8 @@ module Fog
|
|
70
70
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/instances/#{server_name}"
|
71
71
|
}
|
72
72
|
|
73
|
-
operation =
|
74
|
-
|
73
|
+
operation = random_operation
|
74
|
+
data[:operations][operation] = {
|
75
75
|
"kind" => "compute#operation",
|
76
76
|
"id" => Fog::Mock.random_numbers(19).to_s,
|
77
77
|
"name" => operation,
|
@@ -87,7 +87,7 @@ module Fog
|
|
87
87
|
"selfLink" => "https://www.googleapis.com/compute/#{api_version}/projects/#{@project}/zones/#{zone_name}/operations/#{operation}"
|
88
88
|
}
|
89
89
|
|
90
|
-
build_excon_response(
|
90
|
+
build_excon_response(data[:operations][operation])
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
@@ -98,97 +98,97 @@ module Fog
|
|
98
98
|
disks = []
|
99
99
|
# An array of persistent disks. You must supply a boot disk as the first disk in
|
100
100
|
# this array and mark it as a boot disk using the disks[].boot property.
|
101
|
-
options.delete(
|
101
|
+
options.delete("disks").each do |disk|
|
102
102
|
if disk.is_a? Disk
|
103
103
|
disks << disk.get_object
|
104
104
|
else
|
105
105
|
disks << disk
|
106
106
|
end
|
107
107
|
end
|
108
|
-
disks.first[
|
108
|
+
disks.first["boot"] = true
|
109
109
|
disks
|
110
110
|
end
|
111
111
|
|
112
112
|
def format_metadata(metadata)
|
113
|
-
{ "items" => metadata.map {|k,v| {"key" => k, "value" => v}} }
|
113
|
+
{ "items" => metadata.map { |k, v| { "key" => k, "value" => v } } }
|
114
114
|
end
|
115
115
|
|
116
|
-
def insert_server(server_name, zone_name, options={}, *deprecated_args)
|
117
|
-
if deprecated_args.length > 0
|
118
|
-
raise ArgumentError.new
|
119
|
-
|
116
|
+
def insert_server(server_name, zone_name, options = {}, *deprecated_args)
|
117
|
+
if deprecated_args.length > 0 || !options.is_a?(Hash)
|
118
|
+
raise ArgumentError.new "Too many parameters specified. This may be the cause of code written for an outdated"\
|
119
|
+
" version of fog. Usage: server_name, zone_name, [options]"
|
120
120
|
end
|
121
121
|
api_method = @compute.instances.insert
|
122
122
|
parameters = {
|
123
|
-
|
124
|
-
|
123
|
+
"project" => @project,
|
124
|
+
"zone" => zone_name
|
125
125
|
}
|
126
|
-
body_object = {:name => server_name}
|
126
|
+
body_object = { :name => server_name }
|
127
127
|
|
128
|
-
body_object[
|
128
|
+
body_object["machineType"] = @api_url + @project + "/zones/#{zone_name}/machineTypes/#{options.delete 'machineType'}"
|
129
129
|
network = nil
|
130
|
-
if options.key?
|
131
|
-
network = options.delete
|
130
|
+
if options.key? "network"
|
131
|
+
network = options.delete "network"
|
132
132
|
else
|
133
133
|
network = GOOGLE_COMPUTE_DEFAULT_NETWORK
|
134
134
|
end
|
135
135
|
|
136
136
|
# ExternalIP is default value for server creation
|
137
|
-
access_config = {
|
137
|
+
access_config = { "type" => "ONE_TO_ONE_NAT", "name" => "External NAT" }
|
138
138
|
# leave natIP undefined to use an IP from a shared ephemeral IP address pool
|
139
|
-
if options.key?
|
140
|
-
access_config[
|
139
|
+
if options.key? "externalIp"
|
140
|
+
access_config["natIP"] = options.delete "externalIp"
|
141
141
|
# If set to 'false', that would mean user does no want to allocate an external IP
|
142
|
-
access_config = nil if access_config[
|
142
|
+
access_config = nil if access_config["natIP"] == false
|
143
143
|
end
|
144
144
|
|
145
145
|
networkInterfaces = []
|
146
|
-
|
147
|
-
networkInterface = {
|
148
|
-
networkInterface[
|
149
|
-
networkInterfaces <<
|
146
|
+
unless network.nil?
|
147
|
+
networkInterface = { "network" => @api_url + @project + "/global/networks/#{network}" }
|
148
|
+
networkInterface["accessConfigs"] = [access_config] if access_config
|
149
|
+
networkInterfaces << networkInterface
|
150
150
|
end
|
151
151
|
|
152
152
|
scheduling = {
|
153
|
-
|
154
|
-
|
155
|
-
|
153
|
+
"automaticRestart" => false,
|
154
|
+
"onHostMaintenance" => "MIGRATE",
|
155
|
+
"preemptible" => false
|
156
156
|
}
|
157
|
-
if options.key?
|
158
|
-
scheduling[
|
159
|
-
scheduling[
|
157
|
+
if options.key? "auto_restart"
|
158
|
+
scheduling["automaticRestart"] = options.delete "auto_restart"
|
159
|
+
scheduling["automaticRestart"] = scheduling["automaticRestart"].class == TrueClass
|
160
160
|
end
|
161
|
-
if options.key?
|
162
|
-
scheduling[
|
163
|
-
scheduling[
|
161
|
+
if options.key? "preemptible"
|
162
|
+
scheduling["preemptible"] = options.delete "preemptible"
|
163
|
+
scheduling["preemptible"] = scheduling["preemptible"].class == TrueClass
|
164
164
|
end
|
165
|
-
if options.key?
|
166
|
-
ohm = options.delete
|
167
|
-
scheduling[
|
165
|
+
if options.key? "on_host_maintenance"
|
166
|
+
ohm = options.delete "on_host_maintenance"
|
167
|
+
scheduling["onHostMaintenance"] = (ohm.respond_to?("upcase") &&
|
168
168
|
ohm.upcase == "MIGRATE" && "MIGRATE") || "TERMINATE"
|
169
169
|
end
|
170
|
-
body_object[
|
170
|
+
body_object["scheduling"] = scheduling
|
171
171
|
|
172
172
|
# @see https://developers.google.com/compute/docs/networking#canipforward
|
173
|
-
if options.key?
|
174
|
-
body_object[
|
173
|
+
if options.key? "can_ip_forward"
|
174
|
+
body_object["canIpForward"] = options.delete "can_ip_forward"
|
175
175
|
end
|
176
176
|
|
177
177
|
# TODO: add other networks
|
178
|
-
body_object[
|
178
|
+
body_object["networkInterfaces"] = networkInterfaces
|
179
179
|
|
180
|
-
if options[
|
180
|
+
if options["disks"].nil? || options["disks"].empty?
|
181
181
|
raise ArgumentError.new "Empty value for field 'disks'. Boot disk must be specified"
|
182
182
|
end
|
183
|
-
body_object[
|
183
|
+
body_object["disks"] = handle_disks(options)
|
184
184
|
|
185
|
-
options[
|
185
|
+
options["metadata"] = format_metadata options["metadata"] if options["metadata"]
|
186
186
|
|
187
|
-
body_object[
|
187
|
+
body_object["tags"] = { "items" => options.delete("tags") } if options["tags"]
|
188
188
|
|
189
189
|
body_object.merge!(options) # Adds in all remaining options that weren't explicitly handled.
|
190
190
|
|
191
|
-
request(api_method, parameters, body_object=body_object)
|
191
|
+
request(api_method, parameters, body_object = body_object)
|
192
192
|
end
|
193
193
|
end
|
194
194
|
end
|