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
@@ -0,0 +1,34 @@
|
|
1
|
+
module Fog
|
2
|
+
module Storage
|
3
|
+
class GoogleXML
|
4
|
+
class Directories < Fog::Collection
|
5
|
+
model Fog::Storage::GoogleXML::Directory
|
6
|
+
|
7
|
+
def all
|
8
|
+
data = service.get_service.body["Buckets"]
|
9
|
+
load(data)
|
10
|
+
end
|
11
|
+
|
12
|
+
def get(key, options = {})
|
13
|
+
remap_attributes(options, :delimiter => "delimiter",
|
14
|
+
:marker => "marker",
|
15
|
+
:max_keys => "max-keys",
|
16
|
+
:prefix => "prefix")
|
17
|
+
data = service.get_bucket(key, options).body
|
18
|
+
directory = new(:key => data["Name"])
|
19
|
+
options = {}
|
20
|
+
for k, v in data
|
21
|
+
if %w(CommonPrefixes Delimiter IsTruncated Marker MaxKeys Prefix).include?(k)
|
22
|
+
options[k] = v
|
23
|
+
end
|
24
|
+
end
|
25
|
+
directory.files.merge_attributes(options)
|
26
|
+
directory.files.load(data["Contents"])
|
27
|
+
directory
|
28
|
+
rescue Excon::Errors::NotFound
|
29
|
+
nil
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,16 +1,13 @@
|
|
1
|
-
require 'fog/core/model'
|
2
|
-
require 'fog/google/models/storage/files'
|
3
|
-
|
4
1
|
module Fog
|
5
2
|
module Storage
|
6
|
-
class
|
3
|
+
class GoogleXML
|
7
4
|
class Directory < Fog::Model
|
8
|
-
identity
|
5
|
+
identity :key, :aliases => %w(Name name)
|
9
6
|
|
10
|
-
attribute :creation_date, :aliases =>
|
7
|
+
attribute :creation_date, :aliases => "CreationDate"
|
11
8
|
|
12
9
|
def acl=(new_acl)
|
13
|
-
valid_acls = [
|
10
|
+
valid_acls = ["private", "public-read", "public-read-write", "authenticated-read"]
|
14
11
|
unless valid_acls.include?(new_acl)
|
15
12
|
raise ArgumentError.new("acl must be one of [#{valid_acls.join(', ')}]")
|
16
13
|
end
|
@@ -27,44 +24,39 @@ module Fog
|
|
27
24
|
|
28
25
|
def files
|
29
26
|
@files ||= begin
|
30
|
-
Fog::Storage::
|
31
|
-
:directory
|
32
|
-
:service
|
27
|
+
Fog::Storage::GoogleXML::Files.new(
|
28
|
+
:directory => self,
|
29
|
+
:service => service
|
33
30
|
)
|
34
31
|
end
|
35
32
|
end
|
36
33
|
|
37
34
|
def public=(new_public)
|
38
35
|
if new_public
|
39
|
-
@acl =
|
36
|
+
@acl = "public-read"
|
40
37
|
else
|
41
|
-
@acl =
|
38
|
+
@acl = "private"
|
42
39
|
end
|
43
40
|
new_public
|
44
41
|
end
|
45
42
|
|
46
43
|
def public_url
|
47
44
|
requires :key
|
48
|
-
if service.get_bucket_acl(key).body[
|
45
|
+
if service.get_bucket_acl(key).body["AccessControlList"].detect { |entry| entry["Scope"]["type"] == "AllUsers" && entry["Permission"] == "READ" }
|
49
46
|
if key.to_s =~ /^(?:[a-z]|\d(?!\d{0,2}(?:\.\d{1,3}){3}$))(?:[a-z0-9]|\.(?![\.\-])|\-(?![\.])){1,61}[a-z0-9]$/
|
50
47
|
"https://#{key}.storage.googleapis.com"
|
51
48
|
else
|
52
49
|
"https://storage.googleapis.com/#{key}"
|
53
50
|
end
|
54
|
-
else
|
55
|
-
nil
|
56
51
|
end
|
57
52
|
end
|
58
53
|
|
59
54
|
def save
|
60
55
|
requires :key
|
61
56
|
options = {}
|
62
|
-
if @acl
|
63
|
-
|
64
|
-
|
65
|
-
if @location
|
66
|
-
options['LocationConstraint'] = @location
|
67
|
-
end
|
57
|
+
options["x-goog-acl"] = @acl if @acl
|
58
|
+
options["LocationConstraint"] = @location if @location
|
59
|
+
options["StorageClass"] = attributes[:storage_class] if attributes[:storage_class]
|
68
60
|
service.put_bucket(key, options)
|
69
61
|
true
|
70
62
|
end
|
@@ -1,26 +1,24 @@
|
|
1
|
-
require 'fog/core/model'
|
2
|
-
|
3
1
|
module Fog
|
4
2
|
module Storage
|
5
|
-
class
|
3
|
+
class GoogleXML
|
6
4
|
class File < Fog::Model
|
7
|
-
identity
|
8
|
-
|
9
|
-
attribute :cache_control, :aliases =>
|
10
|
-
attribute :content_disposition, :aliases =>
|
11
|
-
attribute :content_encoding, :aliases =>
|
12
|
-
attribute :content_length, :aliases => [
|
13
|
-
attribute :content_md5, :aliases =>
|
14
|
-
attribute :content_type, :aliases =>
|
15
|
-
attribute :etag, :aliases =>
|
16
|
-
attribute :expires, :aliases =>
|
17
|
-
attribute :last_modified, :aliases => [
|
5
|
+
identity :key, :aliases => "Key"
|
6
|
+
|
7
|
+
attribute :cache_control, :aliases => "Cache-Control"
|
8
|
+
attribute :content_disposition, :aliases => "Content-Disposition"
|
9
|
+
attribute :content_encoding, :aliases => "Content-Encoding"
|
10
|
+
attribute :content_length, :aliases => ["Content-Length", "Size"], :type => :integer
|
11
|
+
attribute :content_md5, :aliases => "Content-MD5"
|
12
|
+
attribute :content_type, :aliases => "Content-Type"
|
13
|
+
attribute :etag, :aliases => %w(Etag ETag)
|
14
|
+
attribute :expires, :aliases => "Expires"
|
15
|
+
attribute :last_modified, :aliases => ["Last-Modified", "LastModified"]
|
18
16
|
attribute :metadata
|
19
|
-
attribute :owner, :aliases =>
|
20
|
-
attribute :storage_class, :aliases => [
|
17
|
+
attribute :owner, :aliases => "Owner"
|
18
|
+
attribute :storage_class, :aliases => ["x-goog-storage-class", "StorageClass"]
|
21
19
|
|
22
20
|
def acl=(new_acl)
|
23
|
-
valid_acls = [
|
21
|
+
valid_acls = ["private", "public-read", "public-read-write", "authenticated-read"]
|
24
22
|
unless valid_acls.include?(new_acl)
|
25
23
|
raise ArgumentError.new("acl must be one of [#{valid_acls.join(', ')}]")
|
26
24
|
end
|
@@ -28,20 +26,14 @@ module Fog
|
|
28
26
|
end
|
29
27
|
|
30
28
|
def body
|
31
|
-
attributes[:body] ||=
|
32
|
-
file.body
|
33
|
-
else
|
34
|
-
''
|
35
|
-
end
|
29
|
+
attributes[:body] ||= last_modified && (file = collection.get(identity)) ? file.body : ""
|
36
30
|
end
|
37
31
|
|
38
32
|
def body=(new_body)
|
39
33
|
attributes[:body] = new_body
|
40
34
|
end
|
41
35
|
|
42
|
-
|
43
|
-
@directory
|
44
|
-
end
|
36
|
+
attr_reader :directory
|
45
37
|
|
46
38
|
def copy(target_directory_key, target_file_key)
|
47
39
|
requires :directory, :key
|
@@ -61,7 +53,7 @@ module Fog
|
|
61
53
|
|
62
54
|
remove_method :metadata
|
63
55
|
def metadata
|
64
|
-
attributes.reject {|key,
|
56
|
+
attributes.reject { |key, _value| !(key.to_s =~ /^x-goog-meta-/) }
|
65
57
|
end
|
66
58
|
|
67
59
|
remove_method :metadata=
|
@@ -73,17 +65,17 @@ module Fog
|
|
73
65
|
def owner=(new_owner)
|
74
66
|
if new_owner
|
75
67
|
attributes[:owner] = {
|
76
|
-
:display_name => new_owner[
|
77
|
-
:id => new_owner[
|
68
|
+
:display_name => new_owner["DisplayName"],
|
69
|
+
:id => new_owner["ID"]
|
78
70
|
}
|
79
71
|
end
|
80
72
|
end
|
81
73
|
|
82
74
|
def public=(new_public)
|
83
75
|
if new_public
|
84
|
-
@acl =
|
76
|
+
@acl = "public-read"
|
85
77
|
else
|
86
|
-
@acl =
|
78
|
+
@acl = "private"
|
87
79
|
end
|
88
80
|
new_public
|
89
81
|
end
|
@@ -91,9 +83,9 @@ module Fog
|
|
91
83
|
def public_url
|
92
84
|
requires :directory, :key
|
93
85
|
|
94
|
-
acl = service.get_object_acl(directory.key, key).body[
|
95
|
-
access_granted = acl.
|
96
|
-
entry[
|
86
|
+
acl = service.get_object_acl(directory.key, key).body["AccessControlList"]
|
87
|
+
access_granted = acl.detect do |entry|
|
88
|
+
entry["Scope"]["type"] == "AllUsers" && entry["Permission"] == "READ"
|
97
89
|
end
|
98
90
|
|
99
91
|
if access_granted
|
@@ -102,8 +94,6 @@ module Fog
|
|
102
94
|
else
|
103
95
|
"https://storage.googleapis.com/#{directory.key}/#{key}"
|
104
96
|
end
|
105
|
-
else
|
106
|
-
nil
|
107
97
|
end
|
108
98
|
end
|
109
99
|
|
@@ -112,17 +102,17 @@ module Fog
|
|
112
102
|
if options != {}
|
113
103
|
Fog::Logger.deprecation("options param is deprecated, use acl= instead [light_black](#{caller.first})[/]")
|
114
104
|
end
|
115
|
-
options[
|
116
|
-
options[
|
117
|
-
options[
|
118
|
-
options[
|
119
|
-
options[
|
120
|
-
options[
|
121
|
-
options[
|
105
|
+
options["x-goog-acl"] ||= @acl if @acl
|
106
|
+
options["Cache-Control"] = cache_control if cache_control
|
107
|
+
options["Content-Disposition"] = content_disposition if content_disposition
|
108
|
+
options["Content-Encoding"] = content_encoding if content_encoding
|
109
|
+
options["Content-MD5"] = content_md5 if content_md5
|
110
|
+
options["Content-Type"] = content_type if content_type
|
111
|
+
options["Expires"] = expires if expires
|
122
112
|
options.merge!(metadata)
|
123
113
|
|
124
114
|
data = service.put_object(directory.key, key, body, options)
|
125
|
-
merge_attributes(data.headers.reject {|key,
|
115
|
+
merge_attributes(data.headers.reject { |key, _value| ["Content-Length", "Content-Type"].include?(key) })
|
126
116
|
self.content_length = Fog::Storage.get_body_size(body)
|
127
117
|
self.content_type ||= Fog::Storage.get_content_type(body)
|
128
118
|
true
|
@@ -135,9 +125,7 @@ module Fog
|
|
135
125
|
|
136
126
|
private
|
137
127
|
|
138
|
-
|
139
|
-
@directory = new_directory
|
140
|
-
end
|
128
|
+
attr_writer :directory
|
141
129
|
end
|
142
130
|
end
|
143
131
|
end
|
@@ -1,32 +1,29 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
|
-
require 'fog/google/models/storage/file'
|
3
|
-
|
4
1
|
module Fog
|
5
2
|
module Storage
|
6
|
-
class
|
3
|
+
class GoogleXML
|
7
4
|
class Files < Fog::Collection
|
8
5
|
extend Fog::Deprecation
|
9
6
|
deprecate :get_url, :get_https_url
|
10
7
|
|
11
|
-
attribute :common_prefixes, :aliases =>
|
12
|
-
attribute :delimiter, :aliases =>
|
8
|
+
attribute :common_prefixes, :aliases => "CommonPrefixes"
|
9
|
+
attribute :delimiter, :aliases => "Delimiter"
|
13
10
|
attribute :directory
|
14
|
-
attribute :is_truncated, :aliases =>
|
15
|
-
attribute :marker, :aliases =>
|
16
|
-
attribute :max_keys, :aliases => [
|
17
|
-
attribute :prefix, :aliases =>
|
11
|
+
attribute :is_truncated, :aliases => "IsTruncated"
|
12
|
+
attribute :marker, :aliases => "Marker"
|
13
|
+
attribute :max_keys, :aliases => ["MaxKeys", "max-keys"]
|
14
|
+
attribute :prefix, :aliases => "Prefix"
|
18
15
|
|
19
|
-
model Fog::Storage::
|
16
|
+
model Fog::Storage::GoogleXML::File
|
20
17
|
|
21
18
|
def all(options = {})
|
22
19
|
requires :directory
|
23
20
|
options = {
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
"delimiter" => delimiter,
|
22
|
+
"marker" => marker,
|
23
|
+
"max-keys" => max_keys,
|
24
|
+
"prefix" => prefix
|
28
25
|
}.merge!(options)
|
29
|
-
options = options.reject {|
|
26
|
+
options = options.reject { |_key, value| value.nil? || value.to_s.empty? }
|
30
27
|
merge_attributes(options)
|
31
28
|
parent = directory.collection.get(
|
32
29
|
directory.key,
|
@@ -34,9 +31,7 @@ module Fog
|
|
34
31
|
)
|
35
32
|
if parent
|
36
33
|
merge_attributes(parent.files.attributes)
|
37
|
-
load(parent.files.map
|
38
|
-
else
|
39
|
-
nil
|
34
|
+
load(parent.files.map(&:attributes))
|
40
35
|
end
|
41
36
|
end
|
42
37
|
|
@@ -47,10 +42,10 @@ module Fog
|
|
47
42
|
else
|
48
43
|
subset = dup.all
|
49
44
|
|
50
|
-
subset.each_file_this_page {|f| yield f}
|
45
|
+
subset.each_file_this_page { |f| yield f }
|
51
46
|
while subset.is_truncated
|
52
47
|
subset = subset.all(:marker => subset.last.key)
|
53
|
-
subset.each_file_this_page {|f| yield f}
|
48
|
+
subset.each_file_this_page { |f| yield f }
|
54
49
|
end
|
55
50
|
|
56
51
|
self
|
@@ -61,13 +56,11 @@ module Fog
|
|
61
56
|
requires :directory
|
62
57
|
data = service.get_object(directory.key, key, options, &block)
|
63
58
|
file_data = {}
|
64
|
-
data.headers.each do |
|
65
|
-
file_data[
|
59
|
+
data.headers.each do |k, v|
|
60
|
+
file_data[k] = v
|
66
61
|
end
|
67
|
-
file_data.merge!(
|
68
|
-
|
69
|
-
:key => key
|
70
|
-
})
|
62
|
+
file_data.merge!(:body => data.body,
|
63
|
+
:key => key)
|
71
64
|
new(file_data)
|
72
65
|
rescue Excon::Errors::NotFound
|
73
66
|
nil
|
@@ -86,9 +79,7 @@ module Fog
|
|
86
79
|
def head(key, options = {})
|
87
80
|
requires :directory
|
88
81
|
data = service.head_object(directory.key, key, options)
|
89
|
-
file_data = data.headers.merge(
|
90
|
-
:key => key
|
91
|
-
})
|
82
|
+
file_data = data.headers.merge(:key => key)
|
92
83
|
new(file_data)
|
93
84
|
rescue Excon::Errors::NotFound
|
94
85
|
nil
|
@@ -1,9 +1,7 @@
|
|
1
1
|
module Fog
|
2
2
|
module Storage
|
3
|
-
class
|
3
|
+
class GoogleXML
|
4
4
|
class Real
|
5
|
-
require 'fog/google/parsers/storage/copy_object'
|
6
|
-
|
7
5
|
# Copy an object from one Google Storage bucket to another
|
8
6
|
#
|
9
7
|
# ==== Parameters
|
@@ -25,39 +23,35 @@ module Fog
|
|
25
23
|
# * 'LastModified'<~Time> - date object was last modified
|
26
24
|
#
|
27
25
|
def copy_object(source_bucket_name, source_object_name, target_bucket_name, target_object_name, options = {})
|
28
|
-
headers = {
|
29
|
-
request(
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
:path => Fog::Google.escape(target_object_name)
|
36
|
-
})
|
26
|
+
headers = { "x-goog-copy-source" => "/#{source_bucket_name}/#{source_object_name}" }.merge(options)
|
27
|
+
request(:expects => 200,
|
28
|
+
:headers => headers,
|
29
|
+
:host => "#{target_bucket_name}.#{@host}",
|
30
|
+
:method => "PUT",
|
31
|
+
:parser => Fog::Parsers::Storage::Google::CopyObject.new,
|
32
|
+
:path => Fog::Google.escape(target_object_name))
|
37
33
|
end
|
38
34
|
end
|
39
35
|
|
40
36
|
class Mock
|
41
|
-
def copy_object(source_bucket_name, source_object_name, target_bucket_name, target_object_name,
|
37
|
+
def copy_object(source_bucket_name, source_object_name, target_bucket_name, target_object_name, _options = {})
|
42
38
|
response = Excon::Response.new
|
43
|
-
source_bucket =
|
39
|
+
source_bucket = data[:buckets][source_bucket_name]
|
44
40
|
source_object = source_bucket && source_bucket[:objects][source_object_name]
|
45
|
-
target_bucket =
|
41
|
+
target_bucket = data[:buckets][target_bucket_name]
|
46
42
|
|
47
43
|
if source_object && target_bucket
|
48
44
|
response.status = 200
|
49
45
|
target_object = source_object.dup
|
50
|
-
target_object.merge!(
|
51
|
-
'Name' => target_object_name
|
52
|
-
})
|
46
|
+
target_object.merge!("Name" => target_object_name)
|
53
47
|
target_bucket[:objects][target_object_name] = target_object
|
54
48
|
response.body = {
|
55
|
-
|
56
|
-
|
49
|
+
"ETag" => target_object["ETag"],
|
50
|
+
"LastModified" => Time.parse(target_object["Last-Modified"])
|
57
51
|
}
|
58
52
|
else
|
59
53
|
response.status = 404
|
60
|
-
raise(Excon::Errors.status_error({:expects => 200}, response))
|
54
|
+
raise(Excon::Errors.status_error({ :expects => 200 }, response))
|
61
55
|
end
|
62
56
|
|
63
57
|
response
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
2
|
module Storage
|
3
|
-
class
|
3
|
+
class GoogleXML
|
4
4
|
class Real
|
5
5
|
# Delete an Google Storage bucket
|
6
6
|
#
|
@@ -11,26 +11,24 @@ module Fog
|
|
11
11
|
# * response<~Excon::Response>:
|
12
12
|
# * status<~Integer> - 204
|
13
13
|
def delete_bucket(bucket_name)
|
14
|
-
request(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
:method => 'DELETE'
|
19
|
-
})
|
14
|
+
request(:expects => 204,
|
15
|
+
:headers => {},
|
16
|
+
:host => "#{bucket_name}.#{@host}",
|
17
|
+
:method => "DELETE")
|
20
18
|
end
|
21
19
|
end
|
22
20
|
|
23
21
|
class Mock
|
24
22
|
def delete_bucket(bucket_name)
|
25
23
|
response = Excon::Response.new
|
26
|
-
if
|
24
|
+
if data[:buckets][bucket_name].nil?
|
27
25
|
response.status = 404
|
28
|
-
raise(Excon::Errors.status_error({:expects => 204}, response))
|
29
|
-
elsif
|
26
|
+
raise(Excon::Errors.status_error({ :expects => 204 }, response))
|
27
|
+
elsif data[:buckets][bucket_name] && !data[:buckets][bucket_name][:objects].empty?
|
30
28
|
response.status = 409
|
31
|
-
raise(Excon::Errors.status_error({:expects => 204}, response))
|
29
|
+
raise(Excon::Errors.status_error({ :expects => 204 }, response))
|
32
30
|
else
|
33
|
-
|
31
|
+
data[:buckets].delete(bucket_name)
|
34
32
|
response.status = 204
|
35
33
|
end
|
36
34
|
response
|