fog 0.9.0 → 0.10.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/Rakefile +7 -4
- data/bin/fog +4 -1
- data/changelog.txt +464 -0
- data/docs/index.markdown +2 -2
- data/fog.gemspec +11 -11
- data/lib/fog.rb +1 -1
- data/lib/fog/aws/auto_scaling.rb +221 -0
- data/lib/fog/aws/cloud_formation.rb +1 -1
- data/lib/fog/aws/cloud_watch.rb +110 -0
- data/lib/fog/aws/elb.rb +58 -26
- data/lib/fog/aws/iam.rb +65 -13
- data/lib/fog/aws/models/auto_scaling/activities.rb +30 -0
- data/lib/fog/aws/models/auto_scaling/activity.rb +29 -0
- data/lib/fog/aws/models/auto_scaling/configuration.rb +63 -0
- data/lib/fog/aws/models/auto_scaling/configurations.rb +35 -0
- data/lib/fog/aws/models/auto_scaling/group.rb +140 -0
- data/lib/fog/aws/models/auto_scaling/groups.rb +35 -0
- data/lib/fog/aws/models/auto_scaling/instance.rb +60 -0
- data/lib/fog/aws/models/auto_scaling/instances.rb +30 -0
- data/lib/fog/aws/models/cloud_watch/metric.rb +14 -0
- data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +46 -0
- data/lib/fog/aws/models/cloud_watch/metric_statistics.rb +23 -0
- data/lib/fog/aws/models/cloud_watch/metrics.rb +32 -0
- data/lib/fog/aws/models/elb/listener.rb +6 -0
- data/lib/fog/aws/models/elb/listeners.rb +2 -2
- data/lib/fog/aws/models/elb/load_balancer.rb +8 -5
- data/lib/fog/aws/models/rds/server.rb +3 -1
- data/lib/fog/aws/parsers/auto_scaling/basic.rb +28 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_adjustment_types.rb +39 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_groups.rb +126 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_auto_scaling_instances.rb +43 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_launch_configurations.rb +94 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_metric_collection_types.rb +66 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_policies.rb +66 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_scaling_activities.rb +47 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_scaling_process_types.rb +39 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_scheduled_actions.rb +46 -0
- data/lib/fog/aws/parsers/auto_scaling/put_scaling_policy.rb +30 -0
- data/lib/fog/aws/parsers/auto_scaling/terminate_instance_in_auto_scaling_group.rb +35 -0
- data/lib/fog/aws/parsers/cloud_watch/get_metric_statistics.rb +42 -0
- data/lib/fog/aws/parsers/cloud_watch/list_metrics.rb +58 -0
- data/lib/fog/aws/parsers/cloud_watch/put_metric_data.rb +26 -0
- data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +1 -1
- data/lib/fog/aws/parsers/iam/get_group_policy.rb +27 -0
- data/lib/fog/aws/parsers/iam/list_account_aliases.rb +28 -0
- data/lib/fog/aws/parsers/rds/db_engine_version_parser.rb +35 -0
- data/lib/fog/aws/parsers/rds/db_parser.rb +1 -1
- data/lib/fog/aws/parsers/rds/describe_db_engine_versions.rb +39 -0
- data/lib/fog/aws/parsers/rds/describe_db_reserved_instances.rb +43 -0
- data/lib/fog/aws/parsers/sns/add_permission.rb +24 -0
- data/lib/fog/aws/parsers/sns/confirm_subscription.rb +24 -0
- data/lib/fog/aws/parsers/sns/create_topic.rb +24 -0
- data/lib/fog/aws/parsers/sns/delete_topic.rb +24 -0
- data/lib/fog/aws/parsers/sns/get_topic_attributes.rb +32 -0
- data/lib/fog/aws/parsers/sns/list_subscriptions.rb +29 -0
- data/lib/fog/aws/parsers/sns/list_topics.rb +26 -0
- data/lib/fog/aws/parsers/sns/publish.rb +24 -0
- data/lib/fog/aws/parsers/sns/remove_permission.rb +24 -0
- data/lib/fog/aws/parsers/sns/set_topic_attributes.rb +24 -0
- data/lib/fog/aws/parsers/sns/subscribe.rb +24 -0
- data/lib/fog/aws/parsers/sns/unsubscribe.rb +24 -0
- data/lib/fog/aws/parsers/sqs/basic.rb +23 -0
- data/lib/fog/aws/parsers/sqs/create_queue.rb +26 -0
- data/lib/fog/aws/parsers/sqs/get_queue_attributes.rb +35 -0
- data/lib/fog/aws/parsers/sqs/list_queues.rb +25 -0
- data/lib/fog/aws/parsers/sqs/receive_message.rb +41 -0
- data/lib/fog/aws/parsers/sqs/send_message.rb +28 -0
- data/lib/fog/aws/rds.rb +3 -1
- data/lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb +108 -0
- data/lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb +105 -0
- data/lib/fog/aws/requests/auto_scaling/delete_auto_scaling_group.rb +45 -0
- data/lib/fog/aws/requests/auto_scaling/delete_launch_configuration.rb +48 -0
- data/lib/fog/aws/requests/auto_scaling/delete_policy.rb +47 -0
- data/lib/fog/aws/requests/auto_scaling/delete_scheduled_action.rb +48 -0
- data/lib/fog/aws/requests/auto_scaling/describe_adjustment_types.rb +52 -0
- data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_groups.rb +128 -0
- data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_instances.rb +96 -0
- data/lib/fog/aws/requests/auto_scaling/describe_launch_configurations.rb +108 -0
- data/lib/fog/aws/requests/auto_scaling/describe_metric_collection_types.rb +60 -0
- data/lib/fog/aws/requests/auto_scaling/describe_policies.rb +85 -0
- data/lib/fog/aws/requests/auto_scaling/describe_scaling_activities.rb +88 -0
- data/lib/fog/aws/requests/auto_scaling/describe_scaling_process_types.rb +54 -0
- data/lib/fog/aws/requests/auto_scaling/describe_scheduled_actions.rb +83 -0
- data/lib/fog/aws/requests/auto_scaling/disable_metrics_collection.rb +56 -0
- data/lib/fog/aws/requests/auto_scaling/enable_metrics_collection.rb +66 -0
- data/lib/fog/aws/requests/auto_scaling/execute_policy.rb +50 -0
- data/lib/fog/aws/requests/auto_scaling/put_scaling_policy.rb +66 -0
- data/lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb +57 -0
- data/lib/fog/aws/requests/auto_scaling/resume_processes.rb +50 -0
- data/lib/fog/aws/requests/auto_scaling/set_desired_capacity.rb +87 -0
- data/lib/fog/aws/requests/auto_scaling/set_instance_health.rb +55 -0
- data/lib/fog/aws/requests/auto_scaling/suspend_processes.rb +57 -0
- data/lib/fog/aws/requests/auto_scaling/terminate_instance_in_auto_scaling_group.rb +65 -0
- data/lib/fog/aws/requests/auto_scaling/update_auto_scaling_group.rb +79 -0
- data/lib/fog/aws/requests/cloud_watch/get_metric_statistics.rb +48 -0
- data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +38 -0
- data/lib/fog/aws/requests/cloud_watch/put_metric_data.rb +73 -0
- data/lib/fog/aws/requests/elb/configure_health_check.rb +24 -0
- data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +21 -0
- data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +21 -0
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +55 -0
- data/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +28 -0
- data/lib/fog/aws/requests/elb/delete_load_balancer.rb +18 -0
- data/lib/fog/aws/requests/elb/delete_load_balancer_listeners.rb +20 -1
- data/lib/fog/aws/requests/elb/delete_load_balancer_policy.rb +23 -0
- data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +21 -5
- data/lib/fog/aws/requests/elb/describe_instance_health.rb +35 -0
- data/lib/fog/aws/requests/elb/describe_load_balancers.rb +29 -0
- data/lib/fog/aws/requests/elb/disable_availability_zones_for_load_balancer.rb +18 -5
- data/lib/fog/aws/requests/elb/enable_availability_zones_for_load_balancer.rb +18 -3
- data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +22 -5
- data/lib/fog/aws/requests/elb/set_load_balancer_listener_ssl_certificate.rb +40 -0
- data/lib/fog/aws/requests/elb/set_load_balancer_policies_of_listener.rb +37 -0
- data/lib/fog/aws/requests/iam/create_account_alias.rb +19 -0
- data/lib/fog/aws/requests/iam/delete_account_alias.rb +19 -0
- data/lib/fog/aws/requests/iam/delete_server_certificate.rb +14 -0
- data/lib/fog/aws/requests/iam/get_group_policy.rb +36 -0
- data/lib/fog/aws/requests/iam/get_server_certificate.rb +50 -0
- data/lib/fog/aws/requests/iam/list_account_aliases.rb +18 -0
- data/lib/fog/aws/requests/iam/list_server_certificates.rb +12 -0
- data/lib/fog/aws/requests/iam/put_group_policy.rb +1 -1
- data/lib/fog/aws/requests/iam/put_user_policy.rb +1 -1
- data/lib/fog/aws/requests/iam/upload_server_certificate.rb +53 -5
- data/lib/fog/aws/requests/rds/describe_db_engine_versions.rb +34 -0
- data/lib/fog/aws/requests/rds/describe_db_reserved_instances.rb +42 -0
- data/lib/fog/aws/requests/simpledb/get_attributes.rb +29 -17
- data/lib/fog/aws/requests/simpledb/select.rb +11 -3
- data/lib/fog/aws/requests/sns/add_permission.rb +26 -0
- data/lib/fog/aws/requests/sns/confirm_subscription.rb +33 -0
- data/lib/fog/aws/requests/sns/create_topic.rb +29 -0
- data/lib/fog/aws/requests/sns/delete_topic.rb +29 -0
- data/lib/fog/aws/requests/sns/get_topic_attributes.rb +29 -0
- data/lib/fog/aws/requests/sns/list_subscriptions.rb +29 -0
- data/lib/fog/aws/requests/sns/list_subscriptions_by_topic.rb +31 -0
- data/lib/fog/aws/requests/sns/list_topics.rb +29 -0
- data/lib/fog/aws/requests/sns/publish.rb +34 -0
- data/lib/fog/aws/requests/sns/remove_permission.rb +26 -0
- data/lib/fog/aws/requests/sns/set_topic_attributes.rb +33 -0
- data/lib/fog/aws/requests/sns/subscribe.rb +33 -0
- data/lib/fog/aws/requests/sns/unsubscribe.rb +29 -0
- data/lib/fog/aws/requests/sqs/change_message_visibility.rb +33 -0
- data/lib/fog/aws/requests/sqs/create_queue.rb +31 -0
- data/lib/fog/aws/requests/sqs/delete_message.rb +31 -0
- data/lib/fog/aws/requests/sqs/delete_queue.rb +29 -0
- data/lib/fog/aws/requests/sqs/get_queue_attributes.rb +31 -0
- data/lib/fog/aws/requests/sqs/list_queues.rb +28 -0
- data/lib/fog/aws/requests/sqs/receive_message.rb +34 -0
- data/lib/fog/aws/requests/sqs/send_message.rb +31 -0
- data/lib/fog/aws/requests/sqs/set_queue_attributes.rb +33 -0
- data/lib/fog/aws/sns.rb +112 -0
- data/lib/fog/aws/sqs.rb +115 -0
- data/lib/fog/bin.rb +1 -0
- data/lib/fog/bin/aws.rb +16 -0
- data/lib/fog/bin/brightbox.rb +1 -1
- data/lib/fog/bin/ninefold.rb +5 -0
- data/lib/fog/bin/vcloud.rb +30 -0
- data/lib/fog/bin/virtual_box.rb +5 -1
- data/lib/fog/cdn/rackspace.rb +16 -8
- data/lib/fog/compute.rb +4 -1
- data/lib/fog/compute/aws.rb +16 -4
- data/lib/fog/compute/bluebox.rb +2 -2
- data/lib/fog/compute/brightbox.rb +4 -4
- data/lib/fog/compute/go_grid.rb +2 -2
- data/lib/fog/compute/linode.rb +2 -2
- data/lib/fog/compute/models/aws/server.rb +17 -3
- data/lib/fog/compute/models/aws/spot_request.rb +93 -0
- data/lib/fog/compute/models/aws/spot_requests.rb +48 -0
- data/lib/fog/compute/models/aws/volume.rb +13 -13
- data/lib/fog/compute/models/bluebox/server.rb +4 -4
- data/lib/fog/compute/models/go_grid/server.rb +2 -2
- data/lib/fog/compute/models/ninefold/server.rb +18 -14
- data/lib/fog/compute/models/rackspace/flavor.rb +3 -2
- data/lib/fog/compute/models/rackspace/server.rb +2 -2
- data/lib/fog/compute/models/slicehost/server.rb +1 -1
- data/lib/fog/compute/models/vcloud/catalog.rb +22 -0
- data/lib/fog/compute/models/vcloud/catalog_item.rb +29 -0
- data/lib/fog/compute/models/vcloud/catalog_items.rb +32 -0
- data/lib/fog/compute/models/vcloud/catalogs.rb +39 -0
- data/lib/fog/compute/models/vcloud/ip.rb +42 -0
- data/lib/fog/compute/models/vcloud/ips.rb +33 -0
- data/lib/fog/compute/models/vcloud/network.rb +65 -0
- data/lib/fog/compute/models/vcloud/networks.rb +34 -0
- data/lib/fog/compute/models/vcloud/server.rb +291 -0
- data/lib/fog/compute/models/vcloud/servers.rb +58 -0
- data/lib/fog/compute/models/vcloud/task.rb +21 -0
- data/lib/fog/compute/models/vcloud/tasks.rb +32 -0
- data/lib/fog/compute/models/vcloud/vdc.rb +56 -0
- data/lib/fog/compute/models/vcloud/vdcs.rb +40 -0
- data/lib/fog/compute/models/virtual_box/server.rb +2 -2
- data/lib/fog/compute/ninefold.rb +3 -3
- data/lib/fog/compute/parsers/aws/cancel_spot_instance_requests.rb +30 -0
- data/lib/fog/compute/parsers/aws/describe_instances.rb +9 -4
- data/lib/fog/compute/parsers/aws/describe_placement_groups.rb +30 -0
- data/lib/fog/compute/parsers/aws/describe_reserved_instances.rb +1 -1
- data/lib/fog/compute/parsers/aws/describe_reserved_instances_offerings.rb +2 -2
- data/lib/fog/compute/parsers/aws/describe_spot_price_history.rb +34 -0
- data/lib/fog/compute/parsers/aws/purchase_reserved_instances_offering.rb +24 -0
- data/lib/fog/compute/parsers/aws/run_instances.rb +17 -16
- data/lib/fog/compute/parsers/aws/spot_datafeed_subscription.rb +29 -0
- data/lib/fog/compute/parsers/aws/spot_instance_requests.rb +67 -0
- data/lib/fog/compute/rackspace.rb +6 -5
- data/lib/fog/compute/requests/aws/cancel_spot_instance_requests.rb +34 -0
- data/lib/fog/compute/requests/aws/create_placement_group.rb +34 -0
- data/lib/fog/compute/requests/aws/create_spot_datafeed_subscription.rb +41 -0
- data/lib/fog/compute/requests/aws/delete_placement_group.rb +32 -0
- data/lib/fog/compute/requests/aws/delete_spot_datafeed_subscription.rb +28 -0
- data/lib/fog/compute/requests/aws/describe_placement_groups.rb +35 -0
- data/lib/fog/compute/requests/aws/describe_reserved_instances.rb +14 -0
- data/lib/fog/compute/requests/aws/describe_reserved_instances_offerings.rb +25 -0
- data/lib/fog/compute/requests/aws/describe_spot_datafeed_subscription.rb +35 -0
- data/lib/fog/compute/requests/aws/describe_spot_instance_requests.rb +47 -0
- data/lib/fog/compute/requests/aws/describe_spot_price_history.rb +37 -0
- data/lib/fog/compute/requests/aws/describe_volumes.rb +1 -1
- data/lib/fog/compute/requests/aws/purchase_reserved_instances_offering.rb +63 -0
- data/lib/fog/compute/requests/aws/request_spot_instances.rb +83 -0
- data/lib/fog/compute/requests/aws/run_instances.rb +2 -3
- data/lib/fog/compute/requests/brightbox/activate_console_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/add_listeners_load_balancer.rb +1 -1
- data/lib/fog/compute/requests/brightbox/add_nodes_load_balancer.rb +1 -1
- data/lib/fog/compute/requests/brightbox/create_api_client.rb +1 -1
- data/lib/fog/compute/requests/brightbox/create_cloud_ip.rb +1 -1
- data/lib/fog/compute/requests/brightbox/create_image.rb +1 -1
- data/lib/fog/compute/requests/brightbox/create_load_balancer.rb +1 -1
- data/lib/fog/compute/requests/brightbox/create_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/destroy_api_client.rb +1 -1
- data/lib/fog/compute/requests/brightbox/destroy_cloud_ip.rb +1 -1
- data/lib/fog/compute/requests/brightbox/destroy_image.rb +1 -1
- data/lib/fog/compute/requests/brightbox/destroy_load_balancer.rb +1 -1
- data/lib/fog/compute/requests/brightbox/destroy_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_account.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_api_client.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_cloud_ip.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_image.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_interface.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_load_balancer.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_server_type.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_user.rb +1 -1
- data/lib/fog/compute/requests/brightbox/get_zone.rb +1 -1
- data/lib/fog/compute/requests/brightbox/list_api_clients.rb +1 -1
- data/lib/fog/compute/requests/brightbox/list_cloud_ips.rb +1 -1
- data/lib/fog/compute/requests/brightbox/list_images.rb +1 -1
- data/lib/fog/compute/requests/brightbox/list_load_balancers.rb +1 -1
- data/lib/fog/compute/requests/brightbox/list_server_types.rb +1 -1
- data/lib/fog/compute/requests/brightbox/list_servers.rb +1 -1
- data/lib/fog/compute/requests/brightbox/list_users.rb +1 -1
- data/lib/fog/compute/requests/brightbox/list_zones.rb +1 -1
- data/lib/fog/compute/requests/brightbox/map_cloud_ip.rb +1 -1
- data/lib/fog/compute/requests/brightbox/remove_listeners_load_balancer.rb +1 -1
- data/lib/fog/compute/requests/brightbox/remove_nodes_load_balancer.rb +1 -1
- data/lib/fog/compute/requests/brightbox/reset_ftp_password_account.rb +1 -1
- data/lib/fog/compute/requests/brightbox/resize_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/shutdown_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/snapshot_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/start_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/stop_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/unmap_cloud_ip.rb +1 -1
- data/lib/fog/compute/requests/brightbox/update_account.rb +1 -1
- data/lib/fog/compute/requests/brightbox/update_api_client.rb +1 -1
- data/lib/fog/compute/requests/brightbox/update_image.rb +1 -1
- data/lib/fog/compute/requests/brightbox/update_load_balancer.rb +1 -1
- data/lib/fog/compute/requests/brightbox/update_server.rb +1 -1
- data/lib/fog/compute/requests/brightbox/update_user.rb +1 -1
- data/lib/fog/compute/requests/linode/linode_disk_createfromstackscript.rb +1 -1
- data/lib/fog/compute/requests/rackspace/create_image.rb +1 -1
- data/lib/fog/compute/requests/rackspace/create_server.rb +1 -1
- data/lib/fog/compute/requests/rackspace/server_action.rb +2 -2
- data/lib/fog/compute/requests/rackspace/update_server.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/add_balancer_node.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/clone_server.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/create_server.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/delete_server.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/get_server.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/get_stats.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/list_balancers.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/list_configs.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/list_images.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/list_private_ips.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/list_servers.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/list_templates.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/reboot_server.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/remove_balancer_node.rb +1 -1
- data/lib/fog/compute/requests/storm_on_demand/resize_server.rb +1 -1
- data/lib/fog/compute/requests/vcloud/clone_vapp.rb +40 -0
- data/lib/fog/compute/requests/vcloud/configure_network.rb +43 -0
- data/lib/fog/compute/requests/vcloud/configure_network_ip.rb +46 -0
- data/lib/fog/compute/requests/vcloud/configure_node.rb +38 -0
- data/lib/fog/compute/requests/vcloud/configure_vapp.rb +112 -0
- data/lib/fog/compute/requests/vcloud/configure_vm.rb +247 -0
- data/lib/fog/compute/requests/vcloud/configure_vm_disks.rb +100 -0
- data/lib/fog/compute/requests/vcloud/configure_vm_memory.rb +40 -0
- data/lib/fog/compute/requests/vcloud/configure_vm_name_description.rb +30 -0
- data/lib/fog/compute/requests/vcloud/delete_node.rb +10 -0
- data/lib/fog/compute/requests/vcloud/delete_vapp.rb +10 -0
- data/lib/fog/compute/requests/vcloud/get_catalog.rb +10 -0
- data/lib/fog/compute/requests/vcloud/get_catalog_item.rb +10 -0
- data/lib/fog/compute/requests/vcloud/get_customization_options.rb +10 -0
- data/lib/fog/compute/requests/vcloud/get_network.rb +10 -0
- data/lib/fog/compute/requests/vcloud/get_network_extensions.rb +11 -0
- data/lib/fog/compute/requests/vcloud/get_network_ip.rb +15 -0
- data/lib/fog/compute/requests/vcloud/get_network_ips.rb +15 -0
- data/lib/fog/compute/requests/vcloud/get_organization.rb +11 -0
- data/lib/fog/compute/requests/vcloud/get_task.rb +11 -0
- data/lib/fog/compute/requests/vcloud/get_task_list.rb +11 -0
- data/lib/fog/compute/requests/vcloud/get_vapp.rb +10 -0
- data/lib/fog/compute/requests/vcloud/get_vapp_template.rb +11 -0
- data/lib/fog/compute/requests/vcloud/get_vdc.rb +10 -0
- data/lib/fog/compute/requests/vcloud/get_vm_disks.rb +16 -0
- data/lib/fog/compute/requests/vcloud/get_vm_memory.rb +16 -0
- data/lib/fog/compute/requests/vcloud/instantiate_vapp_template.rb +83 -0
- data/lib/fog/compute/requests/vcloud/login.rb +23 -0
- data/lib/fog/compute/requests/vcloud/power_off.rb +10 -0
- data/lib/fog/compute/requests/vcloud/power_on.rb +11 -0
- data/lib/fog/compute/requests/vcloud/power_reset.rb +11 -0
- data/lib/fog/compute/requests/vcloud/power_shutdown.rb +11 -0
- data/lib/fog/compute/requests/vcloud/undeploy.rb +23 -0
- data/lib/fog/compute/storm_on_demand.rb +2 -2
- data/lib/fog/compute/vcloud.rb +310 -0
- data/lib/fog/core.rb +2 -1
- data/lib/fog/core/attributes.rb +23 -11
- data/lib/fog/core/collection.rb +7 -7
- data/lib/fog/core/credentials.rb +4 -2
- data/lib/fog/core/model.rb +4 -4
- data/lib/fog/core/time.rb +1 -2
- data/lib/fog/core/timeout.rb +11 -0
- data/lib/fog/core/wait_for.rb +2 -2
- data/lib/fog/dns/dnsimple.rb +2 -2
- data/lib/fog/dns/dnsmadeeasy.rb +2 -2
- data/lib/fog/dns/linode.rb +2 -2
- data/lib/fog/dns/requests/dnsimple/create_domain.rb +1 -1
- data/lib/fog/dns/requests/dnsimple/create_record.rb +1 -1
- data/lib/fog/dns/requests/dnsimple/update_record.rb +1 -1
- data/lib/fog/dns/requests/dnsmadeeasy/create_record.rb +1 -1
- data/lib/fog/dns/requests/dnsmadeeasy/create_secondary.rb +1 -1
- data/lib/fog/dns/requests/dnsmadeeasy/update_record.rb +1 -1
- data/lib/fog/dns/requests/dnsmadeeasy/update_secondary.rb +1 -1
- data/lib/fog/providers.rb +1 -0
- data/lib/fog/providers/aws.rb +15 -2
- data/lib/fog/providers/ninefold.rb +1 -0
- data/lib/fog/providers/rackspace.rb +4 -3
- data/lib/fog/providers/vcloud.rb +11 -0
- data/lib/fog/storage.rb +9 -6
- data/lib/fog/storage/aws.rb +18 -1
- data/lib/fog/storage/google.rb +19 -1
- data/lib/fog/storage/models/aws/file.rb +3 -3
- data/lib/fog/storage/models/aws/files.rb +9 -2
- data/lib/fog/storage/models/google/files.rb +9 -2
- data/lib/fog/storage/models/ninefold/directories.rb +48 -0
- data/lib/fog/storage/models/ninefold/directory.rb +53 -0
- data/lib/fog/storage/models/ninefold/file.rb +99 -0
- data/lib/fog/storage/models/ninefold/files.rb +72 -0
- data/lib/fog/storage/models/rackspace/directory.rb +7 -2
- data/lib/fog/storage/ninefold.rb +149 -0
- data/lib/fog/storage/rackspace.rb +8 -2
- data/lib/fog/storage/requests/aws/get_bucket_policy.rb +1 -1
- data/lib/fog/storage/requests/aws/get_object.rb +6 -2
- data/lib/fog/storage/requests/aws/get_object_http_url.rb +51 -0
- data/lib/fog/storage/requests/aws/get_object_https_url.rb +51 -0
- data/lib/fog/storage/requests/aws/get_object_url.rb +4 -24
- data/lib/fog/storage/requests/aws/post_object_hidden_fields.rb +1 -1
- data/lib/fog/storage/requests/aws/put_bucket_policy.rb +1 -1
- data/lib/fog/storage/requests/google/get_object_http_url.rb +51 -0
- data/lib/fog/storage/requests/google/get_object_https_url.rb +51 -0
- data/lib/fog/storage/requests/google/get_object_url.rb +8 -25
- data/lib/fog/storage/requests/ninefold/delete_namespace.rb +19 -0
- data/lib/fog/storage/requests/ninefold/get_namespace.rb +20 -0
- data/lib/fog/storage/requests/ninefold/post_namespace.rb +20 -0
- data/lib/fog/storage/requests/ninefold/put_namespace.rb +20 -0
- data/lib/fog/storage/requests/rackspace/put_object.rb +3 -0
- data/lib/fog/storage/requests/rackspace/put_object_manifest.rb +25 -0
- data/tests/aws/models/auto_scaling/activities_tests.rb +6 -0
- data/tests/aws/models/auto_scaling/configuration_test.rb +13 -0
- data/tests/aws/models/auto_scaling/configurations_tests.rb +11 -0
- data/tests/aws/models/auto_scaling/helper.rb +0 -0
- data/tests/aws/models/auto_scaling/instances_tests.rb +6 -0
- data/tests/aws/models/cloud_watch/metric_statistics_tests.rb +51 -0
- data/tests/aws/models/cloud_watch/metrics_tests.rb +17 -0
- data/tests/aws/{requests → models}/elb/model_tests.rb +82 -18
- data/tests/aws/models/rds/security_group_tests.rb +1 -1
- data/tests/aws/requests/auto_scaling/auto_scaling_tests.rb +80 -0
- data/tests/aws/requests/auto_scaling/helper.rb +185 -0
- data/tests/aws/requests/auto_scaling/model_tests.rb +235 -0
- data/tests/aws/requests/cloud_formation/stack_tests.rb +1 -1
- data/tests/aws/requests/cloud_watch/get_metric_statistics_tests.rb +28 -0
- data/tests/aws/requests/cloud_watch/list_metrics_test.rb +64 -0
- data/tests/aws/requests/cloud_watch/put_metric_data_tests.rb +36 -0
- data/tests/aws/requests/elb/listener_tests.rb +50 -0
- data/tests/aws/requests/elb/load_balancer_tests.rb +23 -44
- data/tests/aws/requests/elb/policy_tests.rb +41 -0
- data/tests/aws/requests/iam/helper.rb +29 -0
- data/tests/aws/requests/iam/login_profile_tests.rb +2 -2
- data/tests/aws/requests/iam/server_certificate_tests.rb +39 -6
- data/tests/aws/requests/rds/helper.rb +1 -0
- data/tests/aws/requests/simpledb/attributes_tests.rb +10 -15
- data/tests/aws/requests/sns/helper.rb +9 -0
- data/tests/aws/requests/sns/subscription_tests.rb +86 -0
- data/tests/aws/requests/sns/topic_tests.rb +50 -0
- data/tests/aws/requests/sqs/helper.rb +15 -0
- data/tests/aws/requests/sqs/message_tests.rb +57 -0
- data/tests/aws/requests/sqs/queue_tests.rb +55 -0
- data/tests/aws/signed_params_tests.rb +3 -1
- data/tests/compute/models/aws/volume_tests.rb +13 -0
- data/tests/compute/models/vcloud/helper.rb +25 -0
- data/tests/compute/models/vcloud/servers_tests.rb +95 -0
- data/tests/compute/requests/aws/address_tests.rb +1 -1
- data/tests/compute/requests/aws/instance_tests.rb +65 -4
- data/tests/compute/requests/aws/placement_group_tests.rb +48 -0
- data/tests/compute/requests/aws/spot_datafeed_subscription_tests.rb +47 -0
- data/tests/compute/requests/aws/spot_instance_tests.rb +53 -0
- data/tests/compute/requests/aws/spot_price_history_tests.rb +24 -0
- data/tests/compute/requests/aws/volume_tests.rb +4 -0
- data/tests/compute/requests/brightbox/helper.rb +2 -1
- data/tests/compute/requests/brightbox/interface_tests.rb +4 -4
- data/tests/compute/requests/ninefold/helper.rb +1 -1
- data/tests/compute/requests/vcloud/disk_configure_tests.rb +114 -0
- data/tests/compute/requests/voxel/server_tests.rb +2 -2
- data/tests/core/attribute_tests.rb +10 -1
- data/tests/core/credential_tests.rb +6 -0
- data/tests/core/timeout_tests.rb +10 -0
- data/tests/helpers/collection_helper.rb +4 -1
- data/tests/helpers/formats_helper.rb +1 -1
- data/tests/helpers/mock_helper.rb +5 -0
- data/tests/storage/helper.rb +4 -1
- data/tests/storage/models/ninefold/file_update_tests.rb +19 -0
- data/tests/storage/models/ninefold/nested_directories_tests.rb +23 -0
- data/tests/storage/requests/aws/multipart_upload_tests.rb +2 -5
- data/tests/storage/requests/rackspace/large_object_tests.rb +47 -0
- metadata +366 -105
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Creates a new launch configuration. Once created, the new launch
|
|
10
|
+
# configuration is available for immediate use.
|
|
11
|
+
#
|
|
12
|
+
# ==== Parameters
|
|
13
|
+
# * image_id<~String> - Unique ID of the Amazon Machine Image (AMI)
|
|
14
|
+
# which was assigned during registration.
|
|
15
|
+
# * instance_type<~String> - The instance type of the EC2 instance.
|
|
16
|
+
# * launch_configuration_name<~String> - The name of the launch
|
|
17
|
+
# configuration to create.
|
|
18
|
+
# * options<~Hash>:
|
|
19
|
+
# * 'BlockDeviceMappings'<~Array>:
|
|
20
|
+
# * 'DeviceName'<~String> - The name of the device within Amazon
|
|
21
|
+
# EC2.
|
|
22
|
+
# * 'Ebs.SnapshotId'<~String> - The snapshot ID.
|
|
23
|
+
# * 'Ebs.VolumeSize'<~Integer> - The volume size, in GigaBytes.
|
|
24
|
+
# * 'VirtualName'<~String> - The virtual name associated with the
|
|
25
|
+
# device.
|
|
26
|
+
# * 'InstanceMonitoring'<~Hash>:
|
|
27
|
+
# * 'Enabled'<~Boolean> - Enabled detailed monitoring.
|
|
28
|
+
# * 'KernelId'<~String> - The ID of the kernel associated with the
|
|
29
|
+
# EC2 AMI.
|
|
30
|
+
# * 'KeyName'<~String> - The name of the EC2 key pair.
|
|
31
|
+
# * 'RamdiskId'<~String> - The ID of the RAM disk associated with the
|
|
32
|
+
# EC2 AMI.
|
|
33
|
+
# * 'SecurityGroups'<~Array> - The names of the security groups with
|
|
34
|
+
# which to associate EC2 instances.
|
|
35
|
+
# * 'UserData'<~String> - User data available to the launched EC2
|
|
36
|
+
# instances.
|
|
37
|
+
#
|
|
38
|
+
# ==== Returns
|
|
39
|
+
# * response<~Excon::Response>:
|
|
40
|
+
# * body<~Hash>:
|
|
41
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
42
|
+
# * 'RequestId'<~String> - Id of request
|
|
43
|
+
#
|
|
44
|
+
# ==== See Also
|
|
45
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_CreateLaunchConfiguration.html
|
|
46
|
+
#
|
|
47
|
+
def create_launch_configuration(image_id, instance_type, launch_configuration_name, options = {})
|
|
48
|
+
if block_device_mappings = options.delete('BlockDeviceMappings')
|
|
49
|
+
block_device_mappings.each_with_index do |mapping, i|
|
|
50
|
+
for key, value in mapping
|
|
51
|
+
options.merge!({ format("BlockDeviceMappings.member.%d.#{key}", i+1) => value })
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
if security_groups = options.delete('SecurityGroups')
|
|
56
|
+
options.merge!(AWS.indexed_param('SecurityGroups.member.%d', [*security_groups]))
|
|
57
|
+
end
|
|
58
|
+
if options['UserData']
|
|
59
|
+
options['UserData'] = Base64.encode64(options['UserData'])
|
|
60
|
+
end
|
|
61
|
+
request({
|
|
62
|
+
'Action' => 'CreateLaunchConfiguration',
|
|
63
|
+
'ImageId' => image_id,
|
|
64
|
+
'InstanceType' => instance_type,
|
|
65
|
+
'LaunchConfigurationName' => launch_configuration_name,
|
|
66
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
67
|
+
}.merge!(options))
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
class Mock
|
|
73
|
+
|
|
74
|
+
def create_launch_configuration(image_id, instance_type, launch_configuration_name, options = {})
|
|
75
|
+
if data[:launch_configurations].has_key?(launch_configuration_name)
|
|
76
|
+
raise Fog::AWS::AutoScaling::IdentifierTaken.new("Launch Configuration by this name already exists - A launch configuration already exists with the name #{launch_configuration_name}")
|
|
77
|
+
end
|
|
78
|
+
data[:launch_configurations][launch_configuration_name] = {
|
|
79
|
+
'BlockDeviceMappings' => [],
|
|
80
|
+
'CreatedTime' => Time.now.utc,
|
|
81
|
+
'ImageId' => image_id,
|
|
82
|
+
'InstanceMonitoring' => { 'Enabled' => true },
|
|
83
|
+
'InstanceType' => instance_type,
|
|
84
|
+
'KernelId' => nil,
|
|
85
|
+
'KeyName' => nil,
|
|
86
|
+
'LaunchConfigurationARN' => "arn:aws:autoscaling:eu-west-1:000000000000:launchConfiguration:00000000-0000-0000-0000-000000000000:launchConfigurationName/#{launch_configuration_name}",
|
|
87
|
+
'LaunchConfigurationName' => launch_configuration_name,
|
|
88
|
+
'RamdiskId' => nil,
|
|
89
|
+
'SecurityGroups' => [],
|
|
90
|
+
'UserData' => nil
|
|
91
|
+
}.merge!(options)
|
|
92
|
+
|
|
93
|
+
response = Excon::Response.new
|
|
94
|
+
response.status = 200
|
|
95
|
+
response.body = {
|
|
96
|
+
'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
|
|
97
|
+
}
|
|
98
|
+
response
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Deletes the specified auto scaling group if the group has no
|
|
10
|
+
# instances and no scaling activities in progress.
|
|
11
|
+
#
|
|
12
|
+
# ==== Parameters
|
|
13
|
+
# * auto_scaling_group_name<~String> - The name of the Auto Scaling
|
|
14
|
+
# group.
|
|
15
|
+
#
|
|
16
|
+
# ==== Returns
|
|
17
|
+
# * response<~Excon::Response>:
|
|
18
|
+
# * body<~Hash>:
|
|
19
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
20
|
+
# * 'RequestId'<~String> - Id of request
|
|
21
|
+
#
|
|
22
|
+
# ==== See Also
|
|
23
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeleteAutoScalingGroup.html
|
|
24
|
+
#
|
|
25
|
+
def delete_auto_scaling_group(auto_scaling_group_name)
|
|
26
|
+
request({
|
|
27
|
+
'Action' => 'DeleteAutoScalingGroup',
|
|
28
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
29
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
30
|
+
})
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
class Mock
|
|
36
|
+
|
|
37
|
+
def delete_auto_scaling_group(auto_scaling_group_name)
|
|
38
|
+
Fog::Mock.not_implemented
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Deletes the specified launch configuration.
|
|
10
|
+
#
|
|
11
|
+
# The specified launch configuration must not be attached to an Auto
|
|
12
|
+
# Scaling group. Once this call completes, the launch configuration is
|
|
13
|
+
# no longer available for use.
|
|
14
|
+
#
|
|
15
|
+
# ==== Parameters
|
|
16
|
+
# * launch_configuration_name<~String> - The name of the launch
|
|
17
|
+
# configuration.
|
|
18
|
+
#
|
|
19
|
+
# ==== Returns
|
|
20
|
+
# * response<~Excon::Response>:
|
|
21
|
+
# * body<~Hash>:
|
|
22
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
23
|
+
# * 'RequestId'<~String> - Id of request
|
|
24
|
+
#
|
|
25
|
+
# ==== See Also
|
|
26
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeleteLaunchConfiguration.html
|
|
27
|
+
#
|
|
28
|
+
def delete_launch_configuration(launch_configuration_name)
|
|
29
|
+
request({
|
|
30
|
+
'Action' => 'DeleteLaunchConfiguration',
|
|
31
|
+
'LaunchConfigurationName' => launch_configuration_name,
|
|
32
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
33
|
+
})
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class Mock
|
|
39
|
+
|
|
40
|
+
def delete_launch_configuration(launch_configuration_name)
|
|
41
|
+
Fog::Mock.not_implemented
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Deletes a policy created by put_scaling_policy
|
|
10
|
+
#
|
|
11
|
+
# ==== Parameters
|
|
12
|
+
# * auto_scaling_group_name<~String> - The name of the Auto Scaling
|
|
13
|
+
# group.
|
|
14
|
+
# * policy_name<~String> - The name or PolicyARN of the policy you want
|
|
15
|
+
# to delete.
|
|
16
|
+
#
|
|
17
|
+
# ==== Returns
|
|
18
|
+
# * response<~Excon::Response>:
|
|
19
|
+
# * body<~Hash>:
|
|
20
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
21
|
+
# * 'RequestId'<~String> - Id of request
|
|
22
|
+
#
|
|
23
|
+
# ==== See Also
|
|
24
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeletePolicy.html
|
|
25
|
+
#
|
|
26
|
+
def delete_policy(auto_scaling_group_name, policy_name)
|
|
27
|
+
request({
|
|
28
|
+
'Action' => 'DeletePolicy',
|
|
29
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
30
|
+
'PolicyName' => policy_name,
|
|
31
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
32
|
+
})
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class Mock
|
|
38
|
+
|
|
39
|
+
def delete_policy(auto_scaling_group_name, policy_name)
|
|
40
|
+
Fog::Mock.not_implemented
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Deletes a scheduled action previously created using the
|
|
10
|
+
# put_scheduled_update_group_action.
|
|
11
|
+
#
|
|
12
|
+
# ==== Parameters
|
|
13
|
+
# * auto_scaling_group_name<~String> - The name of the Auto Scaling
|
|
14
|
+
# group.
|
|
15
|
+
# * scheduled_action_name<~String> - The name of the action you want to
|
|
16
|
+
# delete.
|
|
17
|
+
#
|
|
18
|
+
# ==== Returns
|
|
19
|
+
# * response<~Excon::Response>:
|
|
20
|
+
# * body<~Hash>:
|
|
21
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
22
|
+
# * 'RequestId'<~String> - Id of request
|
|
23
|
+
#
|
|
24
|
+
# ==== See Also
|
|
25
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DeleteScheduledAction.html
|
|
26
|
+
#
|
|
27
|
+
def delete_scheduled_action(auto_scaling_group_name, scheduled_action_name)
|
|
28
|
+
request({
|
|
29
|
+
'Action' => 'DeleteScheduledAction',
|
|
30
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
31
|
+
'ScheduledActionName' => scheduled_action_name,
|
|
32
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
33
|
+
})
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
class Mock
|
|
39
|
+
|
|
40
|
+
def delete_scheduled_action(auto_scaling_group_name, scheduled_action_name)
|
|
41
|
+
Fog::Mock.not_implemented
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/describe_adjustment_types'
|
|
8
|
+
|
|
9
|
+
# Returns policy adjustment types for use in the put_scaling_policy
|
|
10
|
+
# action.
|
|
11
|
+
#
|
|
12
|
+
# ==== Returns
|
|
13
|
+
# * response<~Excon::Response>:
|
|
14
|
+
# * body<~Hash>:
|
|
15
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
16
|
+
# * 'RequestId'<~String> - Id of request
|
|
17
|
+
# * 'DescribeAdjustmentTypesResponse'<~Hash>:
|
|
18
|
+
# * 'AdjustmentTypes'<~Array>:
|
|
19
|
+
# * 'AdjustmentType'<~String> - A policy adjustment type.
|
|
20
|
+
#
|
|
21
|
+
# ==== See Also
|
|
22
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeAdjustmentTypes.html
|
|
23
|
+
#
|
|
24
|
+
def describe_adjustment_types()
|
|
25
|
+
request({
|
|
26
|
+
'Action' => 'DescribeAdjustmentTypes',
|
|
27
|
+
:parser => Fog::Parsers::AWS::AutoScaling::DescribeAdjustmentTypes.new
|
|
28
|
+
})
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
class Mock
|
|
34
|
+
|
|
35
|
+
def describe_adjustment_types()
|
|
36
|
+
results = { 'AdjustmentTypes' => [] }
|
|
37
|
+
data[:adjustment_types].each do |adjustment_type|
|
|
38
|
+
results['AdjustmentTypes'] << { 'AdjustmentType' => adjustment_type }
|
|
39
|
+
end
|
|
40
|
+
response = Excon::Response.new
|
|
41
|
+
response.status = 200
|
|
42
|
+
response.body = {
|
|
43
|
+
'DescribeAdjustmentTypesResult' => results,
|
|
44
|
+
'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
|
|
45
|
+
}
|
|
46
|
+
response
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/describe_auto_scaling_groups'
|
|
8
|
+
|
|
9
|
+
# Returns a full description of each Auto Scaling group in the given
|
|
10
|
+
# list. This includes all Amazon EC2 instances that are members of the
|
|
11
|
+
# group. If a list of names is not provided, the service returns the
|
|
12
|
+
# full details of all Auto Scaling groups.
|
|
13
|
+
#
|
|
14
|
+
# This action supports pagination by returning a token if there are
|
|
15
|
+
# more pages to retrieve. To get the next page, call this action again
|
|
16
|
+
# with the returned token as the NextToken parameter.
|
|
17
|
+
#
|
|
18
|
+
# ==== Parameters
|
|
19
|
+
# * options<~Hash>:
|
|
20
|
+
# * 'AutoScalingGroupNames'<~Array> - A list of Auto Scaling group
|
|
21
|
+
# names.
|
|
22
|
+
# * 'MaxRecords'<~Integer> - The maximum number of records to return.
|
|
23
|
+
# * 'NextToken'<~String> - The token returned by a previous call to
|
|
24
|
+
# indicate that there is more data available.
|
|
25
|
+
#
|
|
26
|
+
# ==== Returns
|
|
27
|
+
# * response<~Excon::Response>:
|
|
28
|
+
# * body<~Hash>:
|
|
29
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
30
|
+
# * 'RequestId'<~String> - Id of request
|
|
31
|
+
# * 'DescribeAutoScalingGroupsResponse'<~Hash>:
|
|
32
|
+
# * 'AutoScalingGroups'<~Array>:
|
|
33
|
+
# * 'AutoScalingGroup'<~Hash>:
|
|
34
|
+
# * 'AutoScalingGroupARN'<~String> - The Amazon Resource Name
|
|
35
|
+
# (ARN) of the Auto Scaling group.
|
|
36
|
+
# * 'AutoScalingGroupName'<~String> - Specifies the name of
|
|
37
|
+
# the group.
|
|
38
|
+
# * 'AvailabilityZones'<~Array> - Contains a list of
|
|
39
|
+
# availability zones for the group.
|
|
40
|
+
# * 'CreatedTime'<~Time> - Specifies the date and time the
|
|
41
|
+
# Auto Scaling group was created.
|
|
42
|
+
# * 'DefaultCooldown'<~Integer> - The umber of seconds after
|
|
43
|
+
# a scaling activity completes before any further scaling
|
|
44
|
+
# activities can start.
|
|
45
|
+
# * 'DesiredCapacity'<~Integer> - Specifies the desired
|
|
46
|
+
# capacity of the AutoScalingGroup.
|
|
47
|
+
# * 'EnabledMetrics'<~Array>:
|
|
48
|
+
# * enabledmetric<~Hash>:
|
|
49
|
+
# * 'Granularity'<~String> - The granularity of the
|
|
50
|
+
# enabled metric.
|
|
51
|
+
# * 'Metrics'<~String> - The name of the enabled metric.
|
|
52
|
+
# * 'HealthCheckGracePeriod'<~Integer>: The length of time
|
|
53
|
+
# that Auto Scaling waits before checking an instance's
|
|
54
|
+
# health status. The grace period begins when an instance
|
|
55
|
+
# comes into service.
|
|
56
|
+
# * 'HealthCheckType'<~String>: The service of interest for
|
|
57
|
+
# the health status check, either "EC2" for Amazon EC2 or
|
|
58
|
+
# "ELB" for Elastic Load Balancing.
|
|
59
|
+
# * 'Instances'<~Array>:
|
|
60
|
+
# * instance<~Hash>:
|
|
61
|
+
# * 'AvailabilityZone'<~String>: Availability zone
|
|
62
|
+
# associated with this instance.
|
|
63
|
+
# * 'HealthStatus'<~String>: The instance's health
|
|
64
|
+
# status.
|
|
65
|
+
# * 'InstanceId'<~String>: Specifies the EC2 instance ID.
|
|
66
|
+
# * 'LaunchConfigurationName'<~String>: The launch
|
|
67
|
+
# configuration associated with this instance.
|
|
68
|
+
# * 'LifecycleState'<~String>: Contains a description of
|
|
69
|
+
# the current lifecycle state.
|
|
70
|
+
# * 'LaunchConfigurationName'<~String> - Specifies the name
|
|
71
|
+
# of the associated launch configuration.
|
|
72
|
+
# * 'LoadBalancerNames'<~Array> - A list of load balancers
|
|
73
|
+
# associated with this Auto Scaling group.
|
|
74
|
+
# * 'MaxSize'<~Integer> - The maximum size of the group.
|
|
75
|
+
# * 'MinSize'<~Integer> - The minimum size of the group.
|
|
76
|
+
# * 'PlacementGroup'<~String> - The name of the cluster
|
|
77
|
+
# placement group, if applicable.
|
|
78
|
+
# * 'SuspendedProcesses'<~Array>:
|
|
79
|
+
# * suspendedprocess'<~Hash>:
|
|
80
|
+
# * 'ProcessName'<~String> - The name of the suspended
|
|
81
|
+
# process.
|
|
82
|
+
# * 'SuspensionReason'<~String> - The reason that the
|
|
83
|
+
# process was suspended.
|
|
84
|
+
# * 'VPCZoneIdentifier'<~String> - The identifier for the VPC
|
|
85
|
+
# connection, if applicable.
|
|
86
|
+
# * 'NextToken'<~String> - Acts as a paging mechanism for large
|
|
87
|
+
# result sets. Set to a non-empty string if there are
|
|
88
|
+
# additional results waiting to be returned. Pass this in to
|
|
89
|
+
# subsequent calls to return additional results.
|
|
90
|
+
#
|
|
91
|
+
# ==== See Also
|
|
92
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeAutoScalingGroups.html
|
|
93
|
+
#
|
|
94
|
+
def describe_auto_scaling_groups(options = {})
|
|
95
|
+
if auto_scaling_group_names = options.delete('AutoScalingGroupNames')
|
|
96
|
+
options.merge!(AWS.indexed_param('AutoScalingGroupNames.member.%d', [*auto_scaling_group_names]))
|
|
97
|
+
end
|
|
98
|
+
request({
|
|
99
|
+
'Action' => 'DescribeAutoScalingGroups',
|
|
100
|
+
:parser => Fog::Parsers::AWS::AutoScaling::DescribeAutoScalingGroups.new
|
|
101
|
+
}.merge!(options))
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
class Mock
|
|
107
|
+
|
|
108
|
+
def describe_auto_scaling_groups(options = {})
|
|
109
|
+
results = { 'AutoScalingGroups' => [] }
|
|
110
|
+
data[:auto_scaling_groups].each do |asg_name, asg_data|
|
|
111
|
+
results['AutoScalingGroups'] << {
|
|
112
|
+
'AutoScalingGroupName' => asg_name
|
|
113
|
+
}.merge!(asg_data)
|
|
114
|
+
end
|
|
115
|
+
response = Excon::Response.new
|
|
116
|
+
response.status = 200
|
|
117
|
+
response.body = {
|
|
118
|
+
'DescribeAutoScalingGroupsResult' => results,
|
|
119
|
+
'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
|
|
120
|
+
}
|
|
121
|
+
response
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|