brightbox-cli 0.16.0 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +13 -17
- data/README.rdoc +13 -17
- data/brightbox-cli.gemspec +1 -1
- data/lib/brightbox-cli/accounts.rb +7 -0
- data/lib/brightbox-cli/api.rb +3 -0
- data/lib/brightbox-cli/commands/config-client-list.rb +1 -1
- data/lib/brightbox-cli/commands/firewall-rules-create.rb +4 -0
- data/lib/brightbox-cli/commands/firewall-rules-update.rb +49 -0
- data/lib/brightbox-cli/commands/groups-show.rb +1 -1
- data/lib/brightbox-cli/commands/groups-update.rb +3 -1
- data/lib/brightbox-cli/commands/images-destroy.rb +1 -1
- data/lib/brightbox-cli/commands/images-list.rb +9 -3
- data/lib/brightbox-cli/commands/images-register.rb +1 -1
- data/lib/brightbox-cli/commands/images-update.rb +3 -1
- data/lib/brightbox-cli/commands/lbs-update.rb +4 -2
- data/lib/brightbox-cli/commands/{servers-activate-cloud.rb → servers-activate-console.rb} +2 -1
- data/lib/brightbox-cli/commands/servers-update.rb +2 -1
- data/lib/brightbox-cli/config.rb +17 -2
- data/lib/brightbox-cli/detailed_server.rb +1 -1
- data/lib/brightbox-cli/firewall_rule.rb +6 -0
- data/lib/brightbox-cli/gli_global_hooks.rb +8 -1
- data/lib/brightbox-cli/images.rb +22 -1
- data/lib/brightbox-cli/nilable_hash.rb +7 -0
- data/lib/brightbox-cli/server_groups.rb +0 -6
- data/lib/brightbox-cli/servers.rb +6 -2
- data/lib/brightbox-cli/tables.rb +13 -0
- data/lib/brightbox-cli/vendor/fog/README.rdoc +2 -9
- data/lib/brightbox-cli/vendor/fog/Rakefile +3 -2
- data/lib/brightbox-cli/vendor/fog/changelog.txt +213 -0
- data/lib/brightbox-cli/vendor/fog/docs/_layouts/default.html +1 -1
- data/lib/brightbox-cli/vendor/fog/docs/about/contributing.markdown +1 -1
- data/lib/brightbox-cli/vendor/fog/docs/about/getting_started.markdown +28 -3
- data/lib/brightbox-cli/vendor/fog/docs/dns/index.markdown +1 -1
- data/lib/brightbox-cli/vendor/fog/docs/index.markdown +2 -10
- data/lib/brightbox-cli/vendor/fog/docs/storage/index.markdown +2 -2
- data/lib/brightbox-cli/vendor/fog/fog.gemspec +6 -5
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/auto_scaling.rb +3 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/cloud_formation.rb +3 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/cloud_watch.rb +3 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/compute.rb +5 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/elb.rb +4 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/emr.rb +133 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/addresses.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/key_pairs.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/security_groups.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/server.rb +4 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/servers.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/snapshots.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/spot_request.rb +21 -4
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/spot_requests.rb +45 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/compute/volumes.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/elb/load_balancer.rb +2 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/models/storage/file.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cdn/get_invalidation_list.rb +0 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_formation/update_stack.rb +19 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/emr/add_instance_groups.rb +28 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/emr/add_job_flow_steps.rb +17 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/emr/describe_job_flows.rb +140 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/emr/modify_instance_groups.rb +17 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/emr/run_job_flow.rb +19 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/emr/set_termination_protection.rb +17 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/emr/terminate_job_flows.rb +17 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/rds.rb +3 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_formation/create_stack.rb +6 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/cloud_formation/update_stack.rb +62 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +141 -36
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/delete_security_group.rb +25 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/delete_tags.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_addresses.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_availability_zones.rb +5 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_images.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_instances.rb +15 -6
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_key_pairs.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_regions.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_reserved_instances.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_security_groups.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_snapshots.rb +4 -4
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_volumes.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/modify_instance_attribute.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +41 -29
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/describe_load_balancers.rb +3 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/emr/add_instance_groups.rb +46 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/emr/add_job_flow_steps.rb +49 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/emr/describe_job_flows.rb +108 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/emr/modify_instance_groups.rb +40 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/emr/run_job_flow.rb +106 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/emr/set_termination_protection.rb +39 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/emr/terminate_job_flows.rb +37 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/simpledb/get_attributes.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/simpledb/select.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/acl_utils.rb +62 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_bucket_acl.rb +7 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_object_acl.rb +7 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/get_object_url.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/put_bucket_acl.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/put_object_acl.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/ses.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/simpledb.rb +2 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/sns.rb +3 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/sqs.rb +4 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/storage.rb +10 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws.rb +26 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/aws.rb +8 -4
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/bluebox.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/brightbox.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/dnsimple.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/dnsmadeeasy.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/ecloud.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/glesys.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/go_grid.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/google.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/libvirt.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/linode.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/local.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/new_servers.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/ninefold.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/openstack.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/rackspace.rb +3 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/slicehost.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/stormondemand.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/virtual_box.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/vmfusion.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/voxel.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin/zerigo.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/bin.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/compute.rb +2 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/cloud_ip.rb +10 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/server.rb +11 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/models/compute/server_group.rb +9 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +13 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/connection.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/credentials.rb +3 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/deprecation.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/logger.rb +8 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/mock.rb +4 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/provider.rb +7 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/core/service.rb +8 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/dnsmadeeasy/models/dns/record.rb +3 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/dynect/dns.rb +25 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/ecloud/compute.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/go_grid/requests/compute/grid_server_power.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/google/models/storage/file.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/google/requests/storage/get_object_url.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/google/storage.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold/models/storage/file.rb +8 -6
- data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold/models/storage/files.rb +3 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold/requests/storage/head_namespace.rb +20 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/ninefold/storage.rb +4 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/models/compute/server.rb +7 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/openstack/requests/compute/create_server.rb +6 -11
- data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/load_balancers.rb +1 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/dns/callback.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/dns/record.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/rackspace/models/dns/zone.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/dns.rb +1 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/models/dns/record.rb +7 -3
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/models/dns/zone.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/parsers/dns/create_record.rb +8 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/parsers/dns/get_record.rb +17 -5
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/parsers/dns/get_records.rb +10 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/requests/dns/get_record.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/requests/dns/get_records.rb +7 -8
- data/lib/brightbox-cli/vendor/fog/lib/fog/slicehost/requests/dns/update_record.rb +43 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/storm_on_demand/models/compute/balancers.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/storm_on_demand/models/compute/configs.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/storm_on_demand/models/compute/images.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/storm_on_demand/models/compute/servers.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/storm_on_demand/models/compute/templates.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/terremark/vcloud.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/compute.rb +41 -23
- data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/models/compute/server.rb +19 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/models/compute/servers.rb +8 -2
- data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/datacenters.rb +34 -0
- data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +83 -10
- data/lib/brightbox-cli/vendor/fog/lib/fog/vsphere/requests/compute/vm_clone.rb +76 -37
- data/lib/brightbox-cli/vendor/fog/lib/fog.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/cloud_watch/alarm_data_tests.rb +8 -6
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/cloud_watch/alarm_history_tests.rb +3 -1
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/compute/security_group_tests.rb +15 -10
- data/lib/brightbox-cli/vendor/fog/tests/aws/models/elb/model_tests.rb +4 -4
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/cloud_formation/stack_tests.rb +14 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/instance_tests.rb +16 -1
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/security_group_tests.rb +251 -32
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/compute/tag_tests.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/emr/helper.rb +172 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/emr/instance_group_tests.rb +106 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/emr/job_flow_tests.rb +88 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/storage/acl_utils_tests.rb +209 -0
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/storage/bucket_tests.rb +80 -55
- data/lib/brightbox-cli/vendor/fog/tests/aws/requests/storage/object_tests.rb +42 -24
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/account_tests.rb +11 -6
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/api_client_tests.rb +23 -12
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/cloud_ip_tests.rb +29 -20
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/helper.rb +70 -14
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/image_tests.rb +17 -14
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/interface_tests.rb +3 -2
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/load_balancer_tests.rb +57 -11
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/server_group_tests.rb +29 -22
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/server_tests.rb +38 -21
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/server_type_tests.rb +7 -6
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/user_tests.rb +11 -16
- data/lib/brightbox-cli/vendor/fog/tests/brightbox/requests/compute/zone_tests.rb +7 -6
- data/lib/brightbox-cli/vendor/fog/tests/compute/helper.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/tests/core/credential_tests.rb +2 -2
- data/lib/brightbox-cli/vendor/fog/tests/core/mocking_tests.rb +60 -0
- data/lib/brightbox-cli/vendor/fog/tests/dns/models/record_tests.rb +4 -2
- data/lib/brightbox-cli/vendor/fog/tests/dns/models/records_tests.rb +4 -2
- data/lib/brightbox-cli/vendor/fog/tests/dns/models/zone_tests.rb +3 -1
- data/lib/brightbox-cli/vendor/fog/tests/dns/models/zones_tests.rb +4 -2
- data/lib/brightbox-cli/vendor/fog/tests/glesys/requests/compute/helper.rb +4 -2
- data/lib/brightbox-cli/vendor/fog/tests/glesys/requests/compute/server_tests.rb +1 -1
- data/lib/brightbox-cli/vendor/fog/tests/helper.rb +4 -0
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/dns_tests.rb +16 -12
- data/lib/brightbox-cli/vendor/fog/tests/rackspace/requests/dns/records_tests.rb +13 -11
- data/lib/brightbox-cli/vendor/fog/tests/slicehost/requests/dns/dns_tests.rb +58 -11
- data/lib/brightbox-cli/vendor/fog/tests/vsphere/compute_tests.rb +18 -10
- data/lib/brightbox-cli/vendor/fog/tests/vsphere/requests/compute/vm_clone_tests.rb +3 -7
- data/lib/brightbox-cli/version.rb +1 -1
- data/lib/brightbox_cli.rb +1 -0
- data/spec/fixtures/vcr_cassettes/list_server_groups.yml +37 -6
- data/spec/nilable_hash_spec.rb +30 -0
- metadata +48 -18
- data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/storage/hash_to_acl.rb +0 -44
@@ -172,11 +172,17 @@ module Fog
|
|
172
172
|
end
|
173
173
|
|
174
174
|
def recognized
|
175
|
-
@recognized ||= []
|
175
|
+
@recognized ||= [:connection_options]
|
176
176
|
end
|
177
177
|
|
178
178
|
def validate_options(options)
|
179
|
-
|
179
|
+
keys = []
|
180
|
+
for key, value in options
|
181
|
+
unless value.nil?
|
182
|
+
keys << key
|
183
|
+
end
|
184
|
+
end
|
185
|
+
missing = requirements - keys
|
180
186
|
unless missing.empty?
|
181
187
|
raise ArgumentError, "Missing required arguments: #{missing.join(', ')}"
|
182
188
|
end
|
@@ -58,11 +58,12 @@ module Fog
|
|
58
58
|
|
59
59
|
if id.nil?
|
60
60
|
data = connection.create_record(zone.domain, name, type, value, options).body
|
61
|
+
merge_attributes(data)
|
61
62
|
else
|
62
|
-
|
63
|
+
options.merge!(:name => name, :type => type, :data => value)
|
64
|
+
connection.update_record(zone.domain, id, options).body
|
63
65
|
end
|
64
66
|
|
65
|
-
merge_attributes(data)
|
66
67
|
true
|
67
68
|
end
|
68
69
|
|
@@ -26,6 +26,8 @@ module Fog
|
|
26
26
|
request :post_zone
|
27
27
|
request :put_zone
|
28
28
|
|
29
|
+
class JobIncomplete < Error; end
|
30
|
+
|
29
31
|
class Mock
|
30
32
|
def initialize(options={})
|
31
33
|
@dynect_customer = options[:dynect_customer]
|
@@ -80,18 +82,23 @@ module Fog
|
|
80
82
|
|
81
83
|
def request(params)
|
82
84
|
begin
|
85
|
+
# any request could redirect to a job
|
86
|
+
params[:expects] = Array(params[:expects]) | [307]
|
87
|
+
|
83
88
|
params[:headers] ||= {}
|
84
89
|
params[:headers]['Content-Type'] = 'application/json'
|
85
90
|
params[:headers]['API-Version'] = @version
|
86
91
|
params[:headers]['Auth-Token'] = auth_token unless params[:path] == "Session"
|
87
|
-
params[:path] = "#{@path}/#{params[:path]}"
|
92
|
+
params[:path] = "#{@path}/#{params[:path]}" unless params[:path] =~ %r{^#{Regexp.escape(@path)}/}
|
88
93
|
response = @connection.request(params.merge!({:host => @host}))
|
89
94
|
|
90
|
-
|
95
|
+
if response.status == 307
|
96
|
+
response = poll_job(response)
|
97
|
+
elsif !response.body.empty?
|
91
98
|
response.body = MultiJson.decode(response.body)
|
92
99
|
end
|
93
|
-
response
|
94
100
|
|
101
|
+
response
|
95
102
|
rescue Excon::Errors::HTTPStatusError => error
|
96
103
|
if @auth_token && error.message =~ /login: (Bad or expired credentials|inactivity logout)/
|
97
104
|
@auth_token = nil
|
@@ -103,6 +110,21 @@ module Fog
|
|
103
110
|
|
104
111
|
response
|
105
112
|
end
|
113
|
+
|
114
|
+
def poll_job(response, time_to_wait = 10)
|
115
|
+
job_location = response.headers['Location']
|
116
|
+
|
117
|
+
Fog.wait_for(time_to_wait) do
|
118
|
+
response = request(:expects => 200, :method => :get, :path => job_location)
|
119
|
+
response.body['status'] != 'incomplete'
|
120
|
+
end
|
121
|
+
|
122
|
+
if response.body['status'] == 'incomplete'
|
123
|
+
raise JobIncomplete.new("Job #{response.body['job_id']} is still incomplete")
|
124
|
+
end
|
125
|
+
|
126
|
+
response
|
127
|
+
end
|
106
128
|
end
|
107
129
|
|
108
130
|
end
|
@@ -1061,7 +1061,7 @@ module Fog
|
|
1061
1061
|
end
|
1062
1062
|
|
1063
1063
|
def self.data_reset
|
1064
|
-
Fog::Logger.
|
1064
|
+
Fog::Logger.deprecation("#{self} => #data_reset is deprecated, use #reset instead [light_black](#{caller.first})[/]")
|
1065
1065
|
self.reset
|
1066
1066
|
end
|
1067
1067
|
|
@@ -106,7 +106,7 @@ module Fog
|
|
106
106
|
def save(options = {})
|
107
107
|
requires :body, :directory, :key
|
108
108
|
if options != {}
|
109
|
-
Fog::Logger.
|
109
|
+
Fog::Logger.deprecation("options param is deprecated, use acl= instead [light_black](#{caller.first})[/]")
|
110
110
|
end
|
111
111
|
options['x-goog-acl'] ||= @acl if @acl
|
112
112
|
options['Cache-Control'] = cache_control if cache_control
|
@@ -18,7 +18,7 @@ module Fog
|
|
18
18
|
# http://docs.amazonwebservices.com/AmazonS3/latest/dev/S3_QSAuth.html
|
19
19
|
|
20
20
|
def get_object_url(bucket_name, object_name, expires)
|
21
|
-
Fog::Logger.
|
21
|
+
Fog::Logger.deprecation("Fog::Storage::Google => ##{get_object_url} is deprecated, use ##{get_object_https_url} instead[/] [light_black](#{caller.first})")
|
22
22
|
get_object_https_url(bucket_name, object_name, expires)
|
23
23
|
end
|
24
24
|
|
@@ -27,7 +27,7 @@ module Fog
|
|
27
27
|
class Mock # :nodoc:all
|
28
28
|
|
29
29
|
def get_object_url(bucket_name, object_name, expires)
|
30
|
-
Fog::Logger.
|
30
|
+
Fog::Logger.deprecation("Fog::Storage::Google => ##{get_object_url} is deprecated, use ##{get_object_https_url} instead[/] [light_black](#{caller.first})")
|
31
31
|
get_object_https_url(bucket_name, object_name, expires)
|
32
32
|
end
|
33
33
|
|
@@ -45,7 +45,7 @@ module Fog
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def url(params, expires)
|
48
|
-
Fog::Logger.
|
48
|
+
Fog::Logger.deprecation("Fog::Storage::Google => #url is deprecated, use #https_url instead [light_black](#{caller.first})[/]")
|
49
49
|
https_url(params, expires)
|
50
50
|
end
|
51
51
|
|
@@ -13,7 +13,7 @@ module Fog
|
|
13
13
|
attribute :objectid, :aliases => :ObjectID
|
14
14
|
|
15
15
|
def body
|
16
|
-
attributes[:body] ||= if
|
16
|
+
attributes[:body] ||= if objectid
|
17
17
|
collection.get(identity).body
|
18
18
|
else
|
19
19
|
''
|
@@ -73,13 +73,15 @@ module Fog
|
|
73
73
|
options[:headers] ||= {}
|
74
74
|
options[:headers]['Content-Type'] = content_type if content_type
|
75
75
|
options[:body] = body
|
76
|
-
|
77
|
-
# pre-existing file, do a PUT
|
78
|
-
data = connection.put_namespace(ns, options)
|
79
|
-
else
|
80
|
-
# new file, POST
|
76
|
+
begin
|
81
77
|
data = connection.post_namespace(ns, options)
|
82
78
|
self.objectid = data.headers['location'].split('/')[-1]
|
79
|
+
rescue => error
|
80
|
+
if error.message =~ /The resource you are trying to create already exists./
|
81
|
+
data = connection.put_namespace(ns, options)
|
82
|
+
else
|
83
|
+
raise error
|
84
|
+
end
|
83
85
|
end
|
84
86
|
# merge_attributes(data.headers)
|
85
87
|
true
|
@@ -51,12 +51,13 @@ module Fog
|
|
51
51
|
|
52
52
|
def head(key, options = {})
|
53
53
|
requires :directory
|
54
|
-
data = connection.
|
54
|
+
data = connection.head_namespace(directory.key + key, :parse => false)
|
55
55
|
file_data = data.headers.merge({
|
56
|
+
:body => data.body,
|
56
57
|
:key => key
|
57
58
|
})
|
58
59
|
new(file_data)
|
59
|
-
rescue Fog::Storage::
|
60
|
+
rescue Fog::Storage::Ninefold::NotFound
|
60
61
|
nil
|
61
62
|
end
|
62
63
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Fog
|
2
|
+
module Storage
|
3
|
+
class Ninefold
|
4
|
+
class Real
|
5
|
+
|
6
|
+
def head_namespace(namespace = '', options = {})
|
7
|
+
options = options.reject {|key, value| value.nil?}
|
8
|
+
request({
|
9
|
+
:expects => 200,
|
10
|
+
:method => 'HEAD',
|
11
|
+
:path => "namespace/" + namespace,
|
12
|
+
:query => {},
|
13
|
+
:parse => true
|
14
|
+
}.merge(options))
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -20,6 +20,7 @@ module Fog
|
|
20
20
|
request_path 'fog/ninefold/requests/storage'
|
21
21
|
# request :delete_container
|
22
22
|
request :get_namespace
|
23
|
+
request :head_namespace
|
23
24
|
request :post_namespace
|
24
25
|
request :put_namespace
|
25
26
|
request :delete_namespace
|
@@ -107,9 +108,10 @@ module Fog
|
|
107
108
|
|
108
109
|
customheaders = {}
|
109
110
|
params[:headers].each { |key,value|
|
110
|
-
|
111
|
+
case key
|
112
|
+
when 'x-emc-date', 'x-emc-signature'
|
111
113
|
#skip
|
112
|
-
|
114
|
+
when /^x-emc-/
|
113
115
|
customheaders[ key.downcase ] = value
|
114
116
|
end
|
115
117
|
}
|
@@ -21,6 +21,7 @@ module Fog
|
|
21
21
|
attribute :accessIPv4
|
22
22
|
attribute :accessIPv6
|
23
23
|
attribute :availability_zone
|
24
|
+
attribute :user_data_encoded
|
24
25
|
attribute :state, :aliases => 'status'
|
25
26
|
|
26
27
|
attr_reader :password
|
@@ -47,6 +48,10 @@ module Fog
|
|
47
48
|
metadata.load(metas)
|
48
49
|
end
|
49
50
|
|
51
|
+
def user_data=(ascii_userdata)
|
52
|
+
self.user_data_encoded = [ascii_userdata].pack('m')
|
53
|
+
end
|
54
|
+
|
50
55
|
def destroy
|
51
56
|
requires :id
|
52
57
|
connection.delete_server(id)
|
@@ -155,7 +160,8 @@ module Fog
|
|
155
160
|
'personality' => personality,
|
156
161
|
'accessIPv4' => accessIPv4,
|
157
162
|
'accessIPv6' => accessIPv6,
|
158
|
-
'availability_zone' => availability_zone
|
163
|
+
'availability_zone' => availability_zone,
|
164
|
+
'user_data' => user_data_encoded
|
159
165
|
}
|
160
166
|
options = options.reject {|key, value| value.nil?}
|
161
167
|
data = connection.create_server(name, image_ref, flavor_ref, options)
|
@@ -12,15 +12,12 @@ module Fog
|
|
12
12
|
}
|
13
13
|
}
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
data['server']['accessIPv4'] = options['accessIPv4']
|
20
|
-
end
|
21
|
-
if options['accessIPv6']
|
22
|
-
data['server']['accessIPv6'] = options['accessIPv6']
|
15
|
+
vanilla_options = ['metadata', 'accessIPv4', 'accessIPv6',
|
16
|
+
'availability_zone', 'user_data']
|
17
|
+
vanilla_options.select{|o| options[o]}.each do |key|
|
18
|
+
data['server'][key] = options[key]
|
23
19
|
end
|
20
|
+
|
24
21
|
if options['personality']
|
25
22
|
data['server']['personality'] = []
|
26
23
|
for file in options['personality']
|
@@ -30,9 +27,7 @@ module Fog
|
|
30
27
|
}
|
31
28
|
end
|
32
29
|
end
|
33
|
-
|
34
|
-
data['server']['availability_zone'] = options['availability_zone']
|
35
|
-
end
|
30
|
+
|
36
31
|
request(
|
37
32
|
:body => MultiJson.encode(data),
|
38
33
|
:expects => [200, 202],
|
@@ -11,7 +11,7 @@ module Fog
|
|
11
11
|
response = nil
|
12
12
|
Fog.wait_for(timeout, interval) do
|
13
13
|
response = connection.callback job_id
|
14
|
-
if response.status !=
|
14
|
+
if response.body['status'] != 'RUNNING'
|
15
15
|
true
|
16
16
|
elsif retries == 0
|
17
17
|
raise Fog::Errors::Error.new("Wait on job #{job_id} took too long")
|
@@ -51,7 +51,7 @@ module Fog
|
|
51
51
|
}
|
52
52
|
|
53
53
|
response = wait_for_job connection.add_records(@zone.identity, [options]).body['jobId']
|
54
|
-
merge_attributes(response.body['records'].first)
|
54
|
+
merge_attributes(response.body['response']['records'].select {|record| record['name'] == self.name && record['type'] == self.type && record['data'] == self.value}.first)
|
55
55
|
true
|
56
56
|
end
|
57
57
|
|
@@ -52,7 +52,7 @@ module Fog
|
|
52
52
|
response = connection.create_domains([data])
|
53
53
|
|
54
54
|
response = wait_for_job response.body['jobId']
|
55
|
-
merge_attributes(response.body['domains'].first)
|
55
|
+
merge_attributes(response.body['response']['domains'].select {|domain| domain['name'] == self.domain}.first)
|
56
56
|
end
|
57
57
|
|
58
58
|
def update
|
@@ -12,7 +12,7 @@ module Fog
|
|
12
12
|
identity :id
|
13
13
|
|
14
14
|
attribute :active
|
15
|
-
attribute :value, :aliases => 'ip'
|
15
|
+
attribute :value, :aliases => ['ip', 'data']
|
16
16
|
attribute :name
|
17
17
|
attribute :description, :aliases => 'aux'
|
18
18
|
attribute :ttl
|
@@ -45,13 +45,17 @@ module Fog
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def save
|
48
|
-
|
48
|
+
|
49
49
|
requires :name, :type, :value, :zone
|
50
50
|
options = {}
|
51
51
|
options[:active] = active ? 'Y' : 'N'
|
52
52
|
options[:aux] = description if description
|
53
53
|
options[:ttl] = ttl if ttl
|
54
|
-
|
54
|
+
if identity
|
55
|
+
data = connection.update_record(identity, type, zone.id, name, value, options)
|
56
|
+
else
|
57
|
+
data = connection.create_record(type, zone.id, name, value, options)
|
58
|
+
end
|
55
59
|
merge_attributes(data.body)
|
56
60
|
true
|
57
61
|
end
|
@@ -11,9 +11,15 @@ module Fog
|
|
11
11
|
|
12
12
|
def end_element(name)
|
13
13
|
case name
|
14
|
-
when '
|
14
|
+
when 'zone_id'
|
15
|
+
@response["zone-id"] = value.to_i
|
16
|
+
when 'record_type'
|
17
|
+
@response["record-type"] = value
|
18
|
+
when 'ttl', 'id'
|
15
19
|
@response[name] = value.to_i
|
16
|
-
when '
|
20
|
+
when 'value'
|
21
|
+
@response["data"] = value
|
22
|
+
when 'name', 'data', 'active', 'aux'
|
17
23
|
@response[name] = value
|
18
24
|
end
|
19
25
|
end
|
@@ -6,15 +6,27 @@ module Fog
|
|
6
6
|
class GetRecord < Fog::Parsers::Base
|
7
7
|
|
8
8
|
def reset
|
9
|
+
@record = {}
|
9
10
|
@response = { }
|
10
11
|
end
|
11
12
|
|
12
13
|
def end_element(name)
|
13
14
|
case name
|
14
|
-
when '
|
15
|
-
@
|
16
|
-
when '
|
17
|
-
@
|
15
|
+
when 'id'
|
16
|
+
@record["id"] = value.to_i
|
17
|
+
when 'zone-id'
|
18
|
+
@record["zone_id"] = value.to_i
|
19
|
+
when 'record-type'
|
20
|
+
@record["record_type"] = value
|
21
|
+
when 'ttl'
|
22
|
+
@record[name] = value.to_i
|
23
|
+
when 'data'
|
24
|
+
@record["value"] = value
|
25
|
+
when 'name', 'active', 'aux'
|
26
|
+
@record[name] = value
|
27
|
+
when 'record'
|
28
|
+
@response = @record
|
29
|
+
@record = {}
|
18
30
|
end
|
19
31
|
end
|
20
32
|
|
@@ -23,4 +35,4 @@ module Fog
|
|
23
35
|
end
|
24
36
|
end
|
25
37
|
end
|
26
|
-
end
|
38
|
+
end
|
@@ -12,9 +12,17 @@ module Fog
|
|
12
12
|
|
13
13
|
def end_element(name)
|
14
14
|
case name
|
15
|
-
when '
|
15
|
+
when 'id'
|
16
|
+
@record["id"] = value.to_i
|
17
|
+
when 'zone-id'
|
18
|
+
@record["zone_id"] = value.to_i
|
19
|
+
when 'record-type'
|
20
|
+
@record["record_type"] = value
|
21
|
+
when 'ttl'
|
16
22
|
@record[name] = value.to_i
|
17
|
-
when '
|
23
|
+
when 'data'
|
24
|
+
@record["value"] = value
|
25
|
+
when 'name', 'active', 'aux'
|
18
26
|
@record[name] = value
|
19
27
|
when 'record'
|
20
28
|
@response['records'] << @record
|
@@ -10,14 +10,13 @@ module Fog
|
|
10
10
|
# ==== Returns
|
11
11
|
# * response<~Excon::Response>:
|
12
12
|
# * body<~Array>:
|
13
|
-
# * '
|
14
|
-
# * '
|
15
|
-
# * '
|
16
|
-
# * '
|
17
|
-
# * '
|
18
|
-
# * '
|
19
|
-
# * '
|
20
|
-
# * 'status'<~String> - Current status of the slice
|
13
|
+
# * 'name'<~String> - Record NAME field (e.g. "example.org." or "www")
|
14
|
+
# * 'data'<~String> - Data contained by the record (e.g. an IP address, for A records)
|
15
|
+
# * 'record_type'<~String> - Type of record (A, CNAME, TXT, etc)
|
16
|
+
# * 'aux'<~String> - Aux data for the record, for those types which have it (e.g. TXT)
|
17
|
+
# * 'zone_id'<~Integer> - zone ID to which this record belongs
|
18
|
+
# * 'active'<~String> - whether this record is active in the Slicehost DNS (Y for yes, N for no)
|
19
|
+
# * 'ttl'<~Integer> - TTL in seconds
|
21
20
|
def get_records
|
22
21
|
request(
|
23
22
|
:expects => 200,
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Fog
|
2
|
+
module DNS
|
3
|
+
class Slicehost
|
4
|
+
class Real
|
5
|
+
|
6
|
+
#require 'fog/slicehost/parsers/dns/update_record'
|
7
|
+
|
8
|
+
# Get an individual DNS record from the specified zone
|
9
|
+
#
|
10
|
+
# ==== Returns
|
11
|
+
# * response<~Excon::Response>:
|
12
|
+
# * body<~Hash>:
|
13
|
+
# * 'record_type'<~String> - type of DNS record to create (A, CNAME, etc)
|
14
|
+
# * 'zone_id'<~Integer> - ID of the zone to update
|
15
|
+
# * 'name'<~String> - host name this DNS record is for
|
16
|
+
# * 'data'<~String> - data for the DNS record (ie for an A record, the IP address)
|
17
|
+
# * 'ttl'<~Integer> - time to live in seconds
|
18
|
+
# * 'active'<~String> - whether this record is active or not ('Y' or 'N')
|
19
|
+
# * 'aux'<~String> - extra data required by the record
|
20
|
+
def update_record(record_id, record_type, zone_id, name, data, options = {})
|
21
|
+
optional_tags= ''
|
22
|
+
options.each { |option, value|
|
23
|
+
case option
|
24
|
+
when :ttl
|
25
|
+
optional_tags+= "<ttl type='integer'>#{value}</ttl>"
|
26
|
+
when :active
|
27
|
+
optional_tags+= "<active>#{value}</active>"
|
28
|
+
when :aux
|
29
|
+
optional_tags+= "<aux>#{value}</aux>"
|
30
|
+
end
|
31
|
+
}
|
32
|
+
request(
|
33
|
+
:body => %Q{<?xml version="1.0" encoding="UTF-8"?><record><record_type>#{record_type}</record_type><zone_id type="integer">#{zone_id}</zone_id><name>#{name}</name><data>#{data}</data>#{optional_tags}</record>},
|
34
|
+
:expects => 200,
|
35
|
+
:method => 'PUT',
|
36
|
+
:path => "records/#{record_id}.xml"
|
37
|
+
)
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -15,7 +15,7 @@ module Fog
|
|
15
15
|
extend Fog::Terremark::Shared
|
16
16
|
|
17
17
|
def self.new(options={})
|
18
|
-
Fog::Logger.
|
18
|
+
Fog::Logger.deprecation("Fog::Terremark::Vcloud is deprecated, to be replaced with Vcloud 1.0 someday/maybe [light_black](#{caller.first})[/]")
|
19
19
|
|
20
20
|
unless @required
|
21
21
|
shared_requires
|