brightbox-cli 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb
CHANGED
|
@@ -13,11 +13,23 @@ module Fog
|
|
|
13
13
|
# * 'SourceSecurityGroupName'<~String> - Name of security group to authorize
|
|
14
14
|
# * 'SourceSecurityGroupOwnerId'<~String> - Name of owner to authorize
|
|
15
15
|
# or
|
|
16
|
-
# * 'CidrIp' - CIDR range
|
|
17
|
-
# * 'FromPort' - Start of port range (or -1 for ICMP wildcard)
|
|
18
|
-
# * '
|
|
19
|
-
# * '
|
|
20
|
-
#
|
|
16
|
+
# * 'CidrIp'<~String> - CIDR range
|
|
17
|
+
# * 'FromPort'<~Integer> - Start of port range (or -1 for ICMP wildcard)
|
|
18
|
+
# * 'IpProtocol'<~String> - Ip protocol, must be in ['tcp', 'udp', 'icmp']
|
|
19
|
+
# * 'ToPort'<~Integer> - End of port range (or -1 for ICMP wildcard)
|
|
20
|
+
# or
|
|
21
|
+
# * 'IpPermissions'<~Array>:
|
|
22
|
+
# * permission<~Hash>:
|
|
23
|
+
# * 'FromPort'<~Integer> - Start of port range (or -1 for ICMP wildcard)
|
|
24
|
+
# * 'Groups'<~Array>:
|
|
25
|
+
# * group<~Hash>:
|
|
26
|
+
# * 'GroupName'<~String> - Name of security group to authorize
|
|
27
|
+
# * 'UserId'<~String> - Name of owner to authorize
|
|
28
|
+
# * 'IpProtocol'<~String> - Ip protocol, must be in ['tcp', 'udp', 'icmp']
|
|
29
|
+
# * 'IpRanges'<~Array>:
|
|
30
|
+
# * ip_range<~Hash>:
|
|
31
|
+
# * 'CidrIp'<~String> - CIDR range
|
|
32
|
+
# * 'ToPort'<~Integer> - End of port range (or -1 for ICMP wildcard)
|
|
21
33
|
#
|
|
22
34
|
# === Returns
|
|
23
35
|
# * response<~Excon::Response>:
|
|
@@ -28,10 +40,15 @@ module Fog
|
|
|
28
40
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-AuthorizeSecurityGroupIngress.html]
|
|
29
41
|
def authorize_security_group_ingress(group_name, options = {})
|
|
30
42
|
if group_name.is_a?(Hash)
|
|
31
|
-
Fog::Logger.
|
|
43
|
+
Fog::Logger.deprecation("Fog::AWS::Compute#authorize_security_group_ingress now requires the 'group_name' parameter. Only specifying an options hash is now deprecated [light_black](#{caller.first})[/]")
|
|
32
44
|
options = group_name
|
|
33
|
-
group_name = options
|
|
45
|
+
group_name = options.delete('GroupName')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
if ip_permissions = options.delete('IpPermissions')
|
|
49
|
+
options.merge!(indexed_ip_permissions_params(ip_permissions))
|
|
34
50
|
end
|
|
51
|
+
|
|
35
52
|
request({
|
|
36
53
|
'Action' => 'AuthorizeSecurityGroupIngress',
|
|
37
54
|
'GroupName' => group_name,
|
|
@@ -40,51 +57,69 @@ module Fog
|
|
|
40
57
|
}.merge!(options))
|
|
41
58
|
end
|
|
42
59
|
|
|
60
|
+
private
|
|
61
|
+
|
|
62
|
+
def indexed_ip_permissions_params(ip_permissions)
|
|
63
|
+
params = {}
|
|
64
|
+
ip_permissions.each_with_index do |permission, key_index|
|
|
65
|
+
key_index += 1
|
|
66
|
+
params[format('IpPermissions.%d.IpProtocol', key_index)] = permission['IpProtocol']
|
|
67
|
+
params[format('IpPermissions.%d.FromPort', key_index)] = permission['FromPort']
|
|
68
|
+
params[format('IpPermissions.%d.ToPort', key_index)] = permission['ToPort']
|
|
69
|
+
(permission['Groups'] || []).each_with_index do |group, group_index|
|
|
70
|
+
group_index += 1
|
|
71
|
+
params[format('IpPermissions.%d.Groups.%d.UserId', key_index, group_index)] = group['UserId']
|
|
72
|
+
params[format('IpPermissions.%d.Groups.%d.GroupName', key_index, group_index)] = group['GroupName']
|
|
73
|
+
params[format('IpPermissions.%d.Groups.%d.GroupId', key_index, group_index)] = group['GroupId']
|
|
74
|
+
end
|
|
75
|
+
(permission['IpRanges'] || []).each_with_index do |ip_range, range_index|
|
|
76
|
+
range_index += 1
|
|
77
|
+
params[format('IpPermissions.%d.IpRanges.%d.CidrIp', key_index, range_index)] = ip_range['CidrIp']
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
params.reject {|k, v| v.nil? }
|
|
81
|
+
end
|
|
82
|
+
|
|
43
83
|
end
|
|
44
84
|
|
|
45
85
|
class Mock
|
|
46
86
|
|
|
47
87
|
def authorize_security_group_ingress(group_name, options = {})
|
|
48
88
|
if group_name.is_a?(Hash)
|
|
49
|
-
Fog::Logger.
|
|
89
|
+
Fog::Logger.deprecation("Fog::AWS::Compute#authorize_security_group_ingress now requires the 'group_name' parameter. Only specifying an options hash is now deprecated [light_black](#{caller.first})[/]")
|
|
50
90
|
options = group_name
|
|
51
|
-
group_name = options
|
|
91
|
+
group_name = options.delete('GroupName')
|
|
52
92
|
end
|
|
53
93
|
|
|
94
|
+
verify_permission_options(options)
|
|
95
|
+
|
|
54
96
|
response = Excon::Response.new
|
|
55
97
|
group = self.data[:security_groups][group_name]
|
|
56
98
|
|
|
57
99
|
if group
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
'
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
100
|
+
normalized_permissions = normalize_permissions(options)
|
|
101
|
+
|
|
102
|
+
normalized_permissions.each do |permission|
|
|
103
|
+
if matching_group_permission = find_matching_permission(group, permission)
|
|
104
|
+
if permission['groups'].any? {|pg| matching_group_permission['groups'].include?(pg) }
|
|
105
|
+
raise Fog::Compute::AWS::Error, "InvalidPermission.Duplicate => The permission '123' has already been authorized in the specified group"
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
if permission['ipRanges'].any? {|pr| matching_group_permission['ipRanges'].include?(pr) }
|
|
109
|
+
raise Fog::Compute::AWS::Error, "InvalidPermission.Duplicate => The permission '123' has already been authorized in the specified group"
|
|
110
|
+
end
|
|
68
111
|
end
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
'
|
|
74
|
-
'
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
group['ipPermissions'] << {
|
|
78
|
-
'groups' => [],
|
|
79
|
-
'fromPort' => options['FromPort'],
|
|
80
|
-
'ipRanges' => [],
|
|
81
|
-
'ipProtocol' => options['IpProtocol'],
|
|
82
|
-
'toPort' => options['ToPort']
|
|
83
|
-
}
|
|
84
|
-
if options['CidrIp']
|
|
85
|
-
group['ipPermissions'].last['ipRanges'] << { 'cidrIp' => options['CidrIp'] }
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
normalized_permissions.each do |permission|
|
|
115
|
+
if matching_group_permission = find_matching_permission(group, permission)
|
|
116
|
+
matching_group_permission['groups'] += permission['groups']
|
|
117
|
+
matching_group_permission['ipRanges'] += permission['ipRanges']
|
|
118
|
+
else
|
|
119
|
+
group['ipPermissions'] << permission
|
|
86
120
|
end
|
|
87
121
|
end
|
|
122
|
+
|
|
88
123
|
response.status = 200
|
|
89
124
|
response.body = {
|
|
90
125
|
'requestId' => Fog::AWS::Mock.request_id,
|
|
@@ -96,6 +131,76 @@ module Fog
|
|
|
96
131
|
end
|
|
97
132
|
end
|
|
98
133
|
|
|
134
|
+
private
|
|
135
|
+
|
|
136
|
+
def verify_permission_options(options)
|
|
137
|
+
if options.empty?
|
|
138
|
+
raise Fog::Compute::AWS::Error.new("InvalidRequest => The request received was invalid.")
|
|
139
|
+
end
|
|
140
|
+
if options['IpProtocol'] && !['tcp', 'udp', 'icmp'].include?(options['IpProtocol'])
|
|
141
|
+
raise Fog::Compute::AWS::Error.new("InvalidPermission.Malformed => Unsupported IP protocol \"#{options['IpProtocol']}\" - supported: [tcp, udp, icmp]")
|
|
142
|
+
end
|
|
143
|
+
if options['IpProtocol'] && (!options['FromPort'] || !options['ToPort'])
|
|
144
|
+
raise Fog::Compute::AWS::Error.new("InvalidPermission.Malformed => TCP/UDP port (-1) out of range")
|
|
145
|
+
end
|
|
146
|
+
if options.has_key?('IpPermissions')
|
|
147
|
+
if !options['IpPermissions'].is_a?(Array) || options['IpPermissions'].empty?
|
|
148
|
+
raise Fog::Compute::AWS::Error.new("InvalidRequest => The request received was invalid.")
|
|
149
|
+
end
|
|
150
|
+
options['IpPermissions'].each {|p| verify_permission_options(p) }
|
|
151
|
+
end
|
|
152
|
+
end
|
|
153
|
+
|
|
154
|
+
def normalize_permissions(options)
|
|
155
|
+
normalized_permissions = []
|
|
156
|
+
|
|
157
|
+
if options['SourceSecurityGroupName']
|
|
158
|
+
['tcp', 'udp'].each do |protocol|
|
|
159
|
+
normalized_permissions << {
|
|
160
|
+
'ipProtocol' => protocol,
|
|
161
|
+
'fromPort' => 1,
|
|
162
|
+
'toPort' => 65535,
|
|
163
|
+
'groups' => [{'groupName' => options['SourceSecurityGroupName'], 'userId' => options['SourceSecurityGroupOwnerId'] || self.data[:owner_id]}],
|
|
164
|
+
'ipRanges' => []
|
|
165
|
+
}
|
|
166
|
+
end
|
|
167
|
+
normalized_permissions << {
|
|
168
|
+
'ipProtocol' => 'icmp',
|
|
169
|
+
'fromPort' => -1,
|
|
170
|
+
'toPort' => -1,
|
|
171
|
+
'groups' => [{'groupName' => options['SourceSecurityGroupName'], 'userId' => options['SourceSecurityGroupOwnerId'] || self.data[:owner_id]}],
|
|
172
|
+
'ipRanges' => []
|
|
173
|
+
}
|
|
174
|
+
elsif options['CidrIp']
|
|
175
|
+
normalized_permissions << {
|
|
176
|
+
'ipProtocol' => options['IpProtocol'],
|
|
177
|
+
'fromPort' => Integer(options['FromPort']),
|
|
178
|
+
'toPort' => Integer(options['ToPort']),
|
|
179
|
+
'groups' => [],
|
|
180
|
+
'ipRanges' => [{'cidrIp' => options['CidrIp']}]
|
|
181
|
+
}
|
|
182
|
+
elsif options['IpPermissions']
|
|
183
|
+
options['IpPermissions'].each do |permission|
|
|
184
|
+
normalized_permissions << {
|
|
185
|
+
'ipProtocol' => permission['IpProtocol'],
|
|
186
|
+
'fromPort' => Integer(permission['FromPort']),
|
|
187
|
+
'toPort' => Integer(permission['ToPort']),
|
|
188
|
+
'groups' => (permission['Groups'] || []).map {|g| {'groupName' => g['GroupName'], 'userId' => g['UserId'] || self.data[:owner_id]} },
|
|
189
|
+
'ipRanges' => (permission['IpRanges'] || []).map {|r| { 'cidrIp' => r['CidrIp'] } }
|
|
190
|
+
}
|
|
191
|
+
end
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
normalized_permissions
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
def find_matching_permission(group, permission)
|
|
198
|
+
group['ipPermissions'].detect {|group_permission|
|
|
199
|
+
permission['ipProtocol'] == group_permission['ipProtocol'] &&
|
|
200
|
+
permission['fromPort'] == group_permission['fromPort'] &&
|
|
201
|
+
permission['toPort'] == group_permission['toPort'] }
|
|
202
|
+
end
|
|
203
|
+
|
|
99
204
|
end
|
|
100
205
|
end
|
|
101
206
|
end
|
|
@@ -30,8 +30,33 @@ module Fog
|
|
|
30
30
|
|
|
31
31
|
class Mock
|
|
32
32
|
def delete_security_group(name)
|
|
33
|
+
if name == 'default'
|
|
34
|
+
raise Fog::Compute::AWS::Error.new("InvalidGroup.Reserved => The security group 'default' is reserved")
|
|
35
|
+
end
|
|
36
|
+
|
|
33
37
|
response = Excon::Response.new
|
|
34
38
|
if self.data[:security_groups][name]
|
|
39
|
+
|
|
40
|
+
used_by_groups = []
|
|
41
|
+
self.region_data.each do |access_key, key_data|
|
|
42
|
+
key_data[:security_groups].each do |group_name, group|
|
|
43
|
+
next if group == self.data[:security_groups][name]
|
|
44
|
+
|
|
45
|
+
group['ipPermissions'].each do |group_ip_permission|
|
|
46
|
+
group_ip_permission['groups'].each do |group_group_permission|
|
|
47
|
+
if group_group_permission['groupName'] == name &&
|
|
48
|
+
group_group_permission['userId'] == self.data[:owner_id]
|
|
49
|
+
used_by_groups << "#{key_data[:owner_id]}:#{group_name}"
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
unless used_by_groups.empty?
|
|
57
|
+
raise Fog::Compute::AWS::Error.new("InvalidGroup.InUse => Group #{self.data[:owner_id]}:#{name} is used by groups: #{used_by_groups.uniq.join(" ")}")
|
|
58
|
+
end
|
|
59
|
+
|
|
35
60
|
self.data[:security_groups].delete(name)
|
|
36
61
|
response.status = 200
|
|
37
62
|
response.body = {
|
|
@@ -21,7 +21,7 @@ module Fog
|
|
|
21
21
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAddresses.html]
|
|
22
22
|
def describe_addresses(filters = {})
|
|
23
23
|
unless filters.is_a?(Hash)
|
|
24
|
-
Fog::Logger.
|
|
24
|
+
Fog::Logger.deprecation("describe_addresses with #{filters.class} param is deprecated, use describe_addresses('public-ip' => []) instead [light_black](#{caller.first})[/]")
|
|
25
25
|
filters = {'public-ip' => [*filters]}
|
|
26
26
|
end
|
|
27
27
|
params = Fog::AWS.indexed_filters(filters)
|
|
@@ -38,7 +38,7 @@ module Fog
|
|
|
38
38
|
|
|
39
39
|
def describe_addresses(filters = {})
|
|
40
40
|
unless filters.is_a?(Hash)
|
|
41
|
-
Fog::Logger.
|
|
41
|
+
Fog::Logger.deprecation("describe_addresses with #{filters.class} param is deprecated, use describe_addresses('public-ip' => []) instead [light_black](#{caller.first})[/]")
|
|
42
42
|
filters = {'public-ip' => [*filters]}
|
|
43
43
|
end
|
|
44
44
|
|
data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_availability_zones.rb
CHANGED
|
@@ -22,7 +22,7 @@ module Fog
|
|
|
22
22
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeAvailabilityZones.html]
|
|
23
23
|
def describe_availability_zones(filters = {})
|
|
24
24
|
unless filters.is_a?(Hash)
|
|
25
|
-
Fog::Logger.
|
|
25
|
+
Fog::Logger.deprecation("describe_availability_zones with #{filters.class} param is deprecated, use describe_availability_zones('zone-name' => []) instead [light_black](#{caller.first})[/]")
|
|
26
26
|
filters = {'public-ip' => [*filters]}
|
|
27
27
|
end
|
|
28
28
|
params = Fog::AWS.indexed_filters(filters)
|
|
@@ -39,7 +39,7 @@ module Fog
|
|
|
39
39
|
|
|
40
40
|
def describe_availability_zones(filters = {})
|
|
41
41
|
unless filters.is_a?(Hash)
|
|
42
|
-
Fog::Logger.
|
|
42
|
+
Fog::Logger.deprecation("describe_availability_zones with #{filters.class} param is deprecated, use describe_availability_zones('zone-name' => []) instead [light_black](#{caller.first})[/]")
|
|
43
43
|
filters = {'public-ip' => [*filters]}
|
|
44
44
|
end
|
|
45
45
|
|
|
@@ -55,6 +55,9 @@ module Fog
|
|
|
55
55
|
{"messageSet" => [], "regionName" => "us-west-1", "zoneName" => "us-west-1b", "zoneState" => "available"},
|
|
56
56
|
{"messageSet" => [], "regionName" => "us-west-1", "zoneName" => "us-west-1c", "zoneState" => "available"},
|
|
57
57
|
|
|
58
|
+
{"messageSet" => [], "regionName" => "us-west-2", "zoneName" => "us-west-2a", "zoneState" => "available"},
|
|
59
|
+
{"messageSet" => [], "regionName" => "us-west-2", "zoneName" => "us-west-2b", "zoneState" => "available"},
|
|
60
|
+
|
|
58
61
|
{"messageSet" => [], "regionName" => "eu-west-1", "zoneName" => "eu-west-1a", "zoneState" => "available"},
|
|
59
62
|
{"messageSet" => [], "regionName" => "eu-west-1", "zoneName" => "eu-west-1b", "zoneState" => "available"},
|
|
60
63
|
{"messageSet" => [], "regionName" => "eu-west-1", "zoneName" => "eu-west-1c", "zoneState" => "available"},
|
|
@@ -60,7 +60,7 @@ module Fog
|
|
|
60
60
|
|
|
61
61
|
def describe_images(filters = {})
|
|
62
62
|
unless filters.is_a?(Hash)
|
|
63
|
-
Fog::Logger.
|
|
63
|
+
Fog::Logger.deprecation("describe_images with #{filters.class} param is deprecated, use describe_images('image-id' => []) instead [light_black](#{caller.first})[/]")
|
|
64
64
|
filters = {'image-id' => [*filters]}
|
|
65
65
|
end
|
|
66
66
|
|
|
@@ -55,7 +55,7 @@ module Fog
|
|
|
55
55
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html]
|
|
56
56
|
def describe_instances(filters = {})
|
|
57
57
|
unless filters.is_a?(Hash)
|
|
58
|
-
Fog::Logger.
|
|
58
|
+
Fog::Logger.deprecation("describe_instances with #{filters.class} param is deprecated, use describe_instances('instance-id' => []) instead [light_black](#{caller.first})[/]")
|
|
59
59
|
filters = {'instance-id' => [*filters]}
|
|
60
60
|
end
|
|
61
61
|
params = {}
|
|
@@ -81,7 +81,7 @@ module Fog
|
|
|
81
81
|
|
|
82
82
|
def describe_instances(filters = {})
|
|
83
83
|
unless filters.is_a?(Hash)
|
|
84
|
-
Fog::Logger.
|
|
84
|
+
Fog::Logger.deprecation("describe_instances with #{filters.class} param is deprecated, use describe_instances('instance-id' => []) instead [light_black](#{caller.first})[/]")
|
|
85
85
|
filters = {'instance-id' => [*filters]}
|
|
86
86
|
end
|
|
87
87
|
|
|
@@ -154,16 +154,25 @@ module Fog
|
|
|
154
154
|
end
|
|
155
155
|
end
|
|
156
156
|
|
|
157
|
+
brand_new_instances = instance_set.find_all do |instance|
|
|
158
|
+
instance['instanceState']['name'] == 'pending' &&
|
|
159
|
+
Time.now - instance['launchTime'] < Fog::Mock.delay * 2
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# Error if filtering for a brand new instance directly
|
|
163
|
+
if (filters['instance-id'] || filters['instanceId']) && !brand_new_instances.empty?
|
|
164
|
+
raise Fog::Compute::AWS::NotFound.new("The instance ID '#{brand_new_instances.first['instanceId']}' does not exist")
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Otherwise don't include it in the list
|
|
168
|
+
instance_set = instance_set.reject {|instance| brand_new_instances.include?(instance) }
|
|
169
|
+
|
|
157
170
|
response.status = 200
|
|
158
171
|
reservation_set = {}
|
|
159
172
|
|
|
160
173
|
instance_set.each do |instance|
|
|
161
174
|
case instance['instanceState']['name']
|
|
162
175
|
when 'pending'
|
|
163
|
-
if Time.now - instance['launchTime'] < Fog::Mock.delay * 2
|
|
164
|
-
raise Fog::Compute::AWS::NotFound.new("The instance ID '#{instance['instanceId']}' does not exist")
|
|
165
|
-
end
|
|
166
|
-
|
|
167
176
|
if Time.now - instance['launchTime'] >= Fog::Mock.delay * 2
|
|
168
177
|
instance['ipAddress'] = Fog::AWS::Mock.ip_address
|
|
169
178
|
instance['originalIpAddress'] = instance['ipAddress']
|
|
@@ -21,7 +21,7 @@ module Fog
|
|
|
21
21
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeKeyPairs.html]
|
|
22
22
|
def describe_key_pairs(filters = {})
|
|
23
23
|
unless filters.is_a?(Hash)
|
|
24
|
-
Fog::Logger.
|
|
24
|
+
Fog::Logger.deprecation("describe_key_pairs with #{filters.class} param is deprecated, use describe_key_pairs('key-name' => []) instead [light_black](#{caller.first})[/]")
|
|
25
25
|
filters = {'key-name' => [*filters]}
|
|
26
26
|
end
|
|
27
27
|
params = Fog::AWS.indexed_filters(filters)
|
|
@@ -38,7 +38,7 @@ module Fog
|
|
|
38
38
|
|
|
39
39
|
def describe_key_pairs(filters = {})
|
|
40
40
|
unless filters.is_a?(Hash)
|
|
41
|
-
Fog::Logger.
|
|
41
|
+
Fog::Logger.deprecation("describe_key_pairs with #{filters.class} param is deprecated, use describe_key_pairs('key-name' => []) instead [light_black](#{caller.first})[/]")
|
|
42
42
|
filters = {'key-name' => [*filters]}
|
|
43
43
|
end
|
|
44
44
|
|
|
@@ -21,7 +21,7 @@ module Fog
|
|
|
21
21
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeRegions.html]
|
|
22
22
|
def describe_regions(filters = {})
|
|
23
23
|
unless filters.is_a?(Hash)
|
|
24
|
-
Fog::Logger.
|
|
24
|
+
Fog::Logger.deprecation("describe_regions with #{filters.class} param is deprecated, use describe_regions('region-name' => []) instead [light_black](#{caller.first})[/]")
|
|
25
25
|
filters = {'region-name' => [*filters]}
|
|
26
26
|
end
|
|
27
27
|
params = Fog::AWS.indexed_filters(filters)
|
|
@@ -38,7 +38,7 @@ module Fog
|
|
|
38
38
|
|
|
39
39
|
def describe_regions(filters = {})
|
|
40
40
|
unless filters.is_a?(Hash)
|
|
41
|
-
Fog::Logger.
|
|
41
|
+
Fog::Logger.deprecation("describe_regions with #{filters.class} param is deprecated, use describe_regions('region-name' => []) instead [light_black](#{caller.first})[/]")
|
|
42
42
|
filters = {'region-name' => [*filters]}
|
|
43
43
|
end
|
|
44
44
|
|
data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/describe_reserved_instances.rb
CHANGED
|
@@ -29,7 +29,7 @@ module Fog
|
|
|
29
29
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeReservedInstances.html]
|
|
30
30
|
def describe_reserved_instances(filters = {})
|
|
31
31
|
unless filters.is_a?(Hash)
|
|
32
|
-
Fog::Logger.
|
|
32
|
+
Fog::Logger.deprecation("describe_reserved_instances with #{filters.class} param is deprecated, use describe_reserved_instances('reserved-instances-id' => []) instead [light_black](#{caller.first})[/]")
|
|
33
33
|
filters = {'reserved-instances-id' => [*filters]}
|
|
34
34
|
end
|
|
35
35
|
params = Fog::AWS.indexed_filters(filters)
|
|
@@ -31,7 +31,7 @@ module Fog
|
|
|
31
31
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSecurityGroups.html]
|
|
32
32
|
def describe_security_groups(filters = {})
|
|
33
33
|
unless filters.is_a?(Hash)
|
|
34
|
-
Fog::Logger.
|
|
34
|
+
Fog::Logger.deprecation("describe_security_groups with #{filters.class} param is deprecated, use describe_security_groups('group-name' => []) instead [light_black](#{caller.first})[/]")
|
|
35
35
|
filters = {'group-name' => [*filters]}
|
|
36
36
|
end
|
|
37
37
|
params = Fog::AWS.indexed_filters(filters)
|
|
@@ -48,7 +48,7 @@ module Fog
|
|
|
48
48
|
|
|
49
49
|
def describe_security_groups(filters = {})
|
|
50
50
|
unless filters.is_a?(Hash)
|
|
51
|
-
Fog::Logger.
|
|
51
|
+
Fog::Logger.deprecation("describe_security_groups with #{filters.class} param is deprecated, use describe_security_groups('group-name' => []) instead [light_black](#{caller.first})[/]")
|
|
52
52
|
filters = {'group-name' => [*filters]}
|
|
53
53
|
end
|
|
54
54
|
|
|
@@ -27,11 +27,11 @@ module Fog
|
|
|
27
27
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html]
|
|
28
28
|
def describe_snapshots(filters = {}, options = {})
|
|
29
29
|
unless filters.is_a?(Hash)
|
|
30
|
-
Fog::Logger.
|
|
30
|
+
Fog::Logger.deprecation("describe_snapshots with #{filters.class} param is deprecated, use describe_snapshots('snapshot-id' => []) instead [light_black](#{caller.first})[/]")
|
|
31
31
|
filters = {'snapshot-id' => [*filters]}
|
|
32
32
|
end
|
|
33
33
|
unless options.empty?
|
|
34
|
-
Fog::Logger.
|
|
34
|
+
Fog::Logger.deprecation("describe_snapshots with a second param is deprecated, use describe_snapshots(options) instead [light_black](#{caller.first})[/]")
|
|
35
35
|
end
|
|
36
36
|
|
|
37
37
|
for key in ['ExecutableBy', 'ImageId', 'Owner', 'RestorableBy']
|
|
@@ -54,11 +54,11 @@ module Fog
|
|
|
54
54
|
|
|
55
55
|
def describe_snapshots(filters = {}, options = {})
|
|
56
56
|
unless filters.is_a?(Hash)
|
|
57
|
-
Fog::Logger.
|
|
57
|
+
Fog::Logger.deprecation("describe_snapshots with #{filters.class} param is deprecated, use describe_snapshots('snapshot-id' => []) instead [light_black](#{caller.first})[/]")
|
|
58
58
|
filters = {'snapshot-id' => [*filters]}
|
|
59
59
|
end
|
|
60
60
|
unless options.empty?
|
|
61
|
-
Fog::Logger.
|
|
61
|
+
Fog::Logger.deprecation("describe_snapshots with a second param is deprecated, use describe_snapshots(options) instead [light_black](#{caller.first})[/]")
|
|
62
62
|
end
|
|
63
63
|
|
|
64
64
|
response = Excon::Response.new
|
|
@@ -31,7 +31,7 @@ module Fog
|
|
|
31
31
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeVolumes.html]
|
|
32
32
|
def describe_volumes(filters = {})
|
|
33
33
|
unless filters.is_a?(Hash)
|
|
34
|
-
Fog::Logger.
|
|
34
|
+
Fog::Logger.deprecation("describe_volumes with #{filters.class} param is deprecated, use describe_volumes('volume-id' => []) instead [light_black](#{caller.first})[/]")
|
|
35
35
|
filters = {'volume-id' => [*filters]}
|
|
36
36
|
end
|
|
37
37
|
params = Fog::AWS.indexed_filters(filters)
|
|
@@ -48,7 +48,7 @@ module Fog
|
|
|
48
48
|
|
|
49
49
|
def describe_volumes(filters = {})
|
|
50
50
|
unless filters.is_a?(Hash)
|
|
51
|
-
Fog::Logger.
|
|
51
|
+
Fog::Logger.deprecation("describe_volumes with #{filters.class} param is deprecated, use describe_volumes('volume-id' => []) instead [light_black](#{caller.first})[/]")
|
|
52
52
|
filters = {'volume-id' => [*filters]}
|
|
53
53
|
end
|
|
54
54
|
|
|
@@ -34,7 +34,7 @@ module Fog
|
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
def modify_instance_attributes(instance_id, attributes)
|
|
37
|
-
Fog::Logger.
|
|
37
|
+
Fog::Logger.deprecation("modify_instance_attributes method is deprecated, use 'modify_instance_attribute' instead")
|
|
38
38
|
modify_instance_attribute(instance_id, attributes)
|
|
39
39
|
end
|
|
40
40
|
|
data/lib/brightbox-cli/vendor/fog/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb
CHANGED
|
@@ -8,15 +8,28 @@ module Fog
|
|
|
8
8
|
# Remove permissions from a security group
|
|
9
9
|
#
|
|
10
10
|
# ==== Parameters
|
|
11
|
-
# *
|
|
11
|
+
# * group_name<~String> - Name of group
|
|
12
12
|
# * options<~Hash>:
|
|
13
13
|
# * 'SourceSecurityGroupName'<~String> - Name of security group to authorize
|
|
14
14
|
# * 'SourceSecurityGroupOwnerId'<~String> - Name of owner to authorize
|
|
15
15
|
# or
|
|
16
|
-
# * 'CidrIp' - CIDR range
|
|
17
|
-
# * 'FromPort' - Start of port range (or -1 for ICMP wildcard)
|
|
18
|
-
# * 'IpProtocol' - Ip protocol, must be in ['tcp', 'udp', 'icmp']
|
|
19
|
-
# * 'ToPort' - End of port range (or -1 for ICMP wildcard)
|
|
16
|
+
# * 'CidrIp'<~String> - CIDR range
|
|
17
|
+
# * 'FromPort'<~Integer> - Start of port range (or -1 for ICMP wildcard)
|
|
18
|
+
# * 'IpProtocol'<~String> - Ip protocol, must be in ['tcp', 'udp', 'icmp']
|
|
19
|
+
# * 'ToPort'<~Integer> - End of port range (or -1 for ICMP wildcard)
|
|
20
|
+
# or
|
|
21
|
+
# * 'IpPermissions'<~Array>:
|
|
22
|
+
# * permission<~Hash>:
|
|
23
|
+
# * 'FromPort'<~Integer> - Start of port range (or -1 for ICMP wildcard)
|
|
24
|
+
# * 'Groups'<~Array>:
|
|
25
|
+
# * group<~Hash>:
|
|
26
|
+
# * 'GroupName'<~String> - Name of security group to authorize
|
|
27
|
+
# * 'UserId'<~String> - Name of owner to authorize
|
|
28
|
+
# * 'IpProtocol'<~String> - Ip protocol, must be in ['tcp', 'udp', 'icmp']
|
|
29
|
+
# * 'IpRanges'<~Array>:
|
|
30
|
+
# * ip_range<~Hash>:
|
|
31
|
+
# * 'CidrIp'<~String> - CIDR range
|
|
32
|
+
# * 'ToPort'<~Integer> - End of port range (or -1 for ICMP wildcard)
|
|
20
33
|
#
|
|
21
34
|
# === Returns
|
|
22
35
|
# * response<~Excon::Response>:
|
|
@@ -27,10 +40,15 @@ module Fog
|
|
|
27
40
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-RevokeSecurityGroupIngress.html]
|
|
28
41
|
def revoke_security_group_ingress(group_name, options = {})
|
|
29
42
|
if group_name.is_a?(Hash)
|
|
30
|
-
Fog::Logger.
|
|
43
|
+
Fog::Logger.deprecation("Fog::AWS::Compute#revoke_security_group_ingress now requires the 'group_name' parameter. Only specifying an options hash is now deprecated [light_black](#{caller.first})[/]")
|
|
31
44
|
options = group_name
|
|
32
|
-
group_name = options
|
|
45
|
+
group_name = options.delete('GroupName')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
if ip_permissions = options.delete('IpPermissions')
|
|
49
|
+
options.merge!(indexed_ip_permissions_params(ip_permissions))
|
|
33
50
|
end
|
|
51
|
+
|
|
34
52
|
request({
|
|
35
53
|
'Action' => 'RevokeSecurityGroupIngress',
|
|
36
54
|
'GroupName' => group_name,
|
|
@@ -45,36 +63,30 @@ module Fog
|
|
|
45
63
|
|
|
46
64
|
def revoke_security_group_ingress(group_name, options = {})
|
|
47
65
|
if group_name.is_a?(Hash)
|
|
48
|
-
Fog::Logger.
|
|
66
|
+
Fog::Logger.deprecation("Fog::AWS::Compute#revoke_security_group_ingress now requires the 'group_name' parameter. Only specifying an options hash is now deprecated [light_black](#{caller.first})[/]")
|
|
49
67
|
options = group_name
|
|
50
|
-
group_name = options
|
|
68
|
+
group_name = options.delete('GroupName')
|
|
51
69
|
end
|
|
70
|
+
|
|
71
|
+
verify_permission_options(options)
|
|
72
|
+
|
|
52
73
|
response = Excon::Response.new
|
|
53
74
|
group = self.data[:security_groups][group_name]
|
|
75
|
+
|
|
54
76
|
if group
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
77
|
+
normalized_permissions = normalize_permissions(options)
|
|
78
|
+
|
|
79
|
+
normalized_permissions.each do |permission|
|
|
80
|
+
if matching_permission = find_matching_permission(group, permission)
|
|
81
|
+
matching_permission['ipRanges'] -= permission['ipRanges']
|
|
82
|
+
matching_permission['groups'] -= permission['groups']
|
|
83
|
+
|
|
84
|
+
if matching_permission['ipRanges'].empty? && matching_permission['groups'].empty?
|
|
85
|
+
group['ipPermissions'].delete(matching_permission)
|
|
61
86
|
end
|
|
62
87
|
end
|
|
63
|
-
else
|
|
64
|
-
ingress = group['ipPermissions'].select {|permission|
|
|
65
|
-
permission['fromPort'] == options['FromPort'] &&
|
|
66
|
-
permission['ipProtocol'] == options['IpProtocol'] &&
|
|
67
|
-
permission['toPort'] == options['ToPort'] &&
|
|
68
|
-
(
|
|
69
|
-
permission['ipRanges'].empty? ||
|
|
70
|
-
(
|
|
71
|
-
permission['ipRanges'].first &&
|
|
72
|
-
permission['ipRanges'].first['cidrIp'] == options['CidrIp']
|
|
73
|
-
)
|
|
74
|
-
)
|
|
75
|
-
}.first
|
|
76
|
-
group['ipPermissions'].delete(ingress)
|
|
77
88
|
end
|
|
89
|
+
|
|
78
90
|
response.status = 200
|
|
79
91
|
response.body = {
|
|
80
92
|
'requestId' => Fog::AWS::Mock.request_id,
|
|
@@ -59,10 +59,10 @@ module Fog
|
|
|
59
59
|
lb_names.map do |lb_name|
|
|
60
60
|
lb = self.data[:load_balancers].find { |name, data| name == lb_name }
|
|
61
61
|
raise Fog::AWS::ELB::NotFound unless lb
|
|
62
|
-
lb[1]
|
|
62
|
+
lb[1].dup
|
|
63
63
|
end.compact
|
|
64
64
|
else
|
|
65
|
-
self.data[:load_balancers].values
|
|
65
|
+
self.data[:load_balancers].map { |lb, values| values.dup }
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
response = Excon::Response.new
|
|
@@ -73,7 +73,7 @@ module Fog
|
|
|
73
73
|
'RequestId' => Fog::AWS::Mock.request_id
|
|
74
74
|
},
|
|
75
75
|
'DescribeLoadBalancersResult' => {
|
|
76
|
-
'LoadBalancerDescriptions' => load_balancers
|
|
76
|
+
'LoadBalancerDescriptions' => load_balancers.map { |lb| lb['Instances'] = lb['Instances'].map { |i| i['InstanceId'] }; lb }
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
|