fog-google 1.9.0 → 1.12.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +3 -3
- data/.travis.yml +20 -3
- data/CHANGELOG.md +112 -2
- data/README.md +47 -10
- data/SECURITY.md +16 -0
- data/ci/README.md +3 -2
- data/ci/build-head-pipeline.yml +173 -0
- data/ci/docker-image/Dockerfile +3 -3
- data/ci/{pipeline.yml → integration-pipeline.yml} +0 -24
- data/ci/pipeline-dev.yml +58 -0
- data/ci/tasks/run-int.sh +20 -1
- data/ci/tasks/run-int.yml +2 -0
- data/examples/sql/flags.rb +10 -6
- data/examples/sql/instances.rb +38 -34
- data/examples/sql/operations.rb +20 -16
- data/examples/sql/ssl_certs.rb +32 -28
- data/examples/sql/tiers.rb +10 -6
- data/fog-google.gemspec +3 -3
- data/lib/fog/compute/google.rb +5 -4
- data/lib/fog/compute/google/mock.rb +2 -1
- data/lib/fog/compute/google/models/address.rb +15 -2
- data/lib/fog/compute/google/models/disk.rb +6 -2
- data/lib/fog/compute/google/models/images.rb +6 -1
- data/lib/fog/compute/google/models/instance_groups.rb +2 -2
- data/lib/fog/compute/google/models/server.rb +33 -9
- data/lib/fog/compute/google/real.rb +2 -1
- data/lib/fog/compute/google/requests/abandon_instances.rb +2 -0
- data/lib/fog/compute/google/requests/add_backend_service_backends.rb +2 -0
- data/lib/fog/compute/google/requests/add_instance_group_instances.rb +2 -0
- data/lib/fog/compute/google/requests/add_server_access_config.rb +2 -0
- data/lib/fog/compute/google/requests/add_target_pool_health_checks.rb +2 -0
- data/lib/fog/compute/google/requests/add_target_pool_instances.rb +2 -0
- data/lib/fog/compute/google/requests/attach_disk.rb +2 -0
- data/lib/fog/compute/google/requests/create_disk_snapshot.rb +2 -0
- data/lib/fog/compute/google/requests/delete_address.rb +2 -0
- data/lib/fog/compute/google/requests/delete_backend_service.rb +2 -0
- data/lib/fog/compute/google/requests/delete_disk.rb +2 -0
- data/lib/fog/compute/google/requests/delete_firewall.rb +2 -0
- data/lib/fog/compute/google/requests/delete_forwarding_rule.rb +2 -0
- data/lib/fog/compute/google/requests/delete_global_address.rb +2 -0
- data/lib/fog/compute/google/requests/delete_global_forwarding_rule.rb +2 -0
- data/lib/fog/compute/google/requests/delete_global_operation.rb +2 -0
- data/lib/fog/compute/google/requests/delete_http_health_check.rb +2 -0
- data/lib/fog/compute/google/requests/delete_image.rb +2 -0
- data/lib/fog/compute/google/requests/delete_instance_group.rb +2 -0
- data/lib/fog/compute/google/requests/delete_instance_group_manager.rb +2 -0
- data/lib/fog/compute/google/requests/delete_instance_template.rb +2 -0
- data/lib/fog/compute/google/requests/delete_network.rb +2 -0
- data/lib/fog/compute/google/requests/delete_region_operation.rb +2 -0
- data/lib/fog/compute/google/requests/delete_route.rb +2 -0
- data/lib/fog/compute/google/requests/delete_server.rb +2 -0
- data/lib/fog/compute/google/requests/delete_server_access_config.rb +2 -0
- data/lib/fog/compute/google/requests/delete_snapshot.rb +2 -0
- data/lib/fog/compute/google/requests/delete_ssl_certificate.rb +2 -0
- data/lib/fog/compute/google/requests/delete_subnetwork.rb +2 -0
- data/lib/fog/compute/google/requests/delete_target_http_proxy.rb +2 -0
- data/lib/fog/compute/google/requests/delete_target_https_proxy.rb +2 -0
- data/lib/fog/compute/google/requests/delete_target_instance.rb +2 -0
- data/lib/fog/compute/google/requests/delete_target_pool.rb +2 -0
- data/lib/fog/compute/google/requests/delete_url_map.rb +2 -0
- data/lib/fog/compute/google/requests/delete_zone_operation.rb +2 -0
- data/lib/fog/compute/google/requests/deprecate_image.rb +2 -0
- data/lib/fog/compute/google/requests/detach_disk.rb +2 -0
- data/lib/fog/compute/google/requests/expand_subnetwork_ip_cidr_range.rb +2 -0
- data/lib/fog/compute/google/requests/get_address.rb +2 -0
- data/lib/fog/compute/google/requests/get_backend_service_health.rb +2 -0
- data/lib/fog/compute/google/requests/get_disk.rb +2 -0
- data/lib/fog/compute/google/requests/get_disk_type.rb +2 -0
- data/lib/fog/compute/google/requests/get_firewall.rb +2 -0
- data/lib/fog/compute/google/requests/get_forwarding_rule.rb +2 -0
- data/lib/fog/compute/google/requests/get_global_address.rb +2 -0
- data/lib/fog/compute/google/requests/get_global_forwarding_rule.rb +2 -0
- data/lib/fog/compute/google/requests/get_global_operation.rb +2 -0
- data/lib/fog/compute/google/requests/get_http_health_check.rb +2 -0
- data/lib/fog/compute/google/requests/get_image.rb +2 -0
- data/lib/fog/compute/google/requests/get_image_from_family.rb +2 -0
- data/lib/fog/compute/google/requests/get_instance_group.rb +2 -0
- data/lib/fog/compute/google/requests/get_instance_group_manager.rb +2 -0
- data/lib/fog/compute/google/requests/get_instance_template.rb +2 -0
- data/lib/fog/compute/google/requests/get_machine_type.rb +2 -0
- data/lib/fog/compute/google/requests/get_network.rb +2 -0
- data/lib/fog/compute/google/requests/get_project.rb +2 -0
- data/lib/fog/compute/google/requests/get_region.rb +2 -0
- data/lib/fog/compute/google/requests/get_route.rb +2 -0
- data/lib/fog/compute/google/requests/get_server.rb +2 -0
- data/lib/fog/compute/google/requests/get_server_serial_port_output.rb +2 -0
- data/lib/fog/compute/google/requests/get_snapshot.rb +2 -0
- data/lib/fog/compute/google/requests/get_ssl_certificate.rb +2 -0
- data/lib/fog/compute/google/requests/get_subnetwork.rb +2 -0
- data/lib/fog/compute/google/requests/get_target_http_proxy.rb +2 -0
- data/lib/fog/compute/google/requests/get_target_https_proxy.rb +2 -0
- data/lib/fog/compute/google/requests/get_target_instance.rb +2 -0
- data/lib/fog/compute/google/requests/get_target_pool.rb +2 -0
- data/lib/fog/compute/google/requests/get_target_pool_health.rb +2 -0
- data/lib/fog/compute/google/requests/get_url_map.rb +2 -0
- data/lib/fog/compute/google/requests/get_zone.rb +2 -0
- data/lib/fog/compute/google/requests/get_zone_operation.rb +2 -0
- data/lib/fog/compute/google/requests/insert_address.rb +2 -0
- data/lib/fog/compute/google/requests/insert_backend_service.rb +2 -0
- data/lib/fog/compute/google/requests/insert_disk.rb +8 -5
- data/lib/fog/compute/google/requests/insert_firewall.rb +2 -0
- data/lib/fog/compute/google/requests/insert_forwarding_rule.rb +2 -0
- data/lib/fog/compute/google/requests/insert_global_address.rb +2 -0
- data/lib/fog/compute/google/requests/insert_global_forwarding_rule.rb +2 -0
- data/lib/fog/compute/google/requests/insert_http_health_check.rb +2 -0
- data/lib/fog/compute/google/requests/insert_image.rb +2 -0
- data/lib/fog/compute/google/requests/insert_instance_group.rb +2 -0
- data/lib/fog/compute/google/requests/insert_instance_group_manager.rb +2 -0
- data/lib/fog/compute/google/requests/insert_instance_template.rb +2 -0
- data/lib/fog/compute/google/requests/insert_network.rb +2 -0
- data/lib/fog/compute/google/requests/insert_route.rb +2 -0
- data/lib/fog/compute/google/requests/insert_server.rb +6 -0
- data/lib/fog/compute/google/requests/insert_ssl_certificate.rb +2 -0
- data/lib/fog/compute/google/requests/insert_subnetwork.rb +2 -0
- data/lib/fog/compute/google/requests/insert_target_http_proxy.rb +2 -0
- data/lib/fog/compute/google/requests/insert_target_https_proxy.rb +2 -0
- data/lib/fog/compute/google/requests/insert_target_instance.rb +2 -0
- data/lib/fog/compute/google/requests/insert_target_pool.rb +2 -0
- data/lib/fog/compute/google/requests/insert_url_map.rb +2 -0
- data/lib/fog/compute/google/requests/invalidate_url_map_cache.rb +2 -0
- data/lib/fog/compute/google/requests/list_addresses.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_addresses.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_disk_types.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_disks.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_forwarding_rules.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_instance_group_managers.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_instance_groups.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_machine_types.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_servers.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_subnetworks.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_target_instances.rb +2 -0
- data/lib/fog/compute/google/requests/list_aggregated_target_pools.rb +2 -0
- data/lib/fog/compute/google/requests/list_disk_types.rb +2 -0
- data/lib/fog/compute/google/requests/list_disks.rb +2 -0
- data/lib/fog/compute/google/requests/list_firewalls.rb +2 -0
- data/lib/fog/compute/google/requests/list_forwarding_rules.rb +2 -0
- data/lib/fog/compute/google/requests/list_global_addresses.rb +2 -0
- data/lib/fog/compute/google/requests/list_global_forwarding_rules.rb +2 -0
- data/lib/fog/compute/google/requests/list_global_operations.rb +2 -0
- data/lib/fog/compute/google/requests/list_http_health_checks.rb +2 -0
- data/lib/fog/compute/google/requests/list_images.rb +2 -0
- data/lib/fog/compute/google/requests/list_instance_group_instances.rb +2 -0
- data/lib/fog/compute/google/requests/list_instance_group_managers.rb +2 -0
- data/lib/fog/compute/google/requests/list_instance_groups.rb +2 -0
- data/lib/fog/compute/google/requests/list_instance_templates.rb +2 -0
- data/lib/fog/compute/google/requests/list_machine_types.rb +2 -0
- data/lib/fog/compute/google/requests/list_networks.rb +2 -0
- data/lib/fog/compute/google/requests/list_region_operations.rb +2 -0
- data/lib/fog/compute/google/requests/list_regions.rb +2 -0
- data/lib/fog/compute/google/requests/list_routes.rb +2 -0
- data/lib/fog/compute/google/requests/list_servers.rb +2 -0
- data/lib/fog/compute/google/requests/list_snapshots.rb +2 -0
- data/lib/fog/compute/google/requests/list_ssl_certificates.rb +2 -0
- data/lib/fog/compute/google/requests/list_subnetworks.rb +2 -0
- data/lib/fog/compute/google/requests/list_target_http_proxies.rb +2 -0
- data/lib/fog/compute/google/requests/list_target_https_proxies.rb +2 -0
- data/lib/fog/compute/google/requests/list_target_instances.rb +2 -0
- data/lib/fog/compute/google/requests/list_target_pools.rb +2 -0
- data/lib/fog/compute/google/requests/list_url_maps.rb +2 -0
- data/lib/fog/compute/google/requests/list_zone_operations.rb +2 -0
- data/lib/fog/compute/google/requests/list_zones.rb +2 -0
- data/lib/fog/compute/google/requests/patch_firewall.rb +2 -0
- data/lib/fog/compute/google/requests/patch_url_map.rb +2 -0
- data/lib/fog/compute/google/requests/recreate_instances.rb +2 -0
- data/lib/fog/compute/google/requests/remove_instance_group_instances.rb +2 -0
- data/lib/fog/compute/google/requests/remove_target_pool_health_checks.rb +2 -0
- data/lib/fog/compute/google/requests/remove_target_pool_instance.rb +2 -0
- data/lib/fog/compute/google/requests/remove_target_pool_instances.rb +2 -0
- data/lib/fog/compute/google/requests/reset_server.rb +2 -0
- data/lib/fog/compute/google/requests/reset_windows_password.rb +154 -0
- data/lib/fog/compute/google/requests/set_common_instance_metadata.rb +2 -0
- data/lib/fog/compute/google/requests/set_forwarding_rule_target.rb +2 -0
- data/lib/fog/compute/google/requests/set_global_forwarding_rule_target.rb +2 -0
- data/lib/fog/compute/google/requests/set_instance_template.rb +2 -0
- data/lib/fog/compute/google/requests/set_server_disk_auto_delete.rb +2 -0
- data/lib/fog/compute/google/requests/set_server_machine_type.rb +23 -0
- data/lib/fog/compute/google/requests/set_server_metadata.rb +3 -1
- data/lib/fog/compute/google/requests/set_server_scheduling.rb +2 -0
- data/lib/fog/compute/google/requests/set_server_tags.rb +2 -0
- data/lib/fog/compute/google/requests/set_snapshot_labels.rb +2 -0
- data/lib/fog/compute/google/requests/set_subnetwork_private_ip_google_access.rb +2 -0
- data/lib/fog/compute/google/requests/set_target_http_proxy_url_map.rb +2 -0
- data/lib/fog/compute/google/requests/set_target_https_proxy_ssl_certificates.rb +2 -0
- data/lib/fog/compute/google/requests/set_target_https_proxy_url_map.rb +2 -0
- data/lib/fog/compute/google/requests/set_target_pool_backup.rb +2 -0
- data/lib/fog/compute/google/requests/start_server.rb +2 -0
- data/lib/fog/compute/google/requests/stop_server.rb +2 -0
- data/lib/fog/compute/google/requests/update_firewall.rb +2 -0
- data/lib/fog/compute/google/requests/update_http_health_check.rb +2 -0
- data/lib/fog/compute/google/requests/update_url_map.rb +2 -0
- data/lib/fog/compute/google/requests/validate_url_map.rb +2 -0
- data/lib/fog/dns/google/requests/create_change.rb +2 -0
- data/lib/fog/dns/google/requests/create_managed_zone.rb +2 -0
- data/lib/fog/dns/google/requests/delete_managed_zone.rb +2 -0
- data/lib/fog/dns/google/requests/get_change.rb +2 -0
- data/lib/fog/dns/google/requests/get_managed_zone.rb +2 -0
- data/lib/fog/dns/google/requests/get_project.rb +2 -0
- data/lib/fog/dns/google/requests/list_changes.rb +2 -0
- data/lib/fog/dns/google/requests/list_managed_zones.rb +2 -0
- data/lib/fog/dns/google/requests/list_resource_record_sets.rb +2 -0
- data/lib/fog/google/models/sql/ssl_cert.rb +7 -1
- data/lib/fog/google/models/sql/user.rb +2 -0
- data/lib/fog/google/requests/monitoring/create_metric_descriptor.rb +2 -0
- data/lib/fog/google/requests/monitoring/create_timeseries.rb +3 -1
- data/lib/fog/google/requests/monitoring/delete_metric_descriptor.rb +2 -0
- data/lib/fog/google/requests/monitoring/get_metric_descriptor.rb +2 -0
- data/lib/fog/google/requests/monitoring/list_monitored_resource_descriptors.rb +2 -0
- data/lib/fog/google/requests/monitoring/list_timeseries.rb +2 -0
- data/lib/fog/google/requests/pubsub/pull_subscription.rb +5 -1
- data/lib/fog/google/requests/sql/clone_instance.rb +2 -0
- data/lib/fog/google/requests/sql/delete_backup_run.rb +2 -0
- data/lib/fog/google/requests/sql/delete_instance.rb +2 -0
- data/lib/fog/google/requests/sql/delete_ssl_cert.rb +2 -0
- data/lib/fog/google/requests/sql/delete_user.rb +3 -1
- data/lib/fog/google/requests/sql/export_instance.rb +2 -0
- data/lib/fog/google/requests/sql/get_backup_run.rb +2 -0
- data/lib/fog/google/requests/sql/get_instance.rb +2 -0
- data/lib/fog/google/requests/sql/get_operation.rb +2 -0
- data/lib/fog/google/requests/sql/get_ssl_cert.rb +2 -0
- data/lib/fog/google/requests/sql/import_instance.rb +2 -0
- data/lib/fog/google/requests/sql/insert_backup_run.rb +2 -0
- data/lib/fog/google/requests/sql/insert_instance.rb +2 -0
- data/lib/fog/google/requests/sql/insert_ssl_cert.rb +2 -0
- data/lib/fog/google/requests/sql/insert_user.rb +2 -0
- data/lib/fog/google/requests/sql/list_backup_runs.rb +2 -0
- data/lib/fog/google/requests/sql/list_flags.rb +2 -0
- data/lib/fog/google/requests/sql/list_instances.rb +2 -0
- data/lib/fog/google/requests/sql/list_operations.rb +2 -0
- data/lib/fog/google/requests/sql/list_ssl_certs.rb +2 -0
- data/lib/fog/google/requests/sql/list_tiers.rb +2 -0
- data/lib/fog/google/requests/sql/list_users.rb +2 -0
- data/lib/fog/google/requests/sql/reset_instance_ssl_config.rb +2 -0
- data/lib/fog/google/requests/sql/restart_instance.rb +2 -0
- data/lib/fog/google/requests/sql/restore_instance_backup.rb +2 -0
- data/lib/fog/google/requests/sql/update_instance.rb +2 -0
- data/lib/fog/google/requests/sql/update_user.rb +2 -0
- data/lib/fog/google/shared.rb +7 -2
- data/lib/fog/google/version.rb +1 -1
- data/lib/fog/storage/google_json.rb +4 -0
- data/lib/fog/storage/google_json/mock.rb +6 -0
- data/lib/fog/storage/google_json/real.rb +106 -3
- data/lib/fog/storage/google_json/requests/copy_object.rb +4 -1
- data/lib/fog/storage/google_json/requests/delete_bucket.rb +2 -0
- data/lib/fog/storage/google_json/requests/delete_object.rb +2 -0
- data/lib/fog/storage/google_json/requests/get_bucket.rb +2 -0
- data/lib/fog/storage/google_json/requests/get_bucket_acl.rb +2 -0
- data/lib/fog/storage/google_json/requests/get_object.rb +2 -0
- data/lib/fog/storage/google_json/requests/get_object_acl.rb +2 -0
- data/lib/fog/storage/google_json/requests/get_object_metadata.rb +2 -0
- data/lib/fog/storage/google_json/requests/list_bucket_acl.rb +2 -0
- data/lib/fog/storage/google_json/requests/list_buckets.rb +2 -0
- data/lib/fog/storage/google_json/requests/list_object_acl.rb +2 -0
- data/lib/fog/storage/google_json/requests/list_objects.rb +2 -0
- data/lib/fog/storage/google_json/requests/put_bucket.rb +2 -0
- data/lib/fog/storage/google_json/requests/put_bucket_acl.rb +2 -0
- data/lib/fog/storage/google_json/requests/put_object.rb +2 -0
- data/lib/fog/storage/google_json/requests/put_object_acl.rb +2 -0
- data/lib/fog/storage/google_json/utils.rb +1 -1
- data/lib/fog/storage/google_xml/models/file.rb +1 -1
- data/lib/fog/storage/google_xml/requests/get_bucket.rb +0 -1
- data/lib/fog/storage/google_xml/requests/head_object.rb +7 -6
- data/lib/fog/storage/google_xml/requests/put_bucket_acl.rb +2 -0
- data/tasks/changelog.rake +39 -0
- data/tasks/test.rake +6 -2
- data/test/helpers/integration_test_helper.rb +17 -6
- data/test/helpers/test_helper.rb +1 -0
- data/test/integration/compute/core_compute/test_servers.rb +40 -0
- data/test/integration/compute/core_compute/test_zones.rb +1 -1
- data/test/integration/compute/core_networking/test_addresses.rb +23 -0
- data/test/integration/factories/{sql_v1_certs_factory.rb → sql_certs_factory.rb} +3 -3
- data/test/integration/factories/{sql_v1_instances_factory.rb → sql_instances_factory.rb} +3 -3
- data/test/integration/factories/{sql_v1_users_factory.rb → sql_users_factory.rb} +6 -3
- data/test/integration/monitoring/test_metric_descriptors.rb +2 -0
- data/test/integration/monitoring/test_timeseries.rb +14 -26
- data/test/integration/pubsub/test_pubsub_models.rb +3 -3
- data/test/integration/pubsub/test_pubsub_requests.rb +2 -2
- data/test/integration/sql/{sqlv1/test_v1_certs.rb → test_certs.rb} +3 -3
- data/test/integration/sql/{sqlv1/test_common_flags.rb → test_common_flags.rb} +0 -0
- data/test/integration/sql/{sqlv1/test_common_tiers.rb → test_common_tiers.rb} +0 -0
- data/test/integration/sql/{sqlv1/test_coverage.rb → test_coverage.rb} +1 -1
- data/test/integration/sql/{sqlv2/test_v2_instances.rb → test_instances.rb} +22 -2
- data/test/integration/sql/{sqlv1/test_v1_users.rb → test_users.rb} +4 -4
- data/test/integration/storage/test_objects.rb +16 -0
- data/test/unit/storage/test_common_xml_collections.rb +11 -0
- metadata +50 -31
- data/test/integration/factories/sql_v2_instances_factory.rb +0 -19
- data/test/integration/sql/sqlv1/test_v1_instances.rb +0 -31
- data/test/integration/sql/sqlv2/test_coverage.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9cc4ba9bf8fde22a71d31839ce62dd6240461eef907a35a391aa09533526255d
|
4
|
+
data.tar.gz: 0b169c4358550f92aaba6069d5c152f4b56f0548e5b9fbd62fc9c0f695d312cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd4332084eb98372966c1be4d7ec259e1d89f2cc0d15022610519865126bbd2d821997a1183e083e87e0be18615d354430d0a2539c62b1473cceb28a1aabfdc9
|
7
|
+
data.tar.gz: 97b0ba463466505603f3903d3c21e8fd7cf43807488e4c0a0f5de55a6fc01850a165113dbf6714057f52e82bbf71cd9e2838d356fed36e73fac0dba53a6536fc
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Fog custom enforced styles
|
2
|
-
|
2
|
+
Layout/LineLength:
|
3
3
|
Enabled: false
|
4
4
|
|
5
5
|
Style/ConditionalAssignment:
|
@@ -94,7 +94,7 @@ Naming/PredicateName:
|
|
94
94
|
- is_
|
95
95
|
- has_
|
96
96
|
- have_
|
97
|
-
|
97
|
+
ForbiddenPrefixes:
|
98
98
|
- is_
|
99
99
|
Exclude:
|
100
100
|
- spec/**/*
|
@@ -246,7 +246,7 @@ Style/WhenThen:
|
|
246
246
|
Lint/EachWithObjectArgument:
|
247
247
|
Description: Check for immutable argument given to each_with_object.
|
248
248
|
Enabled: true
|
249
|
-
Lint/
|
249
|
+
Lint/SuppressedException:
|
250
250
|
Description: Don't suppress exception.
|
251
251
|
StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
|
252
252
|
Enabled: false
|
data/.travis.yml
CHANGED
@@ -1,16 +1,33 @@
|
|
1
1
|
language: ruby
|
2
2
|
cache: bundler
|
3
3
|
sudo: false
|
4
|
-
dist: trusty
|
5
4
|
matrix:
|
6
5
|
fast_finish: true
|
7
6
|
include:
|
8
|
-
- rvm: 2.3
|
9
7
|
- rvm: 2.4
|
10
8
|
- rvm: 2.5
|
11
|
-
- rvm:
|
9
|
+
- rvm: 2.6
|
10
|
+
- rvm: 2.7
|
11
|
+
- rvm: jruby-9.2
|
12
12
|
- rvm: jruby-head
|
13
|
+
- rvm: truffleruby-head
|
14
|
+
# ppc64le support code
|
15
|
+
- rvm: 2.4
|
16
|
+
arch: ppc64le
|
17
|
+
- rvm: 2.5
|
18
|
+
arch: ppc64le
|
19
|
+
- rvm: 2.6
|
20
|
+
arch: ppc64le
|
21
|
+
- rvm: 2.7
|
22
|
+
arch: ppc64le
|
23
|
+
- rvm: jruby-9.2
|
24
|
+
arch: ppc64le
|
25
|
+
- rvm: jruby-head
|
26
|
+
arch: ppc64le
|
13
27
|
allow_failures:
|
14
28
|
- rvm: jruby-head
|
29
|
+
- rvm: truffleruby-head
|
30
|
+
- rvm: jruby-head
|
31
|
+
arch: ppc64le
|
15
32
|
notifications:
|
16
33
|
email: false
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,118 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
|
|
6
6
|
|
7
7
|
## Next
|
8
8
|
|
9
|
+
|
10
|
+
## 1.12.1
|
11
|
+
|
12
|
+
### User-facing
|
13
|
+
|
14
|
+
#### Fixed
|
15
|
+
|
16
|
+
\#513 - support passing other request options `StorageJSON#copy_object` [yosiat]
|
17
|
+
|
18
|
+
### Development changes
|
19
|
+
|
20
|
+
#### Added
|
21
|
+
|
22
|
+
\#514 - Update .travis.yml to support PPC architecture testing [nageshlop]
|
23
|
+
|
24
|
+
|
25
|
+
## 1.12.0
|
26
|
+
|
27
|
+
### User-facing
|
28
|
+
|
29
|
+
#### Added
|
30
|
+
|
31
|
+
- \#509 Add ShieldedInstanceConfig support to `Server#insert` [lcy0321]
|
32
|
+
|
33
|
+
#### Fixed
|
34
|
+
|
35
|
+
- \#508 Fix GoogleXML::File#save incorrectly passing body to headers [stanhu]
|
36
|
+
|
37
|
+
- \#506 Add Trufferuby head to CI [gogainda]
|
38
|
+
|
39
|
+
### Development changes
|
40
|
+
|
41
|
+
#### Fixed
|
42
|
+
|
43
|
+
- \#510 Upgrade CI docker image to Ubuntu 18.04 [temikus]
|
44
|
+
|
45
|
+
|
46
|
+
## 1.11.0
|
47
|
+
|
48
|
+
### User-facing
|
49
|
+
|
50
|
+
#### Added
|
51
|
+
|
52
|
+
- \#503 - Add fallback URL signing mechanism via IAM SignBlob API [temikus]
|
53
|
+
|
54
|
+
#### Fixed
|
55
|
+
|
56
|
+
- \#498 Add `:idempotent` flag to Fog::Storage::GoogleXML::Real#head_object, fixing
|
57
|
+
`Excon::Error::Socket: end of file reached (EOFError)` in certain scenarios, see \#416 [temikus]
|
58
|
+
- \#500 Set default options automatically if missing in `Pubsub#pull_subscription`
|
59
|
+
|
60
|
+
### Development changes
|
61
|
+
|
62
|
+
#### Fixed
|
63
|
+
|
64
|
+
- \#501 DRY'ed up the retry methods in monitoring tests [temikus]
|
65
|
+
- \#500 Cleanup unneeded constants in Server model, fix flaky PubSub tests [temikus]
|
66
|
+
|
67
|
+
## 1.10.0
|
68
|
+
|
69
|
+
### User-facing
|
70
|
+
|
71
|
+
#### Added
|
72
|
+
|
73
|
+
- \#480 Add label support to `Disk` model [militarpancho]
|
74
|
+
- \#485 Add a `Server#set_server_machine_type` request [gscho]
|
75
|
+
- \#490 Add RHEL SAP cloud image project [kgaikwad]
|
76
|
+
- \#491 Add `exclude_projects` option to exclude any global project [kgaikwad]
|
77
|
+
- \#495 Add support to perform Windows passwords reset procedure through Fog [dvanbrug]
|
78
|
+
|
79
|
+
#### Fixed
|
80
|
+
- \#455 Fix metadata format for `Server#add_ssh_key()` [kgaikwad]
|
81
|
+
- \#452 Fix `Address.{associate,disassociate}` methods [temikus]
|
82
|
+
- \#486 Fix `Monitoring#create_time_series` method [temikus]
|
83
|
+
- \#493 Add sync/async support to `Google::SQL::SslCert` model init [temikus]
|
84
|
+
|
85
|
+
### Development changes
|
86
|
+
|
87
|
+
#### Added
|
88
|
+
|
89
|
+
- \#474 Added a manually-triggered pipeline to build from HEAD [temikus]
|
90
|
+
- \#470 Added tests for `Server#add_ssh_key()` [kgaikwad]
|
91
|
+
- \#461 Added dependabot integration [temikus]
|
92
|
+
- \#458 Add SECURITY.md, outlining the lib security policy [icco]
|
93
|
+
- \#457 Added Ruby 2.6 to travis, switch to default distro [icco]
|
94
|
+
- \#453 Implemented worker-side caching of dependencies between jobs [temikus]
|
95
|
+
- \#452 Increase `Address` model test coverage [temikus]
|
96
|
+
|
97
|
+
#### Fixed
|
98
|
+
|
99
|
+
- \#469 Zone/Monitoring test logging/style improvements [icco]
|
100
|
+
- \#465 Stopped counting non-implemented mocks in code coverage [temikus]
|
101
|
+
- \#463 Fixed SQL tests broken by the API change [temikus]
|
102
|
+
- \#476 Re-enabled Stackdriver pagination tests [temikus]
|
103
|
+
- \#488 Tiny fix to ssh key tests to remove a race condition [temikus]
|
104
|
+
- \#493 Removing SQLv1 API support from tests [temikus]
|
105
|
+
|
106
|
+
## 1.9.1
|
107
|
+
|
108
|
+
### User-facing
|
109
|
+
|
110
|
+
#### Fixed
|
111
|
+
|
112
|
+
- \#448 Add `:google_application_default` as recognized argument in
|
113
|
+
Fog::Compute::Google client [mavin]
|
114
|
+
|
115
|
+
### Development changes
|
116
|
+
|
117
|
+
#### Added
|
118
|
+
|
119
|
+
- \#449 Add a helper rake task to populate changelog [temikus]
|
120
|
+
|
9
121
|
## 1.9.0
|
10
122
|
|
11
123
|
### User-facing
|
@@ -323,8 +435,6 @@ We encourage people using 0.5.1 to upgrade.
|
|
323
435
|
|
324
436
|
## Template to use
|
325
437
|
|
326
|
-
## Next release
|
327
|
-
|
328
438
|
### User-facing
|
329
439
|
|
330
440
|
#### Changed
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Fog::Google
|
2
2
|
|
3
|
-
[![Gem Version](https://badge.fury.io/rb/fog-google.svg)](http://badge.fury.io/rb/fog-google) [![Build Status](https://travis-ci.org/fog/fog-google.svg?branch=master)](https://travis-ci.org/fog/fog-google) [![codecov](https://codecov.io/gh/fog/fog-google/branch/master/graph/badge.svg)](https://codecov.io/gh/fog/fog-google) [![Doc coverage](https://inch-ci.org/github/fog/fog-google.svg?branch=master)](https://inch-ci.org/github/fog/fog-google)
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/fog-google.svg)](http://badge.fury.io/rb/fog-google) [![Build Status](https://travis-ci.org/fog/fog-google.svg?branch=master)](https://travis-ci.org/fog/fog-google) [![codecov](https://codecov.io/gh/fog/fog-google/branch/master/graph/badge.svg)](https://codecov.io/gh/fog/fog-google) [![Dependabot Status](https://api.dependabot.com/badges/status?host=github&repo=fog/fog-google)](https://dependabot.com) [![Doc coverage](https://inch-ci.org/github/fog/fog-google.svg?branch=master)](https://inch-ci.org/github/fog/fog-google)
|
4
4
|
|
5
5
|
The main maintainers for the Google sections are @icco, @Temikus and @plribeiro3000. Please send pull requests to them.
|
6
6
|
|
@@ -8,7 +8,7 @@ The main maintainers for the Google sections are @icco, @Temikus and @plribeiro3
|
|
8
8
|
|
9
9
|
- As of **v1.0.0**, fog-google includes google-api-client as a dependency, there is no need to include it separately anymore.
|
10
10
|
|
11
|
-
- Fog-google is currently supported on Ruby 2.
|
11
|
+
- Fog-google is currently supported on Ruby 2.4+ See [supported ruby versions](#supported-ruby-versions) for more info.
|
12
12
|
|
13
13
|
See **[MIGRATING.md](MIGRATING.md)** for migration between major versions.
|
14
14
|
|
@@ -27,8 +27,8 @@ As of 2017-12-15, we are still working on making Fog for Google Compute engine (
|
|
27
27
|
|
28
28
|
## SQL
|
29
29
|
|
30
|
-
Fog implements [v1beta4](https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/) of the Google Cloud SQL Admin API. As of 2017-11-06, Cloud SQL is mostly feature-complete. Please [file issues](https://github.com/fog/fog-google/issues) for any anomalies you see or features you would like as we finish
|
31
|
-
adding remaining features.
|
30
|
+
Fog implements [v1beta4](https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/) of the Google Cloud SQL Admin API. As of 2017-11-06, Cloud SQL is mostly feature-complete. Please [file issues](https://github.com/fog/fog-google/issues) for any anomalies you see or features you would like as we finish
|
31
|
+
adding remaining features.
|
32
32
|
|
33
33
|
## DNS
|
34
34
|
|
@@ -36,8 +36,8 @@ Fog implements [v1](https://cloud.google.com/dns/api/v1/) of the Google Cloud DN
|
|
36
36
|
|
37
37
|
## Monitoring
|
38
38
|
|
39
|
-
Fog implements [v3](https://cloud.google.com/monitoring/api/v3/) of the Google Cloud Monitoring API. As of 2017-10-05, we believe Fog for Google Cloud Monitoring is feature complete for metric-related resources and are working on supporting groups.
|
40
|
-
|
39
|
+
Fog implements [v3](https://cloud.google.com/monitoring/api/v3/) of the Google Cloud Monitoring API. As of 2017-10-05, we believe Fog for Google Cloud Monitoring is feature complete for metric-related resources and are working on supporting groups.
|
40
|
+
|
41
41
|
We are always looking for people to improve our code and test coverage, so please [file issues](https://github.com/fog/fog-google/issues) for any anomalies you see or features you would like.
|
42
42
|
|
43
43
|
## Pubsub
|
@@ -94,12 +94,12 @@ cat .fog.example >> ~/.fog # appends the sample configuration
|
|
94
94
|
vim ~/.fog # edit file with yout config
|
95
95
|
```
|
96
96
|
|
97
|
-
As of `1.9.0` fog-google supports Google [application default credentials (ADC)](https://cloud.google.com/docs/authentication/production)
|
97
|
+
As of `1.9.0` fog-google supports Google [application default credentials (ADC)](https://cloud.google.com/docs/authentication/production)
|
98
98
|
The auth method uses [Google::Auth.get_application_default](https://www.rubydoc.info/gems/googleauth/0.6.7/Google%2FAuth.get_application_default)
|
99
99
|
under the hood.
|
100
100
|
|
101
101
|
Example workflow for a GCE instance with [service account scopes](https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances)
|
102
|
-
defined:
|
102
|
+
defined:
|
103
103
|
|
104
104
|
```
|
105
105
|
> connection = Fog::Compute::Google.new(:google_project => "my-project", :google_application_default => true)
|
@@ -108,6 +108,43 @@ defined:
|
|
108
108
|
=> [ <Fog::Compute::Google::Server ... ]
|
109
109
|
```
|
110
110
|
|
111
|
+
#### CarrierWave integration
|
112
|
+
|
113
|
+
It is common to integrate Fog with Carrierwave. Here's a minimal config that's commonly put in `config/initializers/carrierwave.rb`:
|
114
|
+
|
115
|
+
```
|
116
|
+
CarrierWave.configure do |config|
|
117
|
+
config.fog_provider = 'fog/google'
|
118
|
+
config.fog_credentials = {
|
119
|
+
provider: 'Google',
|
120
|
+
google_project: Rails.application.secrets.google_cloud_storage_project_name,
|
121
|
+
google_json_key_string: Rails.application.secrets.google_cloud_storage_credential_content
|
122
|
+
# can optionally use google_json_key_location if using an actual file;
|
123
|
+
}
|
124
|
+
config.fog_directory = Rails.application.secrets.google_cloud_storage_bucket_name
|
125
|
+
end
|
126
|
+
```
|
127
|
+
|
128
|
+
This needs a corresponding secret in `config/secrets.yml`, e.g.:
|
129
|
+
|
130
|
+
```
|
131
|
+
development:
|
132
|
+
google_cloud_storage_project_name: your-project-name
|
133
|
+
google_cloud_storage_credential_content: '{
|
134
|
+
"type": "service_account",
|
135
|
+
"project_id": "your-project-name",
|
136
|
+
"private_key_id": "REDACTED",
|
137
|
+
"private_key": "-----BEGIN PRIVATE KEY-----REDACTED-----END PRIVATE KEY-----\n",
|
138
|
+
"client_email": "REDACTED@your-project-name.iam.gserviceaccount.com",
|
139
|
+
"client_id": "REDACTED",
|
140
|
+
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
141
|
+
"token_uri": "https://accounts.google.com/o/oauth2/token",
|
142
|
+
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
143
|
+
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/REDACTED%40your-project-name.iam.gserviceaccount.com"
|
144
|
+
}'
|
145
|
+
google_cloud_storage_bucket_name: your-bucket-name
|
146
|
+
```
|
147
|
+
|
111
148
|
#### SSH-ing into instances
|
112
149
|
|
113
150
|
If you want to be able to bootstrap SSH-able instances, (using `servers.bootstrap`,) be sure you have a key in `~/.ssh/id_rsa` and `~/.ssh/id_rsa.pub`
|
@@ -128,10 +165,10 @@ $ bundle exec pry
|
|
128
165
|
|
129
166
|
## Supported Ruby Versions
|
130
167
|
|
131
|
-
Fog-google is currently supported on Ruby 2.
|
168
|
+
Fog-google is currently supported on Ruby 2.4+.
|
132
169
|
|
133
170
|
In general we support (and run our CI) for Ruby versions that are actively supported
|
134
|
-
by Ruby Core - that is, Ruby versions that are not end of life. Older versions of
|
171
|
+
by Ruby Core - that is, Ruby versions that are not end of life. Older versions of
|
135
172
|
Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/
|
136
173
|
for details about the Ruby support schedule.
|
137
174
|
|
data/SECURITY.md
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
# Security Policy
|
2
|
+
|
3
|
+
Our README.md is the end all be all for authoritative information, but the following is our security policy.
|
4
|
+
|
5
|
+
## Supported Versions
|
6
|
+
|
7
|
+
Versions with :white_check_mark: are supported. All other versions need to be upgraded.
|
8
|
+
|
9
|
+
| Version | Supported |
|
10
|
+
| ------- | ------------------ |
|
11
|
+
| 1.9.x | :white_check_mark: |
|
12
|
+
| 0.1.x | :white_check_mark: until July 1st, 2019 |
|
13
|
+
|
14
|
+
## Reporting a Vulnerability
|
15
|
+
|
16
|
+
Please file an issue here to report a vulnerability. For immediate escalations, please email nat@natwelch.com and temikus@google.com with the subject `[Fog-Google Security Issue] Description`.
|
data/ci/README.md
CHANGED
@@ -23,10 +23,11 @@ fly -t fog-ci login -c <YOUR CONCOURSE URL>
|
|
23
23
|
* Update the [credentials.yml](https://github.com/fog/fog-google/blob/master/ci/credentials.yml.tpl)
|
24
24
|
file. See [Credentials Requirements](#credentials-requirements) for specific instructions.
|
25
25
|
|
26
|
-
* Set the fog-google
|
26
|
+
* Set the fog-google pipelines:
|
27
27
|
|
28
28
|
```
|
29
|
-
fly -t fog
|
29
|
+
fly -t fog set-pipeline -p build-head -c build-head-pipeline.yml -l credentials.yml
|
30
|
+
fly -t fog-ci set-pipeline -p pr-integration -c integration-pipeline.yml -l credentials.yml
|
30
31
|
```
|
31
32
|
|
32
33
|
* Unpause the fog-google pipeline:
|
@@ -0,0 +1,173 @@
|
|
1
|
+
jobs:
|
2
|
+
- name: manual-trigger
|
3
|
+
plan:
|
4
|
+
- get: master
|
5
|
+
trigger: false
|
6
|
+
|
7
|
+
- name: integration-compute-core_compute
|
8
|
+
serial: true
|
9
|
+
plan:
|
10
|
+
- get: fog-google-src
|
11
|
+
resource: master
|
12
|
+
version: every
|
13
|
+
trigger: true
|
14
|
+
passed:
|
15
|
+
- manual-trigger
|
16
|
+
|
17
|
+
- task: run-integration-tests
|
18
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
19
|
+
params:
|
20
|
+
rake_task: test:compute-core_compute
|
21
|
+
codecov_token: {{codecov_token}}
|
22
|
+
google_project: {{google_project}}
|
23
|
+
google_json_key_data: {{google_json_key_data}}
|
24
|
+
|
25
|
+
- name: integration-compute-core_networking
|
26
|
+
serial: true
|
27
|
+
plan:
|
28
|
+
- get: fog-google-src
|
29
|
+
resource: master
|
30
|
+
version: every
|
31
|
+
trigger: true
|
32
|
+
passed:
|
33
|
+
- manual-trigger
|
34
|
+
|
35
|
+
- task: run-integration-tests
|
36
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
37
|
+
params:
|
38
|
+
rake_task: test:compute-core_networking
|
39
|
+
codecov_token: {{codecov_token}}
|
40
|
+
google_project: {{google_project}}
|
41
|
+
google_json_key_data: {{google_json_key_data}}
|
42
|
+
|
43
|
+
- name: integration-compute-instance_groups
|
44
|
+
serial: true
|
45
|
+
plan:
|
46
|
+
- get: fog-google-src
|
47
|
+
resource: master
|
48
|
+
version: every
|
49
|
+
trigger: true
|
50
|
+
passed:
|
51
|
+
- manual-trigger
|
52
|
+
|
53
|
+
- task: run-integration-tests
|
54
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
55
|
+
params:
|
56
|
+
rake_task: test:compute-instance_groups
|
57
|
+
codecov_token: {{codecov_token}}
|
58
|
+
google_project: {{google_project}}
|
59
|
+
google_json_key_data: {{google_json_key_data}}
|
60
|
+
|
61
|
+
- name: integration-compute-loadbalancing
|
62
|
+
serial: true
|
63
|
+
plan:
|
64
|
+
- get: fog-google-src
|
65
|
+
resource: master
|
66
|
+
version: every
|
67
|
+
trigger: true
|
68
|
+
passed:
|
69
|
+
- manual-trigger
|
70
|
+
|
71
|
+
- task: run-integration-tests
|
72
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
73
|
+
params:
|
74
|
+
rake_task: test:compute-loadbalancing
|
75
|
+
codecov_token: {{codecov_token}}
|
76
|
+
google_project: {{google_project}}
|
77
|
+
google_json_key_data: {{google_json_key_data}}
|
78
|
+
|
79
|
+
- name: integration-tests-monitoring
|
80
|
+
serial: true
|
81
|
+
plan:
|
82
|
+
- get: fog-google-src
|
83
|
+
resource: master
|
84
|
+
version: every
|
85
|
+
trigger: true
|
86
|
+
passed:
|
87
|
+
- manual-trigger
|
88
|
+
|
89
|
+
- task: run-integration-tests
|
90
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
91
|
+
params:
|
92
|
+
rake_task: test:monitoring
|
93
|
+
codecov_token: {{codecov_token}}
|
94
|
+
google_project: {{google_project}}
|
95
|
+
google_json_key_data: {{google_json_key_data}}
|
96
|
+
|
97
|
+
- name: integration-tests-pubsub
|
98
|
+
serial: true
|
99
|
+
plan:
|
100
|
+
- get: fog-google-src
|
101
|
+
resource: master
|
102
|
+
version: every
|
103
|
+
trigger: true
|
104
|
+
passed:
|
105
|
+
- manual-trigger
|
106
|
+
|
107
|
+
- task: run-integration-tests
|
108
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
109
|
+
params:
|
110
|
+
rake_task: test:pubsub
|
111
|
+
codecov_token: {{codecov_token}}
|
112
|
+
google_project: {{google_project}}
|
113
|
+
google_json_key_data: {{google_json_key_data}}
|
114
|
+
|
115
|
+
- name: integration-sqlv1
|
116
|
+
serial: true
|
117
|
+
plan:
|
118
|
+
- get: fog-google-src
|
119
|
+
resource: master
|
120
|
+
version: every
|
121
|
+
trigger: true
|
122
|
+
passed:
|
123
|
+
- manual-trigger
|
124
|
+
|
125
|
+
- task: run-integration-tests
|
126
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
127
|
+
params:
|
128
|
+
rake_task: test:sql-sqlv1
|
129
|
+
codecov_token: {{codecov_token}}
|
130
|
+
google_project: {{google_project}}
|
131
|
+
google_json_key_data: {{google_json_key_data}}
|
132
|
+
|
133
|
+
- name: integration-sqlv2
|
134
|
+
serial: true
|
135
|
+
plan:
|
136
|
+
- get: fog-google-src
|
137
|
+
resource: master
|
138
|
+
version: every
|
139
|
+
trigger: true
|
140
|
+
passed:
|
141
|
+
- manual-trigger
|
142
|
+
|
143
|
+
- task: run-integration-tests
|
144
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
145
|
+
params:
|
146
|
+
rake_task: test:sql-sqlv2
|
147
|
+
codecov_token: {{codecov_token}}
|
148
|
+
google_project: {{google_project}}
|
149
|
+
google_json_key_data: {{google_json_key_data}}
|
150
|
+
|
151
|
+
- name: integration-tests-storage
|
152
|
+
serial: true
|
153
|
+
plan:
|
154
|
+
- get: fog-google-src
|
155
|
+
resource: master
|
156
|
+
version: every
|
157
|
+
trigger: true
|
158
|
+
passed:
|
159
|
+
- manual-trigger
|
160
|
+
- task: run-integration-tests
|
161
|
+
file: fog-google-src/ci/tasks/run-int.yml
|
162
|
+
params:
|
163
|
+
rake_task: test:storage
|
164
|
+
codecov_token: {{codecov_token}}
|
165
|
+
google_project: {{google_project}}
|
166
|
+
google_json_key_data: {{google_json_key_data}}
|
167
|
+
|
168
|
+
resources:
|
169
|
+
- name: master
|
170
|
+
type: git
|
171
|
+
source:
|
172
|
+
uri: https://github.com/fog/fog-google.git
|
173
|
+
branch: master
|