gapinc-fog 1.12.1.2.1 → 1.14.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.travis.yml +16 -1
- data/Gemfile.1.8.7 +10 -0
- data/README.md +23 -2
- data/Rakefile +2 -2
- data/changelog.txt +276 -0
- data/fog.gemspec +4 -6
- data/lib/fog/atmos/models/storage/file.rb +2 -2
- data/lib/fog/aws/elb.rb +3 -0
- data/lib/fog/aws/elb/policy_types.rb +441 -430
- data/lib/fog/aws/models/auto_scaling/activities.rb +11 -3
- data/lib/fog/aws/models/auto_scaling/groups.rb +6 -3
- data/lib/fog/aws/models/auto_scaling/policies.rb +7 -3
- data/lib/fog/aws/models/compute/volume.rb +1 -1
- data/lib/fog/aws/models/elb/backend_server_description.rb +11 -0
- data/lib/fog/aws/models/elb/backend_server_descriptions.rb +22 -0
- data/lib/fog/aws/models/elb/load_balancer.rb +15 -2
- data/lib/fog/aws/models/elb/policies.rb +28 -13
- data/lib/fog/aws/models/elb/policy.rb +20 -10
- data/lib/fog/aws/models/rds/instance_option.rb +21 -0
- data/lib/fog/aws/models/rds/instance_options.rb +30 -0
- data/lib/fog/aws/models/rds/log_file.rb +26 -0
- data/lib/fog/aws/models/rds/log_files.rb +50 -0
- data/lib/fog/aws/models/rds/server.rb +1 -0
- data/lib/fog/aws/models/rds/snapshots.rb +20 -13
- data/lib/fog/aws/parsers/auto_scaling/describe_policies.rb +5 -5
- data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +44 -13
- data/lib/fog/aws/parsers/rds/db_parser.rb +28 -6
- data/lib/fog/aws/parsers/rds/describe_db_log_files.rb +44 -0
- data/lib/fog/aws/parsers/rds/describe_orderable_db_instance_options.rb +47 -0
- data/lib/fog/aws/parsers/rds/download_db_logfile_portion.rb +26 -0
- data/lib/fog/aws/parsers/storage/complete_multipart_upload.rb +1 -1
- data/lib/fog/aws/parsers/sts/assume_role.rb +30 -0
- data/lib/fog/aws/rds.rb +13 -0
- data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_groups.rb +9 -1
- data/lib/fog/aws/requests/auto_scaling/describe_policies.rb +15 -1
- data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +0 -2
- data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +0 -2
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +7 -0
- data/lib/fog/aws/requests/elb/create_load_balancer_policy.rb +11 -8
- data/lib/fog/aws/requests/elb/describe_load_balancers.rb +21 -1
- data/lib/fog/aws/requests/elb/set_load_balancer_policies_for_backend_server.rb +67 -0
- data/lib/fog/aws/requests/rds/describe_db_log_files.rb +67 -0
- data/lib/fog/aws/requests/rds/describe_orderable_db_instance_options.rb +76 -0
- data/lib/fog/aws/requests/rds/download_db_logfile_portion.rb +63 -0
- data/lib/fog/aws/requests/ses/send_raw_email.rb +1 -1
- data/lib/fog/aws/requests/ses/verify_domain_identity.rb +1 -1
- data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +6 -2
- data/lib/fog/aws/requests/storage/get_object.rb +1 -1
- data/lib/fog/aws/requests/sts/assume_role.rb +46 -0
- data/lib/fog/aws/ses.rb +25 -9
- data/lib/fog/aws/sts.rb +22 -6
- data/lib/fog/bin/openstack.rb +5 -0
- data/lib/fog/bin/rackspace.rb +4 -0
- data/lib/fog/brightbox/models/compute/collaboration.rb +10 -2
- data/lib/fog/brightbox/models/compute/collaborations.rb +26 -2
- data/lib/fog/brightbox/models/compute/user_collaboration.rb +16 -1
- data/lib/fog/brightbox/models/compute/user_collaborations.rb +10 -2
- data/lib/fog/cloudstack/models/compute/servers.rb +1 -1
- data/lib/fog/compute/models/server.rb +16 -10
- data/lib/fog/core.rb +1 -0
- data/lib/fog/core/collection.rb +18 -0
- data/lib/fog/core/mock.rb +16 -0
- data/lib/fog/digitalocean/compute.rb +32 -3
- data/lib/fog/digitalocean/models/compute/server.rb +43 -14
- data/lib/fog/digitalocean/models/compute/servers.rb +27 -4
- data/lib/fog/digitalocean/models/compute/ssh_keys.rb +2 -3
- data/lib/fog/digitalocean/requests/compute/create_server.rb +9 -7
- data/lib/fog/digitalocean/requests/compute/destroy_server.rb +3 -0
- data/lib/fog/digitalocean/requests/compute/list_images.rb +6 -6
- data/lib/fog/dnsimple/dns.rb +4 -1
- data/lib/fog/dnsimple/models/dns/record.rb +3 -3
- data/lib/fog/dnsimple/requests/dns/create_domain.rb +36 -0
- data/lib/fog/dnsimple/requests/dns/create_record.rb +27 -0
- data/lib/fog/dnsimple/requests/dns/delete_domain.rb +12 -0
- data/lib/fog/dnsimple/requests/dns/delete_record.rb +12 -0
- data/lib/fog/dnsimple/requests/dns/get_domain.rb +12 -0
- data/lib/fog/dnsimple/requests/dns/get_record.rb +24 -0
- data/lib/fog/dnsimple/requests/dns/list_domains.rb +12 -0
- data/lib/fog/dnsimple/requests/dns/list_records.rb +12 -0
- data/lib/fog/dnsimple/requests/dns/update_record.rb +20 -0
- data/lib/fog/glesys/models/compute/server.rb +6 -0
- data/lib/fog/google/README.md +28 -0
- data/lib/fog/google/Rakefile +17 -0
- data/lib/fog/google/examples/bootstrap.rb +9 -0
- data/lib/fog/google/examples/create.rb +37 -0
- data/lib/fog/google/examples/eric-fail.rb +19 -0
- data/lib/fog/google/examples/get_list_images.rb +27 -0
- data/lib/fog/google/examples/launch_micro_instance.rb +21 -0
- data/lib/fog/google/examples/metadata.rb +18 -0
- data/lib/fog/google/models/compute/disks.rb +16 -6
- data/lib/fog/google/models/compute/flavors.rb +2 -1
- data/lib/fog/google/models/compute/image.rb +16 -17
- data/lib/fog/google/models/compute/images.rb +38 -5
- data/lib/fog/google/models/compute/server.rb +2 -2
- data/lib/fog/google/models/compute/servers.rb +8 -5
- data/lib/fog/google/models/storage/file.rb +7 -1
- data/lib/fog/google/parsers/storage/access_control_list.rb +2 -2
- data/lib/fog/google/requests/compute/insert_server.rb +1 -2
- data/lib/fog/google/requests/compute/list_images.rb +3 -2
- data/lib/fog/google/requests/storage/get_object.rb +1 -1
- data/lib/fog/hp/requests/storage/get_object.rb +1 -1
- data/lib/fog/ibm/requests/compute/create_instance.rb +20 -15
- data/lib/fog/internet_archive/requests/storage/get_object.rb +1 -1
- data/lib/fog/metering.rb +25 -0
- data/lib/fog/openstack.rb +2 -1
- data/lib/fog/openstack/metering.rb +215 -0
- data/lib/fog/openstack/models/compute/server.rb +5 -2
- data/lib/fog/openstack/models/metering/resource.rb +24 -0
- data/lib/fog/openstack/models/metering/resources.rb +25 -0
- data/lib/fog/openstack/models/volume/volume.rb +3 -1
- data/lib/fog/openstack/models/volume/volumes.rb +2 -1
- data/lib/fog/openstack/network.rb +24 -1
- data/lib/fog/openstack/requests/compute/create_server.rb +19 -1
- data/lib/fog/openstack/requests/compute/get_host_details.rb +2 -1
- data/lib/fog/openstack/requests/metering/get_resource.rb +32 -0
- data/lib/fog/openstack/requests/metering/get_samples.rb +55 -0
- data/lib/fog/openstack/requests/metering/get_statistics.rb +56 -0
- data/lib/fog/openstack/requests/metering/list_meters.rb +50 -0
- data/lib/fog/openstack/requests/metering/list_resources.rb +32 -0
- data/lib/fog/openstack/requests/network/delete_quota.rb +26 -0
- data/lib/fog/openstack/requests/network/get_quota.rb +31 -0
- data/lib/fog/openstack/requests/network/get_quotas.rb +31 -0
- data/lib/fog/openstack/requests/network/update_quota.rb +33 -0
- data/lib/fog/openstack/requests/storage/put_object.rb +8 -5
- data/lib/fog/openstack/requests/volume/create_volume.rb +4 -2
- data/lib/fog/rackspace.rb +24 -4
- data/lib/fog/rackspace/block_storage.rb +8 -4
- data/lib/fog/rackspace/cdn.rb +21 -4
- data/lib/fog/rackspace/compute_v2.rb +15 -4
- data/lib/fog/rackspace/errors.rb +12 -5
- data/lib/fog/rackspace/mock_data.rb +18 -7
- data/lib/fog/rackspace/models/compute_v2/key_pair.rb +56 -0
- data/lib/fog/rackspace/models/compute_v2/key_pairs.rb +43 -0
- data/lib/fog/rackspace/models/compute_v2/server.rb +7 -2
- data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -1
- data/lib/fog/rackspace/models/identity/service_catalog.rb +34 -16
- data/lib/fog/rackspace/models/monitoring/agent_token.rb +40 -0
- data/lib/fog/rackspace/models/monitoring/agent_tokens.rb +28 -0
- data/lib/fog/rackspace/models/monitoring/alarm.rb +51 -0
- data/lib/fog/rackspace/models/monitoring/alarm_example.rb +26 -0
- data/lib/fog/rackspace/models/monitoring/alarm_examples.rb +31 -0
- data/lib/fog/rackspace/models/monitoring/alarms.rb +40 -0
- data/lib/fog/rackspace/models/monitoring/base.rb +36 -0
- data/lib/fog/rackspace/models/monitoring/check.rb +75 -0
- data/lib/fog/rackspace/models/monitoring/check_type.rb +15 -0
- data/lib/fog/rackspace/models/monitoring/check_types.rb +23 -0
- data/lib/fog/rackspace/models/monitoring/checks.rb +40 -0
- data/lib/fog/rackspace/models/monitoring/data_point.rb +18 -0
- data/lib/fog/rackspace/models/monitoring/data_points.rb +49 -0
- data/lib/fog/rackspace/models/monitoring/entities.rb +48 -0
- data/lib/fog/rackspace/models/monitoring/entity.rb +64 -0
- data/lib/fog/rackspace/models/monitoring/metric.rb +25 -0
- data/lib/fog/rackspace/models/monitoring/metrics.rb +27 -0
- data/lib/fog/rackspace/monitoring.rb +149 -0
- data/lib/fog/rackspace/requests/compute_v2/create_keypair.rb +53 -0
- data/lib/fog/rackspace/requests/compute_v2/create_server.rb +10 -8
- data/lib/fog/rackspace/requests/compute_v2/delete_keypair.rb +36 -0
- data/lib/fog/rackspace/requests/compute_v2/get_keypair.rb +41 -0
- data/lib/fog/rackspace/requests/compute_v2/list_keypairs.rb +37 -0
- data/lib/fog/rackspace/requests/monitoring/create_agent_token.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/create_alarm.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/create_check.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/create_entity.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/delete_agent_token.rb +17 -0
- data/lib/fog/rackspace/requests/monitoring/delete_alarm.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/delete_check.rb +17 -0
- data/lib/fog/rackspace/requests/monitoring/delete_entity.rb +17 -0
- data/lib/fog/rackspace/requests/monitoring/evaluate_alarm_example.rb +21 -0
- data/lib/fog/rackspace/requests/monitoring/get_agent_token.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/get_alarm.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/get_alarm_example.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/get_check.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/get_entity.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/list_agent_tokens.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/list_alarm_examples.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/list_alarms.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/list_check_types.rb +17 -0
- data/lib/fog/rackspace/requests/monitoring/list_checks.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/list_data_points.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/list_entities.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/list_metrics.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/list_notification_plans.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/list_overview.rb +19 -0
- data/lib/fog/rackspace/requests/monitoring/update_alarm.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/update_check.rb +18 -0
- data/lib/fog/rackspace/requests/monitoring/update_entity.rb +18 -0
- data/lib/fog/rackspace/requests/storage/delete_multiple_objects.rb +75 -0
- data/lib/fog/rackspace/requests/storage/delete_static_large_object.rb +50 -0
- data/lib/fog/rackspace/requests/storage/put_dynamic_obj_manifest.rb +44 -0
- data/lib/fog/rackspace/requests/storage/put_object.rb +1 -1
- data/lib/fog/rackspace/requests/storage/put_object_manifest.rb +3 -30
- data/lib/fog/rackspace/requests/storage/put_static_obj_manifest.rb +60 -0
- data/lib/fog/rackspace/storage.rb +24 -16
- data/lib/fog/riakcs/provisioning.rb +2 -1
- data/lib/fog/riakcs/usage.rb +2 -1
- data/lib/fog/vcloud/compute.rb +1 -1
- data/lib/fog/vcloud/requests/compute/configure_vm.rb +2 -2
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vsphere/compute.rb +131 -0
- data/lib/fog/vsphere/models/compute/server.rb +5 -1
- data/lib/fog/vsphere/requests/compute/get_datacenter.rb +3 -1
- data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +20 -38
- data/lib/fog/vsphere/requests/compute/list_datacenters.rb +1 -0
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +8 -114
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +18 -9
- data/lib/fog/vsphere/requests/compute/vm_power_off.rb +2 -0
- data/lib/fog/xenserver/compute.rb +14 -12
- data/lib/fog/xenserver/models/compute/console.rb +27 -0
- data/lib/fog/xenserver/models/compute/consoles.rb +25 -0
- data/lib/fog/xenserver/models/compute/server.rb +6 -2
- data/lib/fog/xenserver/models/compute/servers.rb +5 -0
- data/lib/fog/xenserver/requests/compute/create_server.rb +4 -0
- data/lib/fog/xml/sax_parser_connection.rb +3 -0
- data/lib/tasks/changelog_task.rb +2 -0
- data/tests/aws/models/compute/volume_tests.rb +1 -1
- data/tests/aws/models/elb/model_tests.rb +28 -1
- data/tests/aws/models/rds/instance_option_tests.rb +14 -0
- data/tests/aws/parsers/elb/describe_load_balancers.rb +65 -0
- data/tests/aws/requests/elb/helper.rb +2 -1
- data/tests/aws/requests/elb/listener_tests.rb +1 -1
- data/tests/aws/requests/elb/load_balancer_tests.rb +5 -1
- data/tests/aws/requests/elb/policy_tests.rb +85 -6
- data/tests/aws/requests/iam/helper.rb +4 -1
- data/tests/aws/requests/iam/server_certificate_tests.rb +2 -2
- data/tests/aws/requests/rds/helper.rb +35 -0
- data/tests/aws/requests/rds/instance_option_tests.rb +21 -0
- data/tests/aws/requests/rds/log_file_tests.rb +19 -0
- data/tests/aws/requests/sts/assume_role_tests.rb +19 -0
- data/tests/core/mocking_tests.rb +15 -0
- data/tests/digitalocean/helper.rb +23 -16
- data/tests/digitalocean/models/compute/flavor_tests.rb +2 -2
- data/tests/digitalocean/models/compute/image_tests.rb +2 -2
- data/tests/digitalocean/models/compute/region_tests.rb +2 -2
- data/tests/digitalocean/models/compute/server_tests.rb +11 -3
- data/tests/digitalocean/models/compute/servers_tests.rb +14 -28
- data/tests/digitalocean/models/compute/ssh_key_tests.rb +7 -3
- data/tests/digitalocean/models/compute/ssh_keys_tests.rb +5 -1
- data/tests/digitalocean/requests/compute/create_server_tests.rb +3 -6
- data/tests/digitalocean/requests/compute/destroy_server_tests.rb +1 -2
- data/tests/digitalocean/requests/compute/get_server_details_tests.rb +1 -1
- data/tests/digitalocean/requests/compute/get_ssh_key_tests.rb +4 -1
- data/tests/digitalocean/requests/compute/list_ssh_keys_tests.rb +5 -2
- data/tests/dnsimple/requests/dns/dns_tests.rb +30 -26
- data/tests/helper.rb +2 -2
- data/tests/helpers/collection_helper.rb +4 -4
- data/tests/helpers/mock_helper.rb +2 -0
- data/tests/openstack/requests/metering/meter_tests.rb +52 -0
- data/tests/openstack/requests/metering/resource_tests.rb +19 -0
- data/tests/openstack/requests/network/quota_tests.rb +65 -0
- data/tests/openstack/requests/storage/object_tests.rb +27 -2
- data/tests/rackspace/block_storage_tests.rb +2 -1
- data/tests/rackspace/cdn_tests.rb +9 -0
- data/tests/rackspace/compute_v2_tests.rb +16 -15
- data/tests/rackspace/databases_tests.rb +1 -1
- data/tests/rackspace/load_balancer_tests.rb +1 -1
- data/tests/rackspace/models/compute_v2/keypairs_tests.rb +47 -0
- data/tests/rackspace/models/identity/service_catalog_tests.rb +54 -29
- data/tests/rackspace/models/monitoring/agent_token_tests.rb +9 -0
- data/tests/rackspace/models/monitoring/agent_tokens_tests.rb +9 -0
- data/tests/rackspace/models/monitoring/alarm_example_tests.rb +18 -0
- data/tests/rackspace/models/monitoring/alarm_examples_tests.rb +19 -0
- data/tests/rackspace/models/monitoring/alarm_tests.rb +56 -0
- data/tests/rackspace/models/monitoring/alarms_tests.rb +25 -0
- data/tests/rackspace/models/monitoring/check_tests.rb +50 -0
- data/tests/rackspace/models/monitoring/check_types_tests.rb +14 -0
- data/tests/rackspace/models/monitoring/checks_tests.rb +16 -0
- data/tests/rackspace/models/monitoring/data_points_tests.rb +19 -0
- data/tests/rackspace/models/monitoring/entities_tests.rb +14 -0
- data/tests/rackspace/models/monitoring/entity_tests.rb +26 -0
- data/tests/rackspace/models/monitoring/metric_tests.rb +19 -0
- data/tests/rackspace/models/monitoring/metrics_tests.rb +17 -0
- data/tests/rackspace/monitoring_tests.rb +72 -0
- data/tests/rackspace/requests/compute_v2/keypair_tests.rb +55 -0
- data/tests/rackspace/requests/monitoring/agent_tests.rb +34 -0
- data/tests/rackspace/requests/monitoring/alarm_example_tests.rb +30 -0
- data/tests/rackspace/requests/monitoring/alarm_tests.rb +56 -0
- data/tests/rackspace/requests/monitoring/check_tests.rb +40 -0
- data/tests/rackspace/requests/monitoring/entity_tests.rb +37 -0
- data/tests/rackspace/requests/monitoring/helper.rb +78 -0
- data/tests/rackspace/requests/monitoring/list_tests.rb +60 -0
- data/tests/rackspace/requests/storage/large_object_tests.rb +303 -59
- data/tests/rackspace/requests/storage/object_tests.rb +73 -18
- data/tests/vsphere/models/compute/server_tests.rb +1 -1
- data/tests/vsphere/requests/compute/list_virtual_machines_tests.rb +2 -2
- data/tests/vsphere/requests/compute/vm_clone_tests.rb +14 -8
- data/tests/xenserver/compute_tests.rb +5 -5
- data/tests/xenserver/models/compute/console_test.rb +35 -0
- data/tests/xenserver/models/compute/consoles_test.rb +19 -0
- data/tests/xenserver/models/compute/server_tests.rb +25 -18
- data/tests/xenserver/models/compute/servers_tests.rb +1 -0
- metadata +177 -14
@@ -20,13 +20,13 @@ module Fog
|
|
20
20
|
def reset_alarm
|
21
21
|
@alarm = {}
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
def start_element(name, attrs = [])
|
25
25
|
super
|
26
26
|
case name
|
27
27
|
when 'Alarms'
|
28
|
-
@in_alarms = true
|
29
|
-
end
|
28
|
+
@in_alarms = true
|
29
|
+
end
|
30
30
|
end
|
31
31
|
|
32
32
|
def end_element(name)
|
@@ -36,7 +36,7 @@ module Fog
|
|
36
36
|
|
37
37
|
when 'AdjustmentType', 'AutoScalingGroupName', 'PolicyARN', 'PolicyName'
|
38
38
|
@scaling_policy[name] = value
|
39
|
-
when 'Cooldown', 'ScalingAdjustment'
|
39
|
+
when 'Cooldown', 'MinAdjustmentStep', 'ScalingAdjustment'
|
40
40
|
@scaling_policy[name] = value.to_i
|
41
41
|
|
42
42
|
when 'NextToken'
|
@@ -47,7 +47,7 @@ module Fog
|
|
47
47
|
|
48
48
|
when 'DescribePoliciesResponse'
|
49
49
|
@response['DescribePoliciesResult'] = @results
|
50
|
-
|
50
|
+
|
51
51
|
when 'Alarms'
|
52
52
|
@in_alarms = false
|
53
53
|
when 'member'
|
@@ -8,21 +8,26 @@ module Fog
|
|
8
8
|
def reset
|
9
9
|
reset_load_balancer
|
10
10
|
reset_listener_description
|
11
|
-
|
11
|
+
reset_stickiness_policy
|
12
|
+
reset_backend_server_description
|
12
13
|
@results = { 'LoadBalancerDescriptions' => [] }
|
13
14
|
@response = { 'DescribeLoadBalancersResult' => {}, 'ResponseMetadata' => {} }
|
14
15
|
end
|
15
16
|
|
16
17
|
def reset_load_balancer
|
17
|
-
@load_balancer = { 'Subnets' => [], 'SecurityGroups' => [], 'ListenerDescriptions' => [], 'Instances' => [], 'AvailabilityZones' => [], 'Policies' => {'AppCookieStickinessPolicies' => [], 'LBCookieStickinessPolicies' => [] }, 'HealthCheck' => {}, 'SourceSecurityGroup' => {} }
|
18
|
+
@load_balancer = { 'Subnets' => [], 'SecurityGroups' => [], 'ListenerDescriptions' => [], 'Instances' => [], 'AvailabilityZones' => [], 'Policies' => {'AppCookieStickinessPolicies' => [], 'LBCookieStickinessPolicies' => [], 'OtherPolicies' => []}, 'HealthCheck' => {}, 'SourceSecurityGroup' => {}, 'BackendServerDescriptions' => [] }
|
18
19
|
end
|
19
20
|
|
20
21
|
def reset_listener_description
|
21
22
|
@listener_description = { 'PolicyNames' => [], 'Listener' => {} }
|
22
23
|
end
|
23
24
|
|
24
|
-
def
|
25
|
-
@
|
25
|
+
def reset_backend_server_description
|
26
|
+
@backend_server_description = {}
|
27
|
+
end
|
28
|
+
|
29
|
+
def reset_stickiness_policy
|
30
|
+
@stickiness_policy = {}
|
26
31
|
end
|
27
32
|
|
28
33
|
def start_element(name, attrs = [])
|
@@ -46,13 +51,19 @@ module Fog
|
|
46
51
|
@in_lb_cookies = true
|
47
52
|
when 'AppCookieStickinessPolicies'
|
48
53
|
@in_app_cookies = true
|
54
|
+
when 'AppCookieStickinessPolicies'
|
55
|
+
@in_app_cookies = true
|
56
|
+
when 'OtherPolicies'
|
57
|
+
@in_other_policies = true
|
58
|
+
when 'BackendServerDescriptions'
|
59
|
+
@in_backend_server_descriptions = true
|
49
60
|
end
|
50
61
|
end
|
51
62
|
|
52
63
|
def end_element(name)
|
53
64
|
case name
|
54
65
|
when 'member'
|
55
|
-
if @in_policy_names
|
66
|
+
if @in_policy_names && @in_listeners
|
56
67
|
@listener_description['PolicyNames'] << value
|
57
68
|
elsif @in_availability_zones
|
58
69
|
@load_balancer['AvailabilityZones'] << value
|
@@ -64,16 +75,34 @@ module Fog
|
|
64
75
|
@load_balancer['ListenerDescriptions'] << @listener_description
|
65
76
|
reset_listener_description
|
66
77
|
elsif @in_app_cookies
|
67
|
-
@load_balancer['Policies']['AppCookieStickinessPolicies'] << @
|
68
|
-
|
78
|
+
@load_balancer['Policies']['AppCookieStickinessPolicies'] << @stickiness_policy
|
79
|
+
reset_stickiness_policy
|
69
80
|
elsif @in_lb_cookies
|
70
|
-
@load_balancer['Policies']['LBCookieStickinessPolicies'] << @
|
71
|
-
|
72
|
-
elsif
|
81
|
+
@load_balancer['Policies']['LBCookieStickinessPolicies'] << @stickiness_policy
|
82
|
+
reset_stickiness_policy
|
83
|
+
elsif @in_other_policies
|
84
|
+
@load_balancer['Policies']['OtherPolicies'] << value
|
85
|
+
elsif @in_backend_server_descriptions && @in_policy_names
|
86
|
+
@backend_server_description['PolicyNames'] ||= []
|
87
|
+
@backend_server_description['PolicyNames'] << value
|
88
|
+
elsif @in_backend_server_descriptions && !@in_policy_names
|
89
|
+
@load_balancer['BackendServerDescriptions'] << @backend_server_description
|
90
|
+
reset_backend_server_description
|
91
|
+
elsif !@in_instances && !@in_policies && !@in_backend_server_descriptions
|
73
92
|
@results['LoadBalancerDescriptions'] << @load_balancer
|
74
93
|
reset_load_balancer
|
75
94
|
end
|
76
95
|
|
96
|
+
when 'BackendServerDescriptions'
|
97
|
+
@in_backend_server_descriptions = false
|
98
|
+
|
99
|
+
when 'InstancePort'
|
100
|
+
if @in_backend_server_descriptions
|
101
|
+
@backend_server_description[name] = value.to_i
|
102
|
+
elsif @in_listeners
|
103
|
+
@listener_description['Listener'][name] = value.to_i
|
104
|
+
end
|
105
|
+
|
77
106
|
when 'CanonicalHostedZoneName', 'CanonicalHostedZoneNameID', 'LoadBalancerName', 'DNSName', 'Scheme'
|
78
107
|
@load_balancer[name] = value
|
79
108
|
when 'CreatedTime'
|
@@ -85,7 +114,7 @@ module Fog
|
|
85
114
|
@in_policy_names = false
|
86
115
|
when 'Protocol', 'SSLCertificateId', 'InstanceProtocol'
|
87
116
|
@listener_description['Listener'][name] = value
|
88
|
-
when 'LoadBalancerPort'
|
117
|
+
when 'LoadBalancerPort'
|
89
118
|
@listener_description['Listener'][name] = value.to_i
|
90
119
|
|
91
120
|
when 'Instances'
|
@@ -108,6 +137,8 @@ module Fog
|
|
108
137
|
@in_app_cookies = false
|
109
138
|
when 'LBCookieStickinessPolicies'
|
110
139
|
@in_lb_cookies = false
|
140
|
+
when 'OtherPolicies'
|
141
|
+
@in_other_policies = false
|
111
142
|
|
112
143
|
when 'OwnerAlias', 'GroupName'
|
113
144
|
@load_balancer['SourceSecurityGroup'][name] = value
|
@@ -118,9 +149,9 @@ module Fog
|
|
118
149
|
@load_balancer['HealthCheck'][name] = value
|
119
150
|
|
120
151
|
when 'PolicyName', 'CookieName'
|
121
|
-
@
|
152
|
+
@stickiness_policy[name] = value
|
122
153
|
when 'CookieExpirationPeriod'
|
123
|
-
@
|
154
|
+
@stickiness_policy[name] = value.to_i
|
124
155
|
|
125
156
|
when 'RequestId'
|
126
157
|
@response['ResponseMetadata'][name] = value
|
@@ -33,6 +33,11 @@ module Fog
|
|
33
33
|
when 'DBParameterGroups'
|
34
34
|
@in_db_parameter_groups = true
|
35
35
|
@db_parameter_groups = []
|
36
|
+
when 'VpcSecurityGroupMembership'
|
37
|
+
@vpc_security_group = {}
|
38
|
+
when 'VpcSecurityGroups'
|
39
|
+
@in_vpc_security_groups = true
|
40
|
+
@vpc_security_groups = []
|
36
41
|
end
|
37
42
|
|
38
43
|
end
|
@@ -47,9 +52,9 @@ module Fog
|
|
47
52
|
'DBInstanceStatus', 'DBInstanceIdentifier', 'EngineVersion',
|
48
53
|
'PreferredBackupWindow', 'PreferredMaintenanceWindow',
|
49
54
|
'AvailabilityZone', 'MasterUsername', 'DBName', 'LicenseModel',
|
50
|
-
'DBSubnetGroupName'
|
55
|
+
'DBSubnetGroupName'
|
51
56
|
@db_instance[name] = value
|
52
|
-
when 'MultiAZ', 'AutoMinorVersionUpgrade'
|
57
|
+
when 'MultiAZ', 'AutoMinorVersionUpgrade', 'PubliclyAccessible'
|
53
58
|
if value == 'false'
|
54
59
|
@db_instance[name] = false
|
55
60
|
else
|
@@ -81,20 +86,37 @@ module Fog
|
|
81
86
|
when 'DBSecurityGroups'
|
82
87
|
@in_db_security_groups = false
|
83
88
|
@db_instance['DBSecurityGroups'] = @db_security_groups
|
84
|
-
when '
|
85
|
-
|
86
|
-
@db_security_group[name]=value
|
87
|
-
end
|
89
|
+
when 'DBSecurityGroupName'
|
90
|
+
@db_security_group[name]=value
|
88
91
|
when 'DBSecurityGroup'
|
89
92
|
@db_security_groups << @db_security_group
|
90
93
|
@db_security_group = {}
|
91
94
|
|
95
|
+
when 'VpcSecurityGroups'
|
96
|
+
@in_vpc_security_groups = false
|
97
|
+
@db_instance['VpcSecurityGroups'] = @vpc_security_groups
|
98
|
+
when 'VpcSecurityGroupMembership'
|
99
|
+
@vpc_security_groups << @vpc_security_group
|
100
|
+
@vpc_security_group = {}
|
101
|
+
when 'VpcSecurityGroupId'
|
102
|
+
@vpc_security_group[name] = value
|
92
103
|
when 'AllocatedStorage'
|
93
104
|
if @in_pending_modified_values
|
94
105
|
@pending_modified_values[name] = value.to_i
|
95
106
|
else
|
96
107
|
@db_instance[name] = value.to_i
|
97
108
|
end
|
109
|
+
|
110
|
+
when 'Status'
|
111
|
+
# Unfortunately, status is used in VpcSecurityGroupMemebership and
|
112
|
+
# DBSecurityGroups
|
113
|
+
if @in_db_security_groups
|
114
|
+
@db_security_group[name]=value
|
115
|
+
end
|
116
|
+
if @in_vpc_security_groups
|
117
|
+
@vpc_security_group[name] = value
|
118
|
+
end
|
119
|
+
|
98
120
|
when 'Address'
|
99
121
|
@endpoint[name] = value
|
100
122
|
when 'Port'
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module RDS
|
5
|
+
|
6
|
+
class DescribeDBLogFiles < Fog::Parsers::Base
|
7
|
+
|
8
|
+
attr_reader :rds_id
|
9
|
+
|
10
|
+
def initialize(rds_id)
|
11
|
+
@rds_id = rds_id
|
12
|
+
super()
|
13
|
+
end
|
14
|
+
|
15
|
+
def reset
|
16
|
+
@response = { 'DescribeDBLogFilesResult' => {'DBLogFiles' => []}, 'ResponseMetadata' => {} }
|
17
|
+
fresh_log_file
|
18
|
+
end
|
19
|
+
|
20
|
+
def fresh_log_file
|
21
|
+
@db_log_file = {'DBInstanceIdentifier' => @rds_id}
|
22
|
+
end
|
23
|
+
|
24
|
+
def start_element(name, attrs = [])
|
25
|
+
super
|
26
|
+
end
|
27
|
+
|
28
|
+
def end_element(name)
|
29
|
+
case name
|
30
|
+
when 'LastWritten' then @db_log_file[name] = Time.at(value.to_i / 1000)
|
31
|
+
when 'LogFileName' then @db_log_file[name] = value
|
32
|
+
when 'Size' then @db_log_file[name] = value.to_i
|
33
|
+
when 'DescribeDBLogFilesDetails'
|
34
|
+
@response['DescribeDBLogFilesResult']['DBLogFiles'] << @db_log_file
|
35
|
+
fresh_log_file
|
36
|
+
when 'Marker' then @response['DescribeDBLogFilesResult'][name] = value
|
37
|
+
when 'RequestId' then @response['ResponseMetadata'][name] = value
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module RDS
|
5
|
+
|
6
|
+
class DescribeOrderableDBInstanceOptions < Fog::Parsers::Base
|
7
|
+
|
8
|
+
def reset
|
9
|
+
@response = { 'DescribeOrderableDBInstanceOptionsResult' => {'OrderableDBInstanceOptions' => []}, 'ResponseMetadata' => {} }
|
10
|
+
@db_instance_option = {}
|
11
|
+
@db_instance_options = []
|
12
|
+
end
|
13
|
+
|
14
|
+
def start_element(name, attrs = [])
|
15
|
+
case name
|
16
|
+
when 'AvailabilityZones' then @availability_zones = []
|
17
|
+
when 'AvailabilityZone' then @availability_zone = {}
|
18
|
+
end
|
19
|
+
super
|
20
|
+
end
|
21
|
+
|
22
|
+
def end_element(name)
|
23
|
+
case name
|
24
|
+
when 'MultiAZCapable', 'ReadReplicaCapable', 'Vpc' then @db_instance_option[name] = to_boolean(value)
|
25
|
+
when 'Engine', 'LicenseModel', 'EngineVersion', 'DBInstanceClass' then @db_instance_option[name] = value
|
26
|
+
when 'AvailabilityZones' then @db_instance_option[name] = @availability_zones
|
27
|
+
when 'AvailabilityZone' then @availability_zones << @availability_zone unless @availability_zone.empty?
|
28
|
+
when 'Name' then @availability_zone[name] = value
|
29
|
+
when 'ProvisionedIopsCapable' then @availability_zone[name] = to_boolean(value)
|
30
|
+
when 'OrderableDBInstanceOption'
|
31
|
+
@db_instance_options << @db_instance_option
|
32
|
+
@db_instance_option = {}
|
33
|
+
when 'OrderableDBInstanceOptions'
|
34
|
+
@response['DescribeOrderableDBInstanceOptionsResult']['OrderableDBInstanceOptions'] = @db_instance_options
|
35
|
+
when 'Marker' then @response['DescribeOrderableDBInstanceOptionsResult'][name] = value
|
36
|
+
when 'RequestId' then @response['ResponseMetadata'][name] = value
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def to_boolean(v)
|
41
|
+
(v =~ /\A\s*(true|yes|1|y)\s*$/i) == 0
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module RDS
|
5
|
+
|
6
|
+
class DownloadDBLogFilePortion < Fog::Parsers::Base
|
7
|
+
|
8
|
+
def reset
|
9
|
+
@response = { 'DownloadDBLogFilePortionResult' => {}, 'ResponseMetadata' => {} }
|
10
|
+
end
|
11
|
+
|
12
|
+
def start_element(name, attrs = [])
|
13
|
+
super
|
14
|
+
end
|
15
|
+
|
16
|
+
def end_element(name)
|
17
|
+
key = (name == 'RequestId') ? 'ResponseMetadata' : 'DownloadDBLogFilePortionResult'
|
18
|
+
@response[key][name] = value
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module STS
|
5
|
+
|
6
|
+
class AssumeRole < Fog::Parsers::Base
|
7
|
+
|
8
|
+
def reset
|
9
|
+
@response = {}
|
10
|
+
end
|
11
|
+
|
12
|
+
def end_element(name)
|
13
|
+
case name
|
14
|
+
when 'SessionToken', 'SecretAccessKey', 'Expiration', 'AccessKeyId'
|
15
|
+
@response[name] = @value.strip
|
16
|
+
when 'Arn', 'AssumedRoleId'
|
17
|
+
@response[name] = @value.strip
|
18
|
+
when 'PackedPolicySize'
|
19
|
+
@response[name] = @value
|
20
|
+
when 'RequestId'
|
21
|
+
@response[name] = @value
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/fog/aws/rds.rb
CHANGED
@@ -51,11 +51,18 @@ module Fog
|
|
51
51
|
request :describe_db_subnet_groups
|
52
52
|
# TODO: :delete_db_subnet_group, :modify_db_subnet_group
|
53
53
|
|
54
|
+
request :describe_orderable_db_instance_options
|
55
|
+
|
56
|
+
request :describe_db_log_files
|
57
|
+
request :download_db_logfile_portion
|
58
|
+
|
54
59
|
model_path 'fog/aws/models/rds'
|
55
60
|
model :server
|
56
61
|
collection :servers
|
62
|
+
|
57
63
|
model :snapshot
|
58
64
|
collection :snapshots
|
65
|
+
|
59
66
|
model :parameter_group
|
60
67
|
collection :parameter_groups
|
61
68
|
|
@@ -68,6 +75,12 @@ module Fog
|
|
68
75
|
model :subnet_group
|
69
76
|
collection :subnet_groups
|
70
77
|
|
78
|
+
model :instance_option
|
79
|
+
collection :instance_options
|
80
|
+
|
81
|
+
model :log_file
|
82
|
+
collection :log_files
|
83
|
+
|
71
84
|
class Mock
|
72
85
|
|
73
86
|
def self.data
|
@@ -111,7 +111,15 @@ module Fog
|
|
111
111
|
|
112
112
|
def describe_auto_scaling_groups(options = {})
|
113
113
|
results = { 'AutoScalingGroups' => [] }
|
114
|
-
self.data[:auto_scaling_groups]
|
114
|
+
asg_set = self.data[:auto_scaling_groups]
|
115
|
+
|
116
|
+
if !options["AutoScalingGroupNames"].nil?
|
117
|
+
asg_set = asg_set.reject do |asg_name, asg_data|
|
118
|
+
![*options["AutoScalingGroupNames"]].include?(asg_name)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
asg_set.each do |asg_name, asg_data|
|
115
123
|
results['AutoScalingGroups'] << {
|
116
124
|
'AutoScalingGroupName' => asg_name
|
117
125
|
}.merge!(asg_data)
|
@@ -76,7 +76,21 @@ module Fog
|
|
76
76
|
|
77
77
|
def describe_policies(options = {})
|
78
78
|
results = { 'ScalingPolicies' => [] }
|
79
|
-
self.data[:scaling_policies]
|
79
|
+
policy_set = self.data[:scaling_policies]
|
80
|
+
|
81
|
+
for opt_key, opt_value in options
|
82
|
+
if opt_key == "PolicyNames" && opt_value != nil && opt_value != ""
|
83
|
+
policy_set = policy_set.reject do |asp_name, asp_data|
|
84
|
+
![*options["PolicyNames"]].include?(asp_name)
|
85
|
+
end
|
86
|
+
elsif opt_key == "AutoScalingGroupName" && opt_value != nil && opt_value != ""
|
87
|
+
policy_set = policy_set.reject do |asp_name, asp_data|
|
88
|
+
options["AutoScalingGroupName"] != asp_data["AutoScalingGroupName"]
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
policy_set.each do |asp_name, asp_data|
|
80
94
|
results['ScalingPolicies'] << {
|
81
95
|
'PolicyName' => asp_name
|
82
96
|
}.merge!(asp_data)
|