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,83 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/describe_scheduled_actions'
|
|
8
|
+
|
|
9
|
+
# List all the actions scheduled for your Auto Scaling group that
|
|
10
|
+
# haven't been executed. To see a list of action already executed, see
|
|
11
|
+
# the activity record returned in describe_scaling_activities.
|
|
12
|
+
#
|
|
13
|
+
# ==== Parameters
|
|
14
|
+
# * options<~Hash>:
|
|
15
|
+
# * 'AutoScalingGroupName'<~String> - The name of the Auto Scaling
|
|
16
|
+
# group.
|
|
17
|
+
# * 'EndTime'<~Time> - The latest scheduled start time to return. If
|
|
18
|
+
# scheduled action names are provided, this field will be ignored.
|
|
19
|
+
# * 'MaxRecords'<~Integer> - The maximum number of scheduled actions
|
|
20
|
+
# to return.
|
|
21
|
+
# * 'NextToken'<~String> - The token returned by a previous call to
|
|
22
|
+
# indicate that there is more data available.
|
|
23
|
+
# * 'ScheduledActionNames'<~Array> - A list of scheduled actions to
|
|
24
|
+
# be described. If this list is omitted, all scheduled actions are
|
|
25
|
+
# described. The list of requested scheduled actions cannot contain
|
|
26
|
+
# more than 50 items. If an auto scaling group name is provided,
|
|
27
|
+
# the results are limited to that group. If unknown scheduled
|
|
28
|
+
# actions are requested, they are ignored with no error.
|
|
29
|
+
# * 'StartTime'<~Time> - The earliest scheduled start time to return.
|
|
30
|
+
# If scheduled action names are provided, this field will be
|
|
31
|
+
# ignored.
|
|
32
|
+
#
|
|
33
|
+
# ==== Returns
|
|
34
|
+
# * response<~Excon::Response>:
|
|
35
|
+
# * body<~Hash>:
|
|
36
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
37
|
+
# * 'RequestId'<~String> - Id of request
|
|
38
|
+
# * 'DescribeScheduledActionsResponse'<~Hash>:
|
|
39
|
+
# * 'ScheduledUpdateGroupActions'<~Array>:
|
|
40
|
+
# * scheduledupdatesroupAction<~Hash>:
|
|
41
|
+
# * 'AutoScalingGroupName'<~String> - The name of the Auto
|
|
42
|
+
# Scaling group to be updated.
|
|
43
|
+
# * 'DesiredCapacity'<~Integer> -The number of instances you
|
|
44
|
+
# prefer to maintain in your Auto Scaling group.
|
|
45
|
+
# * 'MaxSize'<~Integer> - The maximum size of the Auto Scaling
|
|
46
|
+
# group.
|
|
47
|
+
# * 'MinSize'<~Integer> - The minimum size of the Auto Scaling
|
|
48
|
+
# group.
|
|
49
|
+
# * 'ScheduledActionARN'<~String> - The Amazon Resource Name
|
|
50
|
+
# (ARN) of this scheduled action.
|
|
51
|
+
# * 'Time'<~Time> - The time that the action is scheduled to
|
|
52
|
+
# occur. This value can be up to one month in the future.
|
|
53
|
+
# * 'NextToken'<~String> - Acts as a paging mechanism for large
|
|
54
|
+
# result sets. Set to a non-empty string if there are
|
|
55
|
+
# additional results waiting to be returned. Pass this in to
|
|
56
|
+
# subsequent calls to return additional results.
|
|
57
|
+
#
|
|
58
|
+
# ==== See Also
|
|
59
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DescribeScheduledActions.html
|
|
60
|
+
#
|
|
61
|
+
def describe_scheduled_actions(options = {})
|
|
62
|
+
if scheduled_action_names = options.delete('ScheduledActionNames')
|
|
63
|
+
options.merge!(AWS.indexed_param('ScheduledActionNames.member.%d', [*scheduled_action_names]))
|
|
64
|
+
end
|
|
65
|
+
request({
|
|
66
|
+
'Action' => 'DescribeScheduledActions',
|
|
67
|
+
:parser => Fog::Parsers::AWS::AutoScaling::DescribeScheduledActions.new
|
|
68
|
+
}.merge!(options))
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
class Mock
|
|
74
|
+
|
|
75
|
+
def describe_scheduled_actions(options = {})
|
|
76
|
+
Fog::Mock.not_implemented
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Disables monitoring of group metrics for the Auto Scaling group
|
|
10
|
+
# specified in AutoScalingGroupName. You can specify the list of
|
|
11
|
+
# affected metrics with the Metrics parameter.
|
|
12
|
+
#
|
|
13
|
+
# ==== Parameters
|
|
14
|
+
# * 'AutoScalingGroupName'<~String> - The name or ARN of the Auto
|
|
15
|
+
# Scaling group.
|
|
16
|
+
# * options<~Hash>:
|
|
17
|
+
# * Metrics<~Array> - The list of metrics to disable. If no metrics
|
|
18
|
+
# are specified, all metrics are disabled.
|
|
19
|
+
#
|
|
20
|
+
# ==== Returns
|
|
21
|
+
# * response<~Excon::Response>:
|
|
22
|
+
# * body<~Hash>:
|
|
23
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
24
|
+
# * 'RequestId'<~String> - Id of request
|
|
25
|
+
#
|
|
26
|
+
# ==== See Also
|
|
27
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_DisableMetricsCollection.html
|
|
28
|
+
#
|
|
29
|
+
def disable_metrics_collection(auto_scaling_group_name, options = {})
|
|
30
|
+
if metrics = options.delete('Metrics')
|
|
31
|
+
options.merge!(AWS.indexed_param('Metrics.member.%d', [*metrics]))
|
|
32
|
+
end
|
|
33
|
+
request({
|
|
34
|
+
'Action' => 'DisableMetricsCollection',
|
|
35
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
36
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
37
|
+
}.merge!(options))
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
class Mock
|
|
43
|
+
|
|
44
|
+
def disable_metrics_collection(auto_scaling_group_name, options = {})
|
|
45
|
+
unless data[:auto_scaling_groups].has_key?(auto_scaling_group_name)
|
|
46
|
+
Fog::AWS::AutoScaling::ValidationError.new("Group #{auto_scaling_group_name} not found")
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
Fog::Mock.not_implemented
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Enables monitoring of group metrics for the Auto Scaling group
|
|
10
|
+
# specified in auto_scaling_group_name. You can specify the list of
|
|
11
|
+
# enabled metrics with the metrics parameter.
|
|
12
|
+
#
|
|
13
|
+
# Auto scaling metrics collection can be turned on only if the
|
|
14
|
+
# instance_monitoring.enabled flag, in the Auto Scaling group's launch
|
|
15
|
+
# configuration, is set to true.
|
|
16
|
+
#
|
|
17
|
+
# ==== Parameters
|
|
18
|
+
# * 'AutoScalingGroupName'<~String>: The name or ARN of the Auto
|
|
19
|
+
# Scaling group
|
|
20
|
+
# * options<~Hash>:
|
|
21
|
+
# * Granularity<~String>: The granularity to associate with the
|
|
22
|
+
# metrics to collect.
|
|
23
|
+
# * Metrics<~Array>: The list of metrics to collect. If no metrics
|
|
24
|
+
# are specified, all metrics are enabled.
|
|
25
|
+
#
|
|
26
|
+
# ==== Returns
|
|
27
|
+
# * response<~Excon::Response>:
|
|
28
|
+
# * body<~Hash>:
|
|
29
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
30
|
+
# * 'RequestId'<~String> - Id of request
|
|
31
|
+
#
|
|
32
|
+
# ==== See Also
|
|
33
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_EnableMetricsCollection.html
|
|
34
|
+
#
|
|
35
|
+
def enable_metrics_collection(auto_scaling_group_name, granularity, options = {})
|
|
36
|
+
if metrics = options.delete('Metrics')
|
|
37
|
+
options.merge!(AWS.indexed_param('Metrics.member.%d', [*metrics]))
|
|
38
|
+
end
|
|
39
|
+
request({
|
|
40
|
+
'Action' => 'EnableMetricsCollection',
|
|
41
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
42
|
+
'Granularity' => granularity,
|
|
43
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
44
|
+
}.merge!(options))
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
class Mock
|
|
50
|
+
|
|
51
|
+
def enable_metrics_collection(auto_scaling_group_name, granularity, options = {})
|
|
52
|
+
unless data[:auto_scaling_groups].has_key?(auto_scaling_group_name)
|
|
53
|
+
Fog::AWS::AutoScaling::ValidationError.new("Group #{auto_scaling_group_name} not found")
|
|
54
|
+
end
|
|
55
|
+
unless data[:metric_collection_types][:granularities].include?(granularity)
|
|
56
|
+
Fog::AWS::AutoScaling::ValidationError.new('Valid metrics granularity type is: [1Minute].')
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
Fog::Mock.not_implemented
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Runs the policy you create for your Auto Scaling group in
|
|
10
|
+
# put_scaling_policy.
|
|
11
|
+
#
|
|
12
|
+
# ==== Parameters
|
|
13
|
+
# * 'PolicyName'<~String> - The name or PolicyARN of the policy you
|
|
14
|
+
# want to run.
|
|
15
|
+
# * options<~Hash>:
|
|
16
|
+
# * 'AutoScalingGroupName'<~String> - The name or ARN of the Auto
|
|
17
|
+
# Scaling group.
|
|
18
|
+
# * 'HonorCooldown'<~Boolean> - Set to true if you want Auto Scaling
|
|
19
|
+
# to reject this request if the Auto Scaling group is in cooldown.
|
|
20
|
+
#
|
|
21
|
+
# ==== Returns
|
|
22
|
+
# * response<~Excon::Response>:
|
|
23
|
+
# * body<~Hash>:
|
|
24
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
25
|
+
# * 'RequestId'<~String> - Id of request
|
|
26
|
+
#
|
|
27
|
+
# ==== See Also
|
|
28
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_ExecutePolicy.html
|
|
29
|
+
#
|
|
30
|
+
def execute_policy(policy_name, options = {})
|
|
31
|
+
request({
|
|
32
|
+
'Action' => 'ExecutePolicy',
|
|
33
|
+
'PolicyName' => policy_name,
|
|
34
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
35
|
+
}.merge!(options))
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class Mock
|
|
41
|
+
|
|
42
|
+
def execute_policy(policy_name, options = {})
|
|
43
|
+
Fog::Mock.not_implemented
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/put_scaling_policy'
|
|
8
|
+
|
|
9
|
+
# Creates or updates a policy for an Auto Scaling group. To update an
|
|
10
|
+
# existing policy, use the existing policy name and set the
|
|
11
|
+
# parameter(s) you want to change. Any existing parameter not changed
|
|
12
|
+
# in an update to an existing policy is not changed in this update
|
|
13
|
+
# request.
|
|
14
|
+
#
|
|
15
|
+
# ==== Parameters
|
|
16
|
+
# * adjustment_type<~String> - Specifies whether the scaling_adjustment
|
|
17
|
+
# is an absolute number or a percentage of the current capacity.
|
|
18
|
+
# * auto_scaling_group_name<~String> - The name or ARN of the Auto
|
|
19
|
+
# Scaling group.
|
|
20
|
+
# * policy_name<~String> - The name of the policy you want to create or
|
|
21
|
+
# update.
|
|
22
|
+
# * scaling_adjustment<~Integer> - The number of instances by which to
|
|
23
|
+
# scale. AdjustmentType determines the interpretation of this number
|
|
24
|
+
# (e.g., as an absolute number or as a percentage of the existing
|
|
25
|
+
# Auto Scaling group size). A positive increment adds to the current
|
|
26
|
+
# capacity and a negative value removes from the current capacity.
|
|
27
|
+
# * options<~Hash>:
|
|
28
|
+
# * 'CoolDown'<~Integer> - The amount of time, in seconds, after a
|
|
29
|
+
# scaling activity completes before any further trigger-related
|
|
30
|
+
# scaling activities can start
|
|
31
|
+
#
|
|
32
|
+
# ==== Returns
|
|
33
|
+
# * response<~Excon::Response>:
|
|
34
|
+
# * body<~Hash>:
|
|
35
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
36
|
+
# * 'RequestId'<~String> - Id of request
|
|
37
|
+
# * 'PutScalingPolicyResponse'<~Hash>:
|
|
38
|
+
# * 'PolicyARN'<~String> - A policy's Amazon Resource Name (ARN).
|
|
39
|
+
#
|
|
40
|
+
# ==== See Also
|
|
41
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_PutScalingPolicy.html
|
|
42
|
+
#
|
|
43
|
+
def put_scaling_policy(adjustment_type, auto_scaling_group_name, policy_name, scaling_adjustment, options = {})
|
|
44
|
+
request({
|
|
45
|
+
'Action' => 'PutScalingPolicy',
|
|
46
|
+
'AdjustmentType' => adjustment_type,
|
|
47
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
48
|
+
'PolicyName' => policy_name,
|
|
49
|
+
'ScalingAdjustment' => scaling_adjustment,
|
|
50
|
+
:parser => Fog::Parsers::AWS::AutoScaling::PutScalingPolicy.new
|
|
51
|
+
}.merge!(options))
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
class Mock
|
|
57
|
+
|
|
58
|
+
def put_scaling_policy(adjustment_type, auto_scaling_group_name, policy_name, scaling_adjustment, options = {})
|
|
59
|
+
Fog::Mock.not_implemented
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
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 scheduled scaling action for a Auto Scaling group. If you
|
|
10
|
+
# leave a parameter unspecified, the corresponding value remains
|
|
11
|
+
# unchanged in the affected Auto Scaling group.
|
|
12
|
+
#
|
|
13
|
+
# ==== Parameters
|
|
14
|
+
# * auto_scaling_group_name<~String> - The name or ARN of the Auto
|
|
15
|
+
# Scaling Group.
|
|
16
|
+
# * scheduled_action_name<~String> - Name of this scaling action.
|
|
17
|
+
# * time<~Datetime> - The time for this action to start
|
|
18
|
+
# * options<~Hash>:
|
|
19
|
+
# * 'DesiredCapacity'<~Integer> - The number of EC2 instances that
|
|
20
|
+
# should be running in this group.
|
|
21
|
+
# * 'MaxSize'<~Integer> - The maximum size for the Auto Scaling
|
|
22
|
+
# group.
|
|
23
|
+
# * 'MinSize'<~Integer> - The minimum size for the Auto Scaling
|
|
24
|
+
# group.
|
|
25
|
+
#
|
|
26
|
+
# ==== Returns
|
|
27
|
+
# * response<~Excon::Response>:
|
|
28
|
+
# * body<~Hash>:
|
|
29
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
30
|
+
# * 'RequestId'<~String> - Id of request
|
|
31
|
+
#
|
|
32
|
+
# ==== See Also
|
|
33
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_PutScheduledUpdateGroupAction.html
|
|
34
|
+
#
|
|
35
|
+
def put_scheduled_update_group_action(auto_scaling_group_name, scheduled_action_name, time, options = {})
|
|
36
|
+
request({
|
|
37
|
+
'Action' => 'PutScheduledUpdateGroupAction',
|
|
38
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
39
|
+
'ScheduledActionName' => scheduled_action_name,
|
|
40
|
+
'Time' => time.utc.strftime('%FT%T.%3NZ'),
|
|
41
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
42
|
+
}.merge!(options))
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
class Mock
|
|
48
|
+
|
|
49
|
+
def put_scheduled_update_group_action(auto_scaling_group_name, scheduled_policy_name, time, options = {})
|
|
50
|
+
Fog::Mock.not_implemented
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Resumes Auto Scaling processes for an Auto Scaling group.
|
|
10
|
+
#
|
|
11
|
+
# ==== Parameters
|
|
12
|
+
# * auto_scaling_group_name'<~String> - The name or Amazon Resource
|
|
13
|
+
# Name (ARN) of the Auto Scaling group.
|
|
14
|
+
# * options<~Hash>:
|
|
15
|
+
# * 'ScalingProcesses'<~Array> - The processes that you want to
|
|
16
|
+
# resume. To resume all process types, omit this parameter.
|
|
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_ResumeProcesses.html
|
|
26
|
+
#
|
|
27
|
+
def resume_processes(auto_scaling_group_name, options = {})
|
|
28
|
+
if scaling_processes = options.delete('ScalingProcesses')
|
|
29
|
+
options.merge!(AWS.indexed_param('ScalingProcesses.member.%d', [*scaling_processes]))
|
|
30
|
+
end
|
|
31
|
+
request({
|
|
32
|
+
'Action' => 'ResumeProcesses',
|
|
33
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
34
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
35
|
+
}.merge!(options))
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
class Mock
|
|
41
|
+
|
|
42
|
+
def resume_processes(auto_scaling_group_name, options = {})
|
|
43
|
+
Fog::Mock.not_implemented
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module AWS
|
|
3
|
+
class AutoScaling
|
|
4
|
+
|
|
5
|
+
class Real
|
|
6
|
+
|
|
7
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
|
8
|
+
|
|
9
|
+
# Adjusts the desired size of the AutoScalingGroup by initiating
|
|
10
|
+
# scaling activities. When reducing the size of the group, it is not
|
|
11
|
+
# possible to define which EC2 instances will be terminated. This
|
|
12
|
+
# applies to any auto-scaling decisions that might result in
|
|
13
|
+
# terminating instances.
|
|
14
|
+
#
|
|
15
|
+
# There are two common use cases for set_desired_capacity: one for
|
|
16
|
+
# users of the Auto Scaling triggering system, and another for
|
|
17
|
+
# developers who write their own triggering systems. Both use cases
|
|
18
|
+
# relate to the concept of cooldown.
|
|
19
|
+
#
|
|
20
|
+
# In the first case, if you use the Auto Scaling triggering system,
|
|
21
|
+
# set_desired_capacity changes the size of your Auto Scaling group
|
|
22
|
+
# without regard to the cooldown period. This could be useful, for
|
|
23
|
+
# example, if Auto Scaling did something unexpected for some reason. If
|
|
24
|
+
# your cooldown period is 10 minutes, Auto Scaling would normally
|
|
25
|
+
# reject requests to change the size of the group for that entire 10
|
|
26
|
+
# minute period. The set_desired_capacity command allows you to
|
|
27
|
+
# circumvent this restriction and change the size of the group before
|
|
28
|
+
# the end of the cooldown period.
|
|
29
|
+
#
|
|
30
|
+
# In the second case, if you write your own triggering system, you can
|
|
31
|
+
# use set_desired_capacity to control the size of your Auto Scaling
|
|
32
|
+
# group. If you want the same cooldown functionality that Auto Scaling
|
|
33
|
+
# offers, you can configure set_desired_capacity to honor cooldown by
|
|
34
|
+
# setting the HonorCooldown parameter to true.
|
|
35
|
+
#
|
|
36
|
+
# ==== Parameters
|
|
37
|
+
# * auto_scaling_group_name<~String> - The name of the Auto Scaling
|
|
38
|
+
# group.
|
|
39
|
+
# * desired_capacity<~Integer> - The new capacity setting for the Auto
|
|
40
|
+
# Scaling group.
|
|
41
|
+
# * options<~Hash>:
|
|
42
|
+
# * 'HonorCooldown'<~Boolean> - By default, set_desired_capacity
|
|
43
|
+
# overrides any cooldown period. Set to true if you want Auto
|
|
44
|
+
# Scaling to reject this request if the Auto Scaling group is in
|
|
45
|
+
# cooldown.
|
|
46
|
+
#
|
|
47
|
+
# ==== Returns
|
|
48
|
+
# * response<~Excon::Response>:
|
|
49
|
+
# * body<~Hash>:
|
|
50
|
+
# * 'ResponseMetadata'<~Hash>:
|
|
51
|
+
# * 'RequestId'<~String> - Id of request
|
|
52
|
+
#
|
|
53
|
+
# ==== See Also
|
|
54
|
+
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_SetDesiredCapacity.html
|
|
55
|
+
#
|
|
56
|
+
def set_desired_capacity(auto_scaling_group_name, desired_capacity, options = {})
|
|
57
|
+
request({
|
|
58
|
+
'Action' => 'SetDesiredCapacity',
|
|
59
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
|
60
|
+
'DesiredCapacity' => desired_capacity,
|
|
61
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
|
62
|
+
}.merge!(options))
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
class Mock
|
|
68
|
+
|
|
69
|
+
def set_desired_capacity(auto_scaling_group_name, desired_capacity, options = {})
|
|
70
|
+
unless data[:auto_scaling_groups].has_key?(auto_scaling_group_name)
|
|
71
|
+
Fog::AWS::AutoScaling::ValidationError.new('AutoScalingGroup name not found - null')
|
|
72
|
+
end
|
|
73
|
+
data[:auto_scaling_groups][auto_scaling_group_name]['DesiredCapacity'] = desired_capacity
|
|
74
|
+
|
|
75
|
+
response = Excon::Response.new
|
|
76
|
+
response.status = 200
|
|
77
|
+
response.body = {
|
|
78
|
+
'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
|
|
79
|
+
}
|
|
80
|
+
response
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|