fog 1.1.0 → 1.2.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/.gitignore +6 -0
- data/README.rdoc +1 -1
- data/Rakefile +7 -19
- data/changelog.txt +827 -2
- data/docs/_layouts/default.html +1 -1
- data/docs/compute/index.markdown +15 -1
- data/docs/index.markdown +2 -2
- data/docs/storage/index.markdown +4 -4
- data/fog.gemspec +8 -5
- data/lib/fog/aws/auto_scaling.rb +2 -17
- data/lib/fog/aws/beanstalk.rb +140 -0
- data/lib/fog/aws/cloud_formation.rb +1 -16
- data/lib/fog/aws/cloud_watch.rb +2 -17
- data/lib/fog/aws/compute.rb +22 -21
- data/lib/fog/aws/dns.rb +2 -2
- data/lib/fog/aws/dynamodb.rb +162 -0
- data/lib/fog/aws/elasticache.rb +1 -7
- data/lib/fog/aws/elb/policy_types.rb +35 -0
- data/lib/fog/aws/elb.rb +34 -24
- data/lib/fog/aws/emr.rb +5 -4
- data/lib/fog/aws/iam.rb +16 -1
- data/lib/fog/aws/models/auto_scaling/activity.rb +1 -1
- data/lib/fog/aws/models/auto_scaling/group.rb +2 -2
- data/lib/fog/aws/models/beanstalk/application.rb +62 -0
- data/lib/fog/aws/models/beanstalk/applications.rb +25 -0
- data/lib/fog/aws/models/beanstalk/environment.rb +129 -0
- data/lib/fog/aws/models/beanstalk/environments.rb +29 -0
- data/lib/fog/aws/models/beanstalk/event.rb +20 -0
- data/lib/fog/aws/models/beanstalk/events.rb +19 -0
- data/lib/fog/aws/models/beanstalk/template.rb +62 -0
- data/lib/fog/aws/models/beanstalk/templates.rb +70 -0
- data/lib/fog/aws/models/beanstalk/version.rb +79 -0
- data/lib/fog/aws/models/beanstalk/versions.rb +31 -0
- data/lib/fog/aws/models/cloud_watch/metric_statistic.rb +1 -2
- data/lib/fog/aws/models/compute/address.rb +7 -4
- data/lib/fog/aws/models/compute/addresses.rb +2 -2
- data/lib/fog/aws/models/compute/flavors.rb +1 -1
- data/lib/fog/aws/models/compute/key_pairs.rb +2 -2
- data/lib/fog/aws/models/compute/security_group.rb +3 -3
- data/lib/fog/aws/models/compute/security_groups.rb +30 -5
- data/lib/fog/aws/models/compute/server.rb +5 -1
- data/lib/fog/aws/models/compute/servers.rb +2 -2
- data/lib/fog/aws/models/compute/subnet.rb +58 -0
- data/lib/fog/aws/models/compute/subnets.rb +99 -0
- data/lib/fog/aws/models/compute/volumes.rb +3 -3
- data/lib/fog/aws/models/compute/vpc.rb +63 -0
- data/lib/fog/aws/models/compute/vpcs.rb +93 -0
- data/lib/fog/aws/models/dns/record.rb +37 -23
- data/lib/fog/aws/models/dns/records.rb +3 -3
- data/lib/fog/aws/models/elasticache/cluster.rb +1 -1
- data/lib/fog/aws/models/elb/listener.rb +9 -7
- data/lib/fog/aws/models/elb/load_balancer.rb +6 -0
- data/lib/fog/aws/models/storage/directory.rb +22 -1
- data/lib/fog/aws/models/storage/file.rb +60 -9
- data/lib/fog/aws/models/storage/files.rb +4 -4
- data/lib/fog/aws/models/storage/version.rb +36 -0
- data/lib/fog/aws/models/storage/versions.rb +38 -0
- data/lib/fog/aws/parsers/auto_scaling/describe_scheduled_actions.rb +3 -3
- data/lib/fog/aws/parsers/beanstalk/check_dns_availability.rb +19 -0
- data/lib/fog/aws/parsers/beanstalk/create_application.rb +24 -0
- data/lib/fog/aws/parsers/beanstalk/create_application_version.rb +26 -0
- data/lib/fog/aws/parsers/beanstalk/create_configuration_template.rb +29 -0
- data/lib/fog/aws/parsers/beanstalk/create_environment.rb +37 -0
- data/lib/fog/aws/parsers/beanstalk/create_storage_location.rb +18 -0
- data/lib/fog/aws/parsers/beanstalk/describe_application_versions.rb +26 -0
- data/lib/fog/aws/parsers/beanstalk/describe_applications.rb +24 -0
- data/lib/fog/aws/parsers/beanstalk/describe_configuration_options.rb +32 -0
- data/lib/fog/aws/parsers/beanstalk/describe_configuration_settings.rb +30 -0
- data/lib/fog/aws/parsers/beanstalk/describe_environment_resources.rb +26 -0
- data/lib/fog/aws/parsers/beanstalk/describe_environments.rb +38 -0
- data/lib/fog/aws/parsers/beanstalk/describe_events.rb +27 -0
- data/lib/fog/aws/parsers/beanstalk/empty.rb +27 -0
- data/lib/fog/aws/parsers/beanstalk/list_available_solution_stacks.rb +21 -0
- data/lib/fog/aws/parsers/beanstalk/parser.rb +93 -0
- data/lib/fog/aws/parsers/beanstalk/retrieve_environment_info.rb +22 -0
- data/lib/fog/aws/parsers/beanstalk/terminate_environment.rb +37 -0
- data/lib/fog/aws/parsers/beanstalk/update_application.rb +24 -0
- data/lib/fog/aws/parsers/beanstalk/update_application_version.rb +26 -0
- data/lib/fog/aws/parsers/beanstalk/update_configuration_template.rb +29 -0
- data/lib/fog/aws/parsers/beanstalk/update_environment.rb +37 -0
- data/lib/fog/aws/parsers/beanstalk/validate_configuration_settings.rb +22 -0
- data/lib/fog/aws/parsers/compute/allocate_address.rb +1 -1
- data/lib/fog/aws/parsers/compute/associate_address.rb +25 -0
- data/lib/fog/aws/parsers/compute/create_subnet.rb +51 -0
- data/lib/fog/aws/parsers/compute/create_vpc.rb +51 -0
- data/lib/fog/aws/parsers/compute/delete_subnet.rb +24 -0
- data/lib/fog/aws/parsers/compute/delete_vpc.rb +24 -0
- data/lib/fog/aws/parsers/compute/describe_addresses.rb +1 -1
- data/lib/fog/aws/parsers/compute/describe_images.rb +20 -13
- data/lib/fog/aws/parsers/compute/describe_instance_status.rb +97 -0
- data/lib/fog/aws/parsers/compute/describe_instances.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_security_groups.rb +4 -4
- data/lib/fog/aws/parsers/compute/describe_subnets.rb +49 -0
- data/lib/fog/aws/parsers/compute/describe_volume_status.rb +70 -0
- data/lib/fog/aws/parsers/compute/describe_vpcs.rb +49 -0
- data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +15 -7
- data/lib/fog/aws/parsers/elb/describe_load_balancer_policies.rb +64 -0
- data/lib/fog/aws/parsers/elb/describe_load_balancer_policy_types.rb +70 -0
- data/lib/fog/aws/parsers/sns/confirm_subscription.rb +1 -1
- data/lib/fog/aws/parsers/sns/create_topic.rb +1 -1
- data/lib/fog/aws/parsers/sns/list_subscriptions.rb +2 -2
- data/lib/fog/aws/parsers/sns/list_topics.rb +1 -1
- data/lib/fog/aws/parsers/sns/subscribe.rb +1 -1
- data/lib/fog/aws/parsers/sqs/receive_message.rb +1 -1
- data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +32 -0
- data/lib/fog/aws/parsers/storage/get_bucket_object_versions.rb +1 -1
- data/lib/fog/aws/parsers/storage/get_bucket_versioning.rb +1 -1
- data/lib/fog/aws/parsers/sts/get_session_token.rb +31 -0
- data/lib/fog/aws/rds.rb +51 -18
- data/lib/fog/aws/requests/auto_scaling/delete_launch_configuration.rb +10 -1
- data/lib/fog/aws/requests/auto_scaling/describe_launch_configurations.rb +16 -7
- data/lib/fog/aws/requests/auto_scaling/describe_scheduled_actions.rb +5 -0
- data/lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb +13 -3
- data/lib/fog/aws/requests/beanstalk/check_dns_availability.rb +27 -0
- data/lib/fog/aws/requests/beanstalk/create_application.rb +29 -0
- data/lib/fog/aws/requests/beanstalk/create_application_version.rb +41 -0
- data/lib/fog/aws/requests/beanstalk/create_configuration_template.rb +44 -0
- data/lib/fog/aws/requests/beanstalk/create_environment.rb +50 -0
- data/lib/fog/aws/requests/beanstalk/create_storage_location.rb +27 -0
- data/lib/fog/aws/requests/beanstalk/delete_application.rb +29 -0
- data/lib/fog/aws/requests/beanstalk/delete_application_version.rb +36 -0
- data/lib/fog/aws/requests/beanstalk/delete_configuration_template.rb +34 -0
- data/lib/fog/aws/requests/beanstalk/delete_environment_configuration.rb +34 -0
- data/lib/fog/aws/requests/beanstalk/describe_application_versions.rb +34 -0
- data/lib/fog/aws/requests/beanstalk/describe_applications.rb +30 -0
- data/lib/fog/aws/requests/beanstalk/describe_configuration_options.rb +40 -0
- data/lib/fog/aws/requests/beanstalk/describe_configuration_settings.rb +31 -0
- data/lib/fog/aws/requests/beanstalk/describe_environment_resources.rb +29 -0
- data/lib/fog/aws/requests/beanstalk/describe_environments.rb +40 -0
- data/lib/fog/aws/requests/beanstalk/describe_events.rb +29 -0
- data/lib/fog/aws/requests/beanstalk/list_available_solution_stacks.rb +27 -0
- data/lib/fog/aws/requests/beanstalk/rebuild_environment.rb +30 -0
- data/lib/fog/aws/requests/beanstalk/request_environment_info.rb +29 -0
- data/lib/fog/aws/requests/beanstalk/restart_app_server.rb +29 -0
- data/lib/fog/aws/requests/beanstalk/retrieve_environment_info.rb +29 -0
- data/lib/fog/aws/requests/beanstalk/swap_environment_cnames.rb +29 -0
- data/lib/fog/aws/requests/beanstalk/terminate_environment.rb +31 -0
- data/lib/fog/aws/requests/beanstalk/update_application.rb +30 -0
- data/lib/fog/aws/requests/beanstalk/update_application_version.rb +30 -0
- data/lib/fog/aws/requests/beanstalk/update_configuration_template.rb +36 -0
- data/lib/fog/aws/requests/beanstalk/update_environment.rb +42 -0
- data/lib/fog/aws/requests/beanstalk/validate_configuration_settings.rb +33 -0
- data/lib/fog/aws/requests/compute/allocate_address.rb +11 -4
- data/lib/fog/aws/requests/compute/associate_address.rb +44 -17
- data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +15 -17
- data/lib/fog/aws/requests/compute/create_security_group.rb +8 -4
- data/lib/fog/aws/requests/compute/create_subnet.rb +79 -0
- data/lib/fog/aws/requests/compute/create_tags.rb +3 -2
- data/lib/fog/aws/requests/compute/create_vpc.rb +71 -0
- data/lib/fog/aws/requests/compute/delete_security_group.rb +22 -4
- data/lib/fog/aws/requests/compute/delete_subnet.rb +49 -0
- data/lib/fog/aws/requests/compute/delete_vpc.rb +52 -0
- data/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -0
- data/lib/fog/aws/requests/compute/describe_instance_status.rb +36 -0
- data/lib/fog/aws/requests/compute/describe_security_groups.rb +4 -0
- data/lib/fog/aws/requests/compute/describe_subnets.rb +66 -0
- data/lib/fog/aws/requests/compute/describe_volume_status.rb +50 -0
- data/lib/fog/aws/requests/compute/describe_vpcs.rb +62 -0
- data/lib/fog/aws/requests/compute/detach_volume.rb +13 -8
- data/lib/fog/aws/requests/compute/disassociate_address.rb +7 -5
- data/lib/fog/aws/requests/compute/request_spot_instances.rb +5 -1
- data/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +11 -13
- data/lib/fog/aws/requests/compute/run_instances.rb +5 -1
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +43 -28
- data/lib/fog/aws/requests/dns/create_hosted_zone.rb +9 -9
- data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +7 -7
- data/lib/fog/aws/requests/dns/get_change.rb +5 -5
- data/lib/fog/aws/requests/dns/get_hosted_zone.rb +8 -8
- data/lib/fog/aws/requests/dns/list_hosted_zones.rb +15 -15
- data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +23 -20
- data/lib/fog/aws/requests/dynamodb/batch_get_item.rb +43 -0
- data/lib/fog/aws/requests/dynamodb/create_table.rb +55 -0
- data/lib/fog/aws/requests/dynamodb/delete_item.rb +45 -0
- data/lib/fog/aws/requests/dynamodb/delete_table.rb +42 -0
- data/lib/fog/aws/requests/dynamodb/describe_table.rb +44 -0
- data/lib/fog/aws/requests/dynamodb/get_item.rb +43 -0
- data/lib/fog/aws/requests/dynamodb/list_tables.rb +29 -0
- data/lib/fog/aws/requests/dynamodb/put_item.rb +41 -0
- data/lib/fog/aws/requests/dynamodb/query.rb +44 -0
- data/lib/fog/aws/requests/dynamodb/scan.rb +45 -0
- data/lib/fog/aws/requests/dynamodb/update_item.rb +49 -0
- data/lib/fog/aws/requests/dynamodb/update_table.rb +46 -0
- data/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +2 -2
- data/lib/fog/aws/requests/elasticache/modify_cache_cluster.rb +2 -2
- data/lib/fog/aws/requests/elb/create_app_cookie_stickiness_policy.rb +2 -0
- data/lib/fog/aws/requests/elb/create_lb_cookie_stickiness_policy.rb +3 -1
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +7 -2
- data/lib/fog/aws/requests/elb/create_load_balancer_listeners.rb +10 -1
- data/lib/fog/aws/requests/elb/create_load_balancer_policy.rb +79 -0
- data/lib/fog/aws/requests/elb/delete_load_balancer_policy.rb +1 -1
- data/lib/fog/aws/requests/elb/describe_load_balancer_policies.rb +71 -0
- data/lib/fog/aws/requests/elb/describe_load_balancer_policy_types.rb +68 -0
- data/lib/fog/aws/requests/elb/describe_load_balancers.rb +5 -1
- data/lib/fog/aws/requests/elb/set_load_balancer_listener_ssl_certificate.rb +27 -0
- data/lib/fog/aws/requests/elb/set_load_balancer_policies_of_listener.rb +1 -1
- data/lib/fog/aws/requests/emr/run_job_flow.rb +9 -7
- data/lib/fog/aws/requests/iam/add_user_to_group.rb +24 -0
- data/lib/fog/aws/requests/iam/create_access_key.rb +24 -0
- data/lib/fog/aws/requests/iam/create_group.rb +21 -0
- data/lib/fog/aws/requests/iam/create_user.rb +21 -0
- data/lib/fog/aws/requests/iam/delete_access_key.rb +17 -0
- data/lib/fog/aws/requests/iam/delete_group.rb +19 -0
- data/lib/fog/aws/requests/iam/delete_user.rb +17 -0
- data/lib/fog/aws/requests/iam/delete_user_policy.rb +16 -0
- data/lib/fog/aws/requests/iam/list_access_keys.rb +21 -0
- data/lib/fog/aws/requests/iam/list_groups.rb +18 -0
- data/lib/fog/aws/requests/iam/list_groups_for_user.rb +24 -0
- data/lib/fog/aws/requests/iam/list_user_policies.rb +18 -0
- data/lib/fog/aws/requests/iam/list_users.rb +17 -0
- data/lib/fog/aws/requests/iam/put_user_policy.rb +18 -0
- data/lib/fog/aws/requests/iam/remove_user_from_group.rb +19 -0
- data/lib/fog/aws/requests/iam/upload_server_certificate.rb +4 -1
- data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +30 -1
- data/lib/fog/aws/requests/rds/create_db_instance.rb +73 -7
- data/lib/fog/aws/requests/rds/create_db_parameter_group.rb +19 -1
- data/lib/fog/aws/requests/rds/create_db_security_group.rb +19 -1
- data/lib/fog/aws/requests/rds/create_db_snapshot.rb +38 -2
- data/lib/fog/aws/requests/rds/delete_db_instance.rb +18 -3
- data/lib/fog/aws/requests/rds/delete_db_parameter_group.rb +11 -1
- data/lib/fog/aws/requests/rds/delete_db_security_group.rb +11 -1
- data/lib/fog/aws/requests/rds/delete_db_snapshot.rb +15 -4
- data/lib/fog/aws/requests/rds/describe_db_instances.rb +57 -2
- data/lib/fog/aws/requests/rds/describe_db_parameter_groups.rb +19 -1
- data/lib/fog/aws/requests/rds/describe_db_parameters.rb +0 -1
- data/lib/fog/aws/requests/rds/describe_db_reserved_instances.rb +1 -1
- data/lib/fog/aws/requests/rds/describe_db_security_groups.rb +49 -3
- data/lib/fog/aws/requests/rds/describe_db_snapshots.rb +28 -1
- data/lib/fog/aws/requests/rds/modify_db_instance.rb +26 -1
- data/lib/fog/aws/requests/rds/reboot_db_instance.rb +17 -1
- data/lib/fog/aws/requests/rds/revoke_db_security_group_ingress.rb +27 -1
- data/lib/fog/aws/requests/sns/confirm_subscription.rb +1 -1
- data/lib/fog/aws/requests/sns/delete_topic.rb +1 -1
- data/lib/fog/aws/requests/sns/get_topic_attributes.rb +1 -1
- data/lib/fog/aws/requests/sns/list_subscriptions_by_topic.rb +1 -1
- data/lib/fog/aws/requests/sns/publish.rb +1 -1
- data/lib/fog/aws/requests/sns/set_topic_attributes.rb +1 -1
- data/lib/fog/aws/requests/sns/subscribe.rb +1 -1
- data/lib/fog/aws/requests/sns/unsubscribe.rb +1 -1
- data/lib/fog/aws/requests/sqs/change_message_visibility.rb +1 -1
- data/lib/fog/aws/requests/sqs/delete_message.rb +1 -1
- data/lib/fog/aws/requests/sqs/receive_message.rb +13 -14
- data/lib/fog/aws/requests/storage/{hash_to_acl.rb → acl_utils.rb} +8 -0
- data/lib/fog/aws/requests/storage/copy_object.rb +11 -5
- data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +30 -0
- data/lib/fog/aws/requests/storage/delete_object.rb +73 -2
- data/lib/fog/aws/requests/storage/get_bucket.rb +3 -2
- data/lib/fog/aws/requests/storage/get_bucket_acl.rb +7 -1
- data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +41 -0
- data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +95 -2
- data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +32 -0
- data/lib/fog/aws/requests/storage/get_object.rb +42 -12
- data/lib/fog/aws/requests/storage/get_object_acl.rb +7 -1
- data/lib/fog/aws/requests/storage/get_object_http_url.rb +10 -4
- data/lib/fog/aws/requests/storage/get_object_https_url.rb +10 -4
- data/lib/fog/aws/requests/storage/head_object.rb +7 -6
- data/lib/fog/aws/requests/storage/put_bucket_acl.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +48 -0
- data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +41 -0
- data/lib/fog/aws/requests/storage/put_bucket_website.rb +17 -0
- data/lib/fog/aws/requests/storage/put_object.rb +26 -10
- data/lib/fog/aws/requests/storage/put_object_acl.rb +1 -1
- data/lib/fog/aws/requests/storage/sync_clock.rb +1 -1
- data/lib/fog/aws/requests/sts/get_federation_token.rb +21 -0
- data/lib/fog/aws/requests/sts/get_session_token.rb +19 -0
- data/lib/fog/aws/ses.rb +2 -7
- data/lib/fog/aws/simpledb.rb +4 -17
- data/lib/fog/aws/sns.rb +1 -14
- data/lib/fog/aws/sqs.rb +5 -11
- data/lib/fog/aws/storage.rb +7 -23
- data/lib/fog/aws/sts.rb +137 -0
- data/lib/fog/aws.rb +40 -5
- data/lib/fog/{new_servers → bare_metal_cloud}/compute.rb +14 -14
- data/lib/fog/{new_servers → bare_metal_cloud}/requests/compute/add_server.rb +1 -1
- data/lib/fog/{new_servers → bare_metal_cloud}/requests/compute/cancel_server.rb +1 -1
- data/lib/fog/{new_servers → bare_metal_cloud}/requests/compute/get_server.rb +1 -1
- data/lib/fog/{new_servers → bare_metal_cloud}/requests/compute/list_images.rb +1 -1
- data/lib/fog/{new_servers → bare_metal_cloud}/requests/compute/list_plans.rb +1 -1
- data/lib/fog/{new_servers → bare_metal_cloud}/requests/compute/list_servers.rb +1 -1
- data/lib/fog/{new_servers → bare_metal_cloud}/requests/compute/reboot_server.rb +1 -1
- data/lib/fog/{new_servers.rb → bare_metal_cloud.rb} +2 -2
- data/lib/fog/bin/aws.rb +11 -1
- data/lib/fog/bin/{new_servers.rb → bare_metal_cloud.rb} +5 -5
- data/lib/fog/bin/clodo.rb +31 -0
- data/lib/fog/bin/cloudstack.rb +30 -0
- data/lib/fog/bin/joyent.rb +31 -0
- data/lib/fog/bin/ovirt.rb +30 -0
- data/lib/fog/bin/voxel.rb +1 -1
- data/lib/fog/bin.rb +5 -1
- data/lib/fog/bluebox/compute.rb +4 -0
- data/lib/fog/bluebox/models/compute/location.rb +17 -0
- data/lib/fog/bluebox/models/compute/locations.rb +28 -0
- data/lib/fog/bluebox/models/compute/server.rb +12 -5
- data/lib/fog/bluebox/requests/compute/create_block.rb +2 -2
- data/lib/fog/bluebox/requests/compute/get_location.rb +26 -0
- data/lib/fog/bluebox/requests/compute/get_locations.rb +24 -0
- data/lib/fog/brightbox/compute.rb +8 -0
- data/lib/fog/brightbox/models/compute/cloud_ip.rb +10 -2
- data/lib/fog/brightbox/models/compute/firewall_policies.rb +29 -0
- data/lib/fog/brightbox/models/compute/firewall_policy.rb +65 -0
- data/lib/fog/brightbox/models/compute/firewall_rule.rb +54 -0
- data/lib/fog/brightbox/models/compute/firewall_rules.rb +24 -0
- data/lib/fog/brightbox/models/compute/image.rb +2 -0
- data/lib/fog/brightbox/models/compute/server.rb +41 -6
- data/lib/fog/brightbox/models/compute/server_group.rb +56 -17
- data/lib/fog/brightbox/requests/compute/remove_firewall_policy.rb +14 -0
- data/lib/fog/brightbox/requests/compute/update_firewall_rule.rb +13 -0
- data/lib/fog/clodo/compute.rb +152 -0
- data/lib/fog/clodo/models/compute/image.rb +31 -0
- data/lib/fog/clodo/models/compute/images.rb +28 -0
- data/lib/fog/clodo/models/compute/server.rb +163 -0
- data/lib/fog/clodo/models/compute/servers.rb +36 -0
- data/lib/fog/clodo/requests/compute/add_ip_address.rb +49 -0
- data/lib/fog/clodo/requests/compute/create_server.rb +112 -0
- data/lib/fog/clodo/requests/compute/delete_ip_address.rb +47 -0
- data/lib/fog/clodo/requests/compute/delete_server.rb +44 -0
- data/lib/fog/clodo/requests/compute/get_image_details.rb +20 -0
- data/lib/fog/clodo/requests/compute/get_server_details.rb +49 -0
- data/lib/fog/clodo/requests/compute/list_images.rb +48 -0
- data/lib/fog/clodo/requests/compute/list_images_detail.rb +61 -0
- data/lib/fog/clodo/requests/compute/list_servers.rb +50 -0
- data/lib/fog/clodo/requests/compute/list_servers_detail.rb +51 -0
- data/lib/fog/clodo/requests/compute/move_ip_address.rb +34 -0
- data/lib/fog/clodo/requests/compute/reboot_server.rb +19 -0
- data/lib/fog/clodo/requests/compute/rebuild_server.rb +21 -0
- data/lib/fog/clodo/requests/compute/server_action.rb +25 -0
- data/lib/fog/clodo/requests/compute/start_server.rb +19 -0
- data/lib/fog/clodo/requests/compute/stop_server.rb +19 -0
- data/lib/fog/clodo.rb +34 -0
- data/lib/fog/cloudstack/compute.rb +254 -0
- data/lib/fog/cloudstack/requests/compute/acquire_ip_address.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/assign_to_load_balancer_rule.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/attach_volume.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/authorize_security_group_ingress.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/change_service_for_virtual_machine.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_account.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_domain.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_load_balancer_rule.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_network.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_port_forwarding_rule.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_security_group.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_snapshot.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_snapshot_policy.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_ssh_key_pair.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_user.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_volume.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_account.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_domain.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_load_balancer_rule.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_port_forwarding_rule.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_security_group.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_snapshot.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_snapshot_policies.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_ssh_key_pair.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_user.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_volume.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/deploy_virtual_machine.rb +33 -0
- data/lib/fog/cloudstack/requests/compute/destroy_virtual_machine.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/detach_volume.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/disable_account.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/disable_user.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/enable_account.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/enable_user.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/generate_usage_records.rb +28 -0
- data/lib/fog/cloudstack/requests/compute/get_vm_password.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_accounts.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_alerts.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_async_jobs.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_capabilities.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_capacity.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_clusters.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_configurations.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_disk_offerings.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_domain_children.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_domains.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_events.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_external_firewalls.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_external_load_balancers.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_hosts.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_hypervisors.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_instance_groups.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_isos.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_load_balancer_rule_instances.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/list_load_balancer_rules.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/list_network_offerings.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_networks.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_os_categories.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/list_os_types.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/list_pods.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_port_forwarding_rules.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/list_resource_limits.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_security_groups.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_service_offerings.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_snapshot_policies.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_snapshots.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_ssh_key_pairs.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_storage_pools.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_templates.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_usage_records.rb +28 -0
- data/lib/fog/cloudstack/requests/compute/list_users.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_virtual_machines.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_volumes.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_zones.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/migrate_virtual_machine.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/query_async_job_result.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/reboot_virtual_machine.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/recover_virtual_machine.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/register_ssh_key_pair.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/register_user_keys.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/remove_from_load_balancer_rule.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/reset_password_for_virtual_machine.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/revoke_security_group_ingress.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/start_virtual_machine.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/stop_virtual_machine.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/update_account.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/update_domain.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/update_resource_count.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/update_user.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/update_virtual_machine.rb +20 -0
- data/lib/fog/cloudstack.rb +28 -0
- data/lib/fog/compute/models/server.rb +11 -0
- data/lib/fog/compute.rb +20 -3
- data/lib/fog/core/connection.rb +2 -2
- data/lib/fog/core/credentials.rb +3 -3
- data/lib/fog/core/errors.rb +10 -2
- data/lib/fog/core/model.rb +8 -0
- data/lib/fog/core/scp.rb +18 -2
- data/lib/fog/core/wait_for.rb +1 -1
- data/lib/fog/core.rb +1 -3
- data/lib/fog/dns.rb +1 -0
- data/lib/fog/dnsimple/dns.rb +1 -1
- data/lib/fog/dnsmadeeasy/dns.rb +1 -1
- data/lib/fog/dynect/models/dns/records.rb +2 -2
- data/lib/fog/dynect/requests/dns/get_node_list.rb +2 -1
- data/lib/fog/ecloud/compute.rb +1 -1
- data/lib/fog/ecloud/requests/compute/add_backup_internet_service.rb +1 -1
- data/lib/fog/ecloud/requests/compute/add_internet_service.rb +2 -2
- data/lib/fog/ecloud/requests/compute/add_node.rb +1 -1
- data/lib/fog/ecloud/requests/compute/clone_vapp.rb +1 -1
- data/lib/fog/ecloud/requests/compute/configure_internet_service.rb +1 -1
- data/lib/fog/ecloud/requests/compute/configure_network.rb +1 -1
- data/lib/fog/ecloud/requests/compute/configure_network_ip.rb +1 -1
- data/lib/fog/ecloud/requests/compute/configure_vapp.rb +1 -1
- data/lib/fog/ecloud/requests/compute/instantiate_vapp_template.rb +1 -1
- data/lib/fog/glesys/compute.rb +4 -2
- data/lib/fog/glesys/models/compute/server.rb +14 -14
- data/lib/fog/google/requests/storage/get_object.rb +22 -14
- data/lib/fog/joyent/compute.rb +228 -0
- data/lib/fog/joyent/errors.rb +90 -0
- data/lib/fog/joyent/models/compute/flavor.rb +17 -0
- data/lib/fog/joyent/models/compute/flavors.rb +25 -0
- data/lib/fog/joyent/models/compute/image.rb +18 -0
- data/lib/fog/joyent/models/compute/images.rb +25 -0
- data/lib/fog/joyent/models/compute/key.rb +19 -0
- data/lib/fog/joyent/models/compute/keys.rb +34 -0
- data/lib/fog/joyent/models/compute/server.rb +117 -0
- data/lib/fog/joyent/models/compute/servers.rb +35 -0
- data/lib/fog/joyent/models/compute/snapshot.rb +45 -0
- data/lib/fog/joyent/models/compute/snapshots.rb +37 -0
- data/lib/fog/joyent/requests/compute/add_machine_tags.rb +20 -0
- data/lib/fog/joyent/requests/compute/create_key.rb +56 -0
- data/lib/fog/joyent/requests/compute/create_machine.rb +16 -0
- data/lib/fog/joyent/requests/compute/create_machine_snapshot.rb +18 -0
- data/lib/fog/joyent/requests/compute/delete_all_machine_metadata.rb +16 -0
- data/lib/fog/joyent/requests/compute/delete_all_machine_tags.rb +15 -0
- data/lib/fog/joyent/requests/compute/delete_key.rb +29 -0
- data/lib/fog/joyent/requests/compute/delete_machine.rb +15 -0
- data/lib/fog/joyent/requests/compute/delete_machine_metadata.rb +18 -0
- data/lib/fog/joyent/requests/compute/delete_machine_snapshot.rb +21 -0
- data/lib/fog/joyent/requests/compute/delete_machine_tag.rb +15 -0
- data/lib/fog/joyent/requests/compute/get_dataset.rb +28 -0
- data/lib/fog/joyent/requests/compute/get_key.rb +29 -0
- data/lib/fog/joyent/requests/compute/get_machine.rb +29 -0
- data/lib/fog/joyent/requests/compute/get_machine_metadata.rb +25 -0
- data/lib/fog/joyent/requests/compute/get_machine_snapshot.rb +14 -0
- data/lib/fog/joyent/requests/compute/get_machine_tag.rb +19 -0
- data/lib/fog/joyent/requests/compute/get_package.rb +33 -0
- data/lib/fog/joyent/requests/compute/list_datasets.rb +24 -0
- data/lib/fog/joyent/requests/compute/list_keys.rb +25 -0
- data/lib/fog/joyent/requests/compute/list_machine_snapshots.rb +14 -0
- data/lib/fog/joyent/requests/compute/list_machine_tags.rb +20 -0
- data/lib/fog/joyent/requests/compute/list_machines.rb +25 -0
- data/lib/fog/joyent/requests/compute/list_packages.rb +36 -0
- data/lib/fog/joyent/requests/compute/reboot_machine.rb +15 -0
- data/lib/fog/joyent/requests/compute/resize_machine.rb +13 -0
- data/lib/fog/joyent/requests/compute/start_machine.rb +16 -0
- data/lib/fog/joyent/requests/compute/start_machine_from_snapshot.rb +15 -0
- data/lib/fog/joyent/requests/compute/stop_machine.rb +16 -0
- data/lib/fog/joyent/requests/compute/update_machine_metadata.rb +15 -0
- data/lib/fog/joyent.rb +8 -0
- data/lib/fog/libvirt/compute.rb +7 -3
- data/lib/fog/libvirt/models/compute/nodes.rb +1 -3
- data/lib/fog/libvirt/models/compute/server.rb +93 -99
- data/lib/fog/libvirt/models/compute/servers.rb +2 -1
- data/lib/fog/libvirt/models/compute/util.rb +1 -2
- data/lib/fog/local/models/storage/file.rb +8 -1
- data/lib/fog/local/storage.rb +8 -0
- data/lib/fog/ninefold/models/storage/file.rb +8 -0
- data/lib/fog/openstack/compute.rb +0 -2
- data/lib/fog/openstack.rb +9 -7
- data/lib/fog/ovirt/compute.rb +106 -0
- data/lib/fog/ovirt/models/compute/cluster.rb +24 -0
- data/lib/fog/ovirt/models/compute/clusters.rb +23 -0
- data/lib/fog/ovirt/models/compute/interface.rb +22 -0
- data/lib/fog/ovirt/models/compute/interfaces.rb +32 -0
- data/lib/fog/ovirt/models/compute/server.rb +112 -0
- data/lib/fog/ovirt/models/compute/servers.rb +30 -0
- data/lib/fog/ovirt/models/compute/template.rb +53 -0
- data/lib/fog/ovirt/models/compute/templates.rb +23 -0
- data/lib/fog/ovirt/requests/compute/add_interface.rb +23 -0
- data/lib/fog/ovirt/requests/compute/create_vm.rb +20 -0
- data/lib/fog/ovirt/requests/compute/datacenters.rb +22 -0
- data/lib/fog/ovirt/requests/compute/destroy_interface.rb +25 -0
- data/lib/fog/ovirt/requests/compute/destroy_vm.rb +22 -0
- data/lib/fog/ovirt/requests/compute/get_cluster.rb +18 -0
- data/lib/fog/ovirt/requests/compute/get_template.rb +18 -0
- data/lib/fog/ovirt/requests/compute/get_virtual_machine.rb +18 -0
- data/lib/fog/ovirt/requests/compute/list_clusters.rb +20 -0
- data/lib/fog/ovirt/requests/compute/list_networks.rb +17 -0
- data/lib/fog/ovirt/requests/compute/list_template_interfaces.rb +20 -0
- data/lib/fog/ovirt/requests/compute/list_templates.rb +20 -0
- data/lib/fog/ovirt/requests/compute/list_virtual_machines.rb +20 -0
- data/lib/fog/ovirt/requests/compute/list_vm_interfaces.rb +20 -0
- data/lib/fog/ovirt/requests/compute/mock_files/cluster.xml +20 -0
- data/lib/fog/ovirt/requests/compute/mock_files/clusters.xml +39 -0
- data/lib/fog/ovirt/requests/compute/mock_files/data_centers.xml +17 -0
- data/lib/fog/ovirt/requests/compute/mock_files/nics.xml +10 -0
- data/lib/fog/ovirt/requests/compute/mock_files/storage_domains.xml +36 -0
- data/lib/fog/ovirt/requests/compute/mock_files/template.xml +39 -0
- data/lib/fog/ovirt/requests/compute/mock_files/templates.xml +110 -0
- data/lib/fog/ovirt/requests/compute/mock_files/vm.xml +54 -0
- data/lib/fog/ovirt/requests/compute/mock_files/vms.xml +152 -0
- data/lib/fog/ovirt/requests/compute/storage_domains.rb +22 -0
- data/lib/fog/ovirt/requests/compute/update_interface.rb +25 -0
- data/lib/fog/ovirt/requests/compute/update_vm.rb +20 -0
- data/lib/fog/ovirt/requests/compute/vm_action.rb +26 -0
- data/lib/fog/ovirt.rb +17 -0
- data/lib/fog/providers.rb +5 -1
- data/lib/fog/rackspace/dns.rb +10 -2
- data/lib/fog/rackspace/load_balancers.rb +3 -0
- data/lib/fog/rackspace/models/compute/flavor.rb +2 -0
- data/lib/fog/rackspace/models/compute/server.rb +2 -2
- data/lib/fog/rackspace/models/dns/callback.rb +3 -1
- data/lib/fog/rackspace/models/dns/record.rb +4 -0
- data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +18 -8
- data/lib/fog/rackspace/models/storage/directory.rb +5 -1
- data/lib/fog/rackspace/models/storage/file.rb +7 -0
- data/lib/fog/rackspace/requests/compute/create_image.rb +1 -3
- data/lib/fog/rackspace/requests/load_balancers/delete_nodes.rb +1 -2
- data/lib/fog/rackspace/requests/load_balancers/get_error_page.rb +15 -0
- data/lib/fog/rackspace/requests/load_balancers/list_load_balancers.rb +8 -2
- data/lib/fog/rackspace/requests/load_balancers/remove_error_page.rb +15 -0
- data/lib/fog/rackspace/requests/load_balancers/set_error_page.rb +21 -0
- data/lib/fog/rackspace/requests/storage/copy_object.rb +27 -0
- data/lib/fog/rackspace/requests/storage/get_object.rb +8 -2
- data/lib/fog/rackspace/requests/storage/put_object.rb +6 -5
- data/lib/fog/rackspace/storage.rb +1 -0
- data/lib/fog/storm_on_demand/compute.rb +1 -1
- data/lib/fog/vcloud/compute.rb +91 -30
- data/lib/fog/vcloud/models/compute/catalog.rb +1 -1
- data/lib/fog/vcloud/models/compute/catalog_item.rb +1 -1
- data/lib/fog/vcloud/models/compute/catalogs.rb +5 -8
- data/lib/fog/vcloud/models/compute/helpers/status.rb +37 -0
- data/lib/fog/vcloud/models/compute/ip.rb +2 -2
- data/lib/fog/vcloud/models/compute/network.rb +9 -51
- data/lib/fog/vcloud/models/compute/networks.rb +21 -7
- data/lib/fog/vcloud/models/compute/organization.rb +43 -0
- data/lib/fog/vcloud/models/compute/organizations.rb +32 -0
- data/lib/fog/vcloud/models/compute/server.rb +38 -58
- data/lib/fog/vcloud/models/compute/servers.rb +12 -18
- data/lib/fog/vcloud/models/compute/task.rb +1 -1
- data/lib/fog/vcloud/models/compute/tasks.rb +1 -3
- data/lib/fog/vcloud/models/compute/vapp.rb +43 -0
- data/lib/fog/vcloud/models/compute/vapps.rb +28 -0
- data/lib/fog/vcloud/models/compute/vdc.rb +14 -29
- data/lib/fog/vcloud/models/compute/vdcs.rb +6 -11
- data/lib/fog/vcloud/requests/compute/clone_vapp.rb +1 -1
- data/lib/fog/vcloud/requests/compute/configure_network.rb +1 -1
- data/lib/fog/vcloud/requests/compute/configure_network_ip.rb +1 -1
- data/lib/fog/vcloud/requests/compute/configure_vapp.rb +1 -1
- data/lib/fog/vcloud/requests/compute/configure_vm.rb +1 -1
- data/lib/fog/vcloud/requests/compute/get_server.rb +10 -0
- data/lib/fog/vcloud/requests/compute/instantiate_vapp_template.rb +1 -1
- data/lib/fog/vcloud/requests/compute/login.rb +8 -4
- data/lib/fog/virtual_box/compute.rb +4 -0
- data/lib/fog/vmfusion/models/compute/server.rb +120 -52
- data/lib/fog/vmfusion/models/compute/servers.rb +11 -7
- data/lib/fog/voxel/compute.rb +1 -1
- data/lib/fog/vsphere/compute.rb +6 -0
- data/lib/fog/vsphere/models/compute/server.rb +43 -0
- data/lib/fog/vsphere/models/compute/servers.rb +8 -2
- data/lib/fog/vsphere/requests/compute/datacenters.rb +34 -0
- data/lib/fog/vsphere/requests/compute/list_virtual_machines.rb +132 -91
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +115 -41
- data/lib/fog/vsphere/requests/compute/vm_create.rb +97 -0
- data/lib/fog/vsphere/requests/compute/vm_migrate.rb +37 -0
- data/lib/fog/vsphere/requests/compute/vm_reconfig_cpus.rb +23 -0
- data/lib/fog/vsphere/requests/compute/vm_reconfig_hardware.rb +25 -0
- data/lib/fog/vsphere/requests/compute/vm_reconfig_memory.rb +23 -0
- data/lib/fog/zerigo/models/dns/record.rb +7 -5
- data/lib/fog/zerigo/parsers/dns/create_host.rb +3 -1
- data/lib/fog/zerigo/parsers/dns/find_hosts.rb +3 -1
- data/lib/fog/zerigo/parsers/dns/get_host.rb +3 -1
- data/lib/fog/zerigo/parsers/dns/get_zone.rb +3 -1
- data/lib/fog/zerigo/parsers/dns/list_hosts.rb +3 -1
- data/lib/fog/zerigo/requests/dns/update_host.rb +2 -2
- data/lib/fog.rb +1 -1
- data/spec/ecloud/spec_helper.rb +1 -1
- data/spec/lib/fog/aws/parsers/sqs/receive_message_spec.rb +58 -0
- data/tests/aws/models/beanstalk/application_tests.rb +70 -0
- data/tests/aws/models/beanstalk/applications_tests.rb +7 -0
- data/tests/aws/models/beanstalk/environment_tests.rb +132 -0
- data/tests/aws/models/beanstalk/environments_tests.rb +34 -0
- data/tests/aws/models/beanstalk/template_tests.rb +47 -0
- data/tests/aws/models/beanstalk/templates_tests.rb +62 -0
- data/tests/aws/models/beanstalk/version_tests.rb +66 -0
- data/tests/aws/models/beanstalk/versions_tests.rb +61 -0
- data/tests/aws/models/compute/subnet_tests.rb +5 -0
- data/tests/aws/models/compute/subnets_tests.rb +6 -0
- data/tests/aws/models/compute/vpc_tests.rb +4 -0
- data/tests/aws/models/compute/vpcs_tests.rb +6 -0
- data/tests/aws/models/dns/record_tests.rb +23 -0
- data/tests/aws/models/dns/records_tests.rb +23 -0
- data/tests/aws/models/dns/zone_tests.rb +4 -0
- data/tests/aws/models/dns/zones_tests.rb +4 -0
- data/tests/aws/models/elb/model_tests.rb +15 -6
- data/tests/aws/models/rds/security_group_tests.rb +6 -3
- data/tests/aws/models/rds/security_groups_tests.rb +1 -2
- data/tests/aws/models/rds/server_tests.rb +5 -3
- data/tests/aws/models/rds/servers_tests.rb +1 -3
- data/tests/aws/models/rds/snapshot_tests.rb +1 -3
- data/tests/aws/models/rds/snapshots_tests.rb +1 -3
- data/tests/aws/models/storage/directory_tests.rb +51 -0
- data/tests/aws/models/storage/file_tests.rb +80 -0
- data/tests/aws/models/storage/files_tests.rb +56 -0
- data/tests/aws/models/storage/version_tests.rb +52 -0
- data/tests/aws/models/storage/versions_tests.rb +56 -0
- data/tests/aws/requests/auto_scaling/helper.rb +2 -2
- data/tests/aws/requests/beanstalk/application_tests.rb +140 -0
- data/tests/aws/requests/beanstalk/solution_stack_tests.rb +22 -0
- data/tests/aws/requests/compute/address_tests.rb +7 -5
- data/tests/aws/requests/compute/instance_tests.rb +37 -0
- data/tests/aws/requests/compute/security_group_tests.rb +78 -4
- data/tests/aws/requests/compute/subnet_tests.rb +36 -0
- data/tests/aws/requests/compute/volume_tests.rb +4 -0
- data/tests/aws/requests/compute/vpc_tests.rb +34 -0
- data/tests/aws/requests/dns/dns_tests.rb +106 -99
- data/tests/aws/requests/dns/helper.rb +21 -0
- data/tests/aws/requests/dynamodb/item_tests.rb +117 -0
- data/tests/aws/requests/dynamodb/table_tests.rb +99 -0
- data/tests/aws/requests/elb/helper.rb +33 -0
- data/tests/aws/requests/elb/listener_tests.rb +22 -4
- data/tests/aws/requests/elb/policy_tests.rb +13 -0
- data/tests/aws/requests/iam/access_key_tests.rb +2 -7
- data/tests/aws/requests/iam/group_tests.rb +1 -4
- data/tests/aws/requests/iam/helper.rb +19 -0
- data/tests/aws/requests/iam/server_certificate_tests.rb +5 -0
- data/tests/aws/requests/iam/user_policy_tests.rb +4 -11
- data/tests/aws/requests/iam/user_tests.rb +19 -12
- data/tests/aws/requests/rds/helper.rb +45 -11
- data/tests/aws/requests/rds/instance_tests.rb +2 -3
- data/tests/aws/requests/rds/parameter_group_tests.rb +1 -7
- data/tests/aws/requests/rds/security_group_tests.rb +101 -0
- data/tests/aws/requests/storage/{hash_to_acl_tests.rb → acl_utils_tests.rb} +38 -2
- data/tests/aws/requests/storage/bucket_tests.rb +66 -4
- data/tests/aws/requests/storage/object_tests.rb +2 -4
- data/tests/aws/requests/storage/versioning_tests.rb +188 -0
- data/tests/aws/requests/sts/get_federation_token_tests.rb +21 -0
- data/tests/aws/requests/sts/session_token_tests.rb +16 -0
- data/tests/bluebox/requests/compute/block_tests.rb +9 -8
- data/tests/bluebox/requests/compute/helper.rb +5 -0
- data/tests/bluebox/requests/compute/location_tests.rb +32 -0
- data/tests/bluebox/requests/compute/product_tests.rb +10 -4
- data/tests/bluebox/requests/compute/template_tests.rb +4 -2
- data/tests/brightbox/requests/compute/account_tests.rb +11 -6
- data/tests/brightbox/requests/compute/api_client_tests.rb +23 -12
- data/tests/brightbox/requests/compute/cloud_ip_tests.rb +32 -17
- data/tests/brightbox/requests/compute/helper.rb +62 -11
- data/tests/brightbox/requests/compute/image_tests.rb +17 -14
- data/tests/brightbox/requests/compute/interface_tests.rb +3 -2
- data/tests/brightbox/requests/compute/load_balancer_tests.rb +57 -11
- data/tests/brightbox/requests/compute/server_group_tests.rb +29 -22
- data/tests/brightbox/requests/compute/server_tests.rb +43 -22
- data/tests/brightbox/requests/compute/server_type_tests.rb +7 -6
- data/tests/brightbox/requests/compute/user_tests.rb +11 -16
- data/tests/brightbox/requests/compute/zone_tests.rb +7 -6
- data/tests/clodo/requests/compute/image_tests.rb +36 -0
- data/tests/clodo/requests/compute/server_tests.rb +152 -0
- data/tests/cloudstack/requests/disk_offering_tests.rb +29 -0
- data/tests/cloudstack/requests/os_type_tests.rb +38 -0
- data/tests/cloudstack/requests/security_group_tests.rb +29 -0
- data/tests/cloudstack/requests/service_offering_tests.rb +38 -0
- data/tests/cloudstack/requests/snapshot_tests.rb +32 -0
- data/tests/cloudstack/requests/ssh_key_pair_tests.rb +23 -0
- data/tests/cloudstack/requests/template_tests.rb +53 -0
- data/tests/cloudstack/requests/virtual_machine_tests.rb +71 -0
- data/tests/cloudstack/requests/volume_tests.rb +48 -0
- data/tests/cloudstack/requests/zone_tests.rb +33 -0
- data/tests/cloudstack/signed_params_tests.rb +12 -0
- data/tests/compute/helper.rb +8 -3
- data/tests/core/credential_tests.rb +2 -2
- data/tests/glesys/requests/compute/helper.rb +187 -139
- data/tests/glesys/requests/compute/ip_tests.rb +4 -4
- data/tests/glesys/requests/compute/server_tests.rb +55 -17
- data/tests/helper.rb +1 -1
- data/tests/helpers/formats_helper.rb +1 -1
- data/tests/helpers/mock_helper.rb +9 -2
- data/tests/joyent/requests/compute/datasets_tests.rb +49 -0
- data/tests/joyent/requests/compute/keys_tests.rb +47 -0
- data/tests/joyent/requests/compute/machines_tests.rb +67 -0
- data/tests/joyent/requests/compute/packages_tests.rb +68 -0
- data/tests/ovirt/compute_tests.rb +24 -0
- data/tests/ovirt/models/compute/cluster_tests.rb +31 -0
- data/tests/ovirt/models/compute/clusters_tests.rb +9 -0
- data/tests/ovirt/models/compute/interface_tests.rb +27 -0
- data/tests/ovirt/models/compute/interfaces_tests.rb +9 -0
- data/tests/ovirt/models/compute/server_tests.rb +51 -0
- data/tests/ovirt/models/compute/servers_tests.rb +14 -0
- data/tests/ovirt/models/compute/template_tests.rb +28 -0
- data/tests/ovirt/models/compute/templates_tests.rb +9 -0
- data/tests/ovirt/requests/compute/create_vm_tests.rb +26 -0
- data/tests/ovirt/requests/compute/destroy_vm_tests.rb +18 -0
- data/tests/ovirt/requests/compute/list_datacenters_tests.rb +13 -0
- data/tests/ovirt/requests/compute/list_storage_domains_tests.rb +13 -0
- data/tests/ovirt/requests/compute/update_vm_tests.rb +18 -0
- data/tests/rackspace/models/dns/zone_tests.rb +14 -0
- data/tests/rackspace/models/{load_balancer_tests.rb → load_balancers/load_balancer_tests.rb} +25 -0
- data/tests/rackspace/requests/dns/dns_tests.rb +4 -2
- data/tests/rackspace/requests/load_balancers/error_page_tests.rb +31 -0
- data/tests/rackspace/requests/load_balancers/helper.rb +27 -11
- data/tests/rackspace/requests/load_balancers/load_balancer_tests.rb +4 -1
- data/tests/rackspace/requests/load_balancers/node_tests.rb +24 -25
- data/tests/slicehost/requests/compute/slice_tests.rb +2 -2
- data/tests/storm_on_demand/requests/compute/server_tests.rb +3 -3
- data/tests/vcloud/data/api_+_admin_+_network_+_2 +110 -0
- data/tests/vcloud/data/api_+_network_+_1 +44 -0
- data/tests/vcloud/data/api_+_org_+_ +5 -0
- data/tests/vcloud/data/api_+_org_+_1 +17 -0
- data/tests/vcloud/data/api_+_sessions +8 -0
- data/tests/vcloud/data/api_+_v1.0_+_admin_+_network_+_2 +110 -0
- data/tests/vcloud/data/api_+_v1.0_+_login +5 -0
- data/tests/vcloud/data/api_+_v1.0_+_network_+_1 +44 -0
- data/tests/vcloud/data/api_+_v1.0_+_network_+_2 +31 -0
- data/tests/vcloud/data/api_+_v1.0_+_org_+_1 +17 -0
- data/tests/vcloud/data/api_+_v1.0_+_vApp_+_vapp-1 +369 -0
- data/tests/vcloud/data/api_+_v1.0_+_vApp_+_vm-1 +139 -0
- data/tests/vcloud/data/api_+_v1.0_+_vApp_+_vm-2 +155 -0
- data/tests/vcloud/data/api_+_v1.0_+_vdc_+_1 +61 -0
- data/tests/vcloud/data/api_+_vApp_+_vapp-1 +369 -0
- data/tests/vcloud/data/api_+_vApp_+_vm-2 +155 -0
- data/tests/vcloud/data/api_+_vdc_+_1 +61 -0
- data/tests/vcloud/models/compute/conn_helper.rb +20 -0
- data/tests/vcloud/models/compute/network_tests.rb +67 -0
- data/tests/vcloud/models/compute/networks_tests.rb +61 -0
- data/tests/vcloud/models/compute/organization_tests.rb +20 -0
- data/tests/vcloud/models/compute/organizations_tests.rb +16 -0
- data/tests/vcloud/models/compute/server_tests.rb +142 -0
- data/tests/vcloud/models/compute/servers_tests.rb +18 -90
- data/tests/vcloud/models/compute/vapp_tests.rb +32 -0
- data/tests/vcloud/models/compute/vapps_tests.rb +19 -0
- data/tests/vcloud/models/compute/vdc_tests.rb +48 -0
- data/tests/vcloud/models/compute/vdcs_tests.rb +24 -0
- data/tests/vsphere/requests/compute/vm_clone_tests.rb +16 -8
- data/tests/vsphere/requests/compute/vm_create_tests.rb +20 -0
- data/tests/vsphere/requests/compute/vm_migrate_tests.rb +16 -0
- data/tests/vsphere/requests/compute/vm_power_on_tests.rb +1 -1
- data/tests/vsphere/requests/compute/vm_reconfig_cpus_tests.rb +19 -0
- data/tests/vsphere/requests/compute/vm_reconfig_hardware_tests.rb +19 -0
- data/tests/vsphere/requests/compute/vm_reconfig_memory_tests.rb +19 -0
- metadata +635 -70
- data/examples/compute_tests.rb +0 -71
- data/examples/dns_tests.rb +0 -78
- data/examples/storage_tests.rb +0 -105
- /data/tests/rackspace/models/{access_list_tests.rb → load_balancers/access_list_tests.rb} +0 -0
- /data/tests/rackspace/models/{access_lists_tests.rb → load_balancers/access_lists_tests.rb} +0 -0
- /data/tests/rackspace/models/{load_balancers_tests.rb → load_balancers/load_balancers_tests.rb} +0 -0
- /data/tests/rackspace/models/{node_tests.rb → load_balancers/node_tests.rb} +0 -0
- /data/tests/rackspace/models/{nodes_tests.rb → load_balancers/nodes_tests.rb} +0 -0
- /data/tests/rackspace/models/{virtual_ip_tests.rb → load_balancers/virtual_ip_tests.rb} +0 -0
- /data/tests/rackspace/models/{virtual_ips_tests.rb → load_balancers/virtual_ips_tests.rb} +0 -0
|
@@ -8,7 +8,7 @@ Shindo.tests('AWS::ELB | listener_tests', ['aws', 'elb']) do
|
|
|
8
8
|
|
|
9
9
|
tests("#create_load_balancer_listeners").formats(AWS::ELB::Formats::BASIC) do
|
|
10
10
|
listeners = [
|
|
11
|
-
{'Protocol' => 'TCP', 'LoadBalancerPort' => 443, 'InstancePort' => 443, 'SSLCertificateId' => @certificate['Arn']},
|
|
11
|
+
{'Protocol' => 'TCP','InstanceProtocol' => 'TCP', 'LoadBalancerPort' => 443, 'InstancePort' => 443, 'SSLCertificateId' => @certificate['Arn']},
|
|
12
12
|
{'Protocol' => 'HTTP', 'LoadBalancerPort' => 80, 'InstancePort' => 80}
|
|
13
13
|
]
|
|
14
14
|
response = Fog::AWS[:elb].create_load_balancer_listeners(@load_balancer_id, listeners).body
|
|
@@ -22,7 +22,7 @@ Shindo.tests('AWS::ELB | listener_tests', ['aws', 'elb']) do
|
|
|
22
22
|
|
|
23
23
|
tests("#create_load_balancer_listeners with non-existant SSL certificate") do
|
|
24
24
|
listeners = [
|
|
25
|
-
{'Protocol' => 'HTTPS', 'LoadBalancerPort' => 443, 'InstancePort' => 443, 'SSLCertificateId' => 'non-existant'},
|
|
25
|
+
{'Protocol' => 'HTTPS', 'InstanceProtocol' => 'HTTPS', 'LoadBalancerPort' => 443, 'InstancePort' => 443, 'SSLCertificateId' => 'non-existant'},
|
|
26
26
|
]
|
|
27
27
|
raises(Fog::AWS::IAM::NotFound) { Fog::AWS[:elb].create_load_balancer_listeners(@load_balancer_id, listeners) }
|
|
28
28
|
end
|
|
@@ -30,7 +30,7 @@ Shindo.tests('AWS::ELB | listener_tests', ['aws', 'elb']) do
|
|
|
30
30
|
tests("#create_load_balancer_listeners with invalid SSL certificate").raises(Fog::AWS::IAM::NotFound) do
|
|
31
31
|
sleep 8 unless Fog.mocking?
|
|
32
32
|
listeners = [
|
|
33
|
-
{'Protocol' => 'HTTPS', 'LoadBalancerPort' => 443, 'InstancePort' => 443, 'SSLCertificateId' => "#{@certificate['Arn']}fake"},
|
|
33
|
+
{'Protocol' => 'HTTPS', 'InstanceProtocol' => 'HTTPS', 'LoadBalancerPort' => 443, 'InstancePort' => 443, 'SSLCertificateId' => "#{@certificate['Arn']}fake"},
|
|
34
34
|
]
|
|
35
35
|
Fog::AWS[:elb].create_load_balancer_listeners(@load_balancer_id, listeners).body
|
|
36
36
|
end
|
|
@@ -39,7 +39,25 @@ Shindo.tests('AWS::ELB | listener_tests', ['aws', 'elb']) do
|
|
|
39
39
|
tests("#create_load_balancer_listeners with SSL certificate").formats(AWS::ELB::Formats::BASIC) do
|
|
40
40
|
sleep 8 unless Fog.mocking?
|
|
41
41
|
listeners = [
|
|
42
|
-
{'Protocol' => 'HTTPS', 'LoadBalancerPort' => 443, 'InstancePort' => 443, 'SSLCertificateId' => @certificate['Arn']},
|
|
42
|
+
{'Protocol' => 'HTTPS', 'InstanceProtocol' => 'HTTPS', 'LoadBalancerPort' => 443, 'InstancePort' => 443, 'SSLCertificateId' => @certificate['Arn']},
|
|
43
|
+
]
|
|
44
|
+
Fog::AWS[:elb].create_load_balancer_listeners(@load_balancer_id, listeners).body
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
tests("#set_load_balancer_listener_ssl_certificate").formats(AWS::ELB::Formats::BASIC) do
|
|
48
|
+
Fog::AWS[:elb].set_load_balancer_listener_ssl_certificate(@load_balancer_id, 443, @certificate['Arn']).body
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
tests("#create_load_balancer_listeners with invalid Protocol and InstanceProtocol configuration").raises(Fog::AWS::ELB::ValidationError) do
|
|
52
|
+
listeners = [
|
|
53
|
+
{'Protocol' => 'HTTP', 'InstanceProtocol' => 'TCP', 'LoadBalancerPort' => 80, 'InstancePort' => 80},
|
|
54
|
+
]
|
|
55
|
+
Fog::AWS[:elb].create_load_balancer_listeners(@load_balancer_id, listeners).body
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
tests("#create_load_balancer_listeners with valid Protocol and InstanceProtocol configuration").formats(AWS::ELB::Formats::BASIC) do
|
|
59
|
+
listeners = [
|
|
60
|
+
{'Protocol' => 'HTTP', 'InstanceProtocol' => 'HTTPS', 'LoadBalancerPort' => 80, 'InstancePort' => 80},
|
|
43
61
|
]
|
|
44
62
|
Fog::AWS[:elb].create_load_balancer_listeners(@load_balancer_id, listeners).body
|
|
45
63
|
end
|
|
@@ -21,6 +21,19 @@ Shindo.tests('AWS::ELB | policy_tests', ['aws', 'elb']) do
|
|
|
21
21
|
Fog::AWS[:elb].create_lb_cookie_stickiness_policy(@load_balancer_id, policy).body
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
+
tests("#describe_load_balancer_policy_types").formats(AWS::ELB::Formats::DESCRIBE_LOAD_BALANCER_POLICY_TYPES) do
|
|
25
|
+
@policy_types = Fog::AWS[:elb].describe_load_balancer_policy_types.body
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
tests("#create_load_balancer_policy").formats(AWS::ELB::Formats::BASIC) do
|
|
29
|
+
policy = 'fog-policy'
|
|
30
|
+
Fog::AWS[:elb].create_load_balancer_policy(@load_balancer_id, policy, 'PublicKeyPolicyType', {'PublicKey' => AWS::IAM::SERVER_CERT_PUBLIC_KEY}).body
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
tests("#describe_load_balancer_policies").formats(AWS::ELB::Formats::DESCRIBE_LOAD_BALANCER_POLICIES) do
|
|
34
|
+
Fog::AWS[:elb].describe_load_balancer_policies(@load_balancer_id).body
|
|
35
|
+
end
|
|
36
|
+
|
|
24
37
|
tests("#delete_load_balancer_policy").formats(AWS::ELB::Formats::BASIC) do
|
|
25
38
|
policy = 'fog-lb-no-expiry'
|
|
26
39
|
Fog::AWS[:elb].delete_load_balancer_policy(@load_balancer_id, policy).body
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
Shindo.tests('AWS::IAM | access key requests', ['aws']) do
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Fog::AWS[:iam].create_user('fog_access_key_tests')
|
|
5
|
-
end
|
|
3
|
+
Fog::AWS[:iam].create_user('fog_access_key_tests')
|
|
6
4
|
|
|
7
5
|
tests('success') do
|
|
8
6
|
|
|
@@ -17,7 +15,6 @@ Shindo.tests('AWS::IAM | access key requests', ['aws']) do
|
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
tests("#create_access_key('UserName' => 'fog_access_key_tests')").formats(@access_key_format) do
|
|
20
|
-
pending if Fog.mocking?
|
|
21
18
|
data = Fog::AWS[:iam].create_access_key('UserName' => 'fog_access_key_tests').body
|
|
22
19
|
@access_key_id = data['AccessKey']['AccessKeyId']
|
|
23
20
|
data
|
|
@@ -33,7 +30,6 @@ Shindo.tests('AWS::IAM | access key requests', ['aws']) do
|
|
|
33
30
|
}
|
|
34
31
|
|
|
35
32
|
tests("#list_access_keys('Username' => 'fog_access_key_tests')").formats(@access_keys_format) do
|
|
36
|
-
pending if Fog.mocking?
|
|
37
33
|
Fog::AWS[:iam].list_access_keys('UserName' => 'fog_access_key_tests').body
|
|
38
34
|
end
|
|
39
35
|
|
|
@@ -43,7 +39,6 @@ Shindo.tests('AWS::IAM | access key requests', ['aws']) do
|
|
|
43
39
|
end
|
|
44
40
|
|
|
45
41
|
tests("#delete_access_key('#{@access_key_id}', 'UserName' => 'fog_access_key_tests)").formats(AWS::IAM::Formats::BASIC) do
|
|
46
|
-
pending if Fog.mocking?
|
|
47
42
|
Fog::AWS[:iam].delete_access_key(@access_key_id, 'UserName' => 'fog_access_key_tests').body
|
|
48
43
|
end
|
|
49
44
|
|
|
@@ -57,4 +52,4 @@ Shindo.tests('AWS::IAM | access key requests', ['aws']) do
|
|
|
57
52
|
Fog::AWS[:iam].delete_user('fog_access_key_tests')
|
|
58
53
|
end
|
|
59
54
|
|
|
60
|
-
end
|
|
55
|
+
end
|
|
@@ -13,7 +13,6 @@ Shindo.tests('AWS::IAM | group requests', ['aws']) do
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
tests("#create_group('fog_group')").formats(@group_format) do
|
|
16
|
-
pending if Fog.mocking?
|
|
17
16
|
Fog::AWS[:iam].create_group('fog_group').body
|
|
18
17
|
end
|
|
19
18
|
|
|
@@ -29,12 +28,10 @@ Shindo.tests('AWS::IAM | group requests', ['aws']) do
|
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
tests("#list_groups").formats(@groups_format) do
|
|
32
|
-
pending if Fog.mocking?
|
|
33
31
|
Fog::AWS[:iam].list_groups.body
|
|
34
32
|
end
|
|
35
33
|
|
|
36
34
|
tests("#delete_group('fog_group')").formats(AWS::IAM::Formats::BASIC) do
|
|
37
|
-
pending if Fog.mocking?
|
|
38
35
|
Fog::AWS[:iam].delete_group('fog_group').body
|
|
39
36
|
end
|
|
40
37
|
|
|
@@ -44,4 +41,4 @@ Shindo.tests('AWS::IAM | group requests', ['aws']) do
|
|
|
44
41
|
test('failing conditions')
|
|
45
42
|
end
|
|
46
43
|
|
|
47
|
-
end
|
|
44
|
+
end
|
|
@@ -41,6 +41,25 @@ c0AQtoYBTJePxiYyd8i32ypkkK83ar+sFoxKO9jYwD1IkZax2xZ0aoTdMindQPR7
|
|
|
41
41
|
Yjs+QiLmOHcbPqX+GHcCQERsSn0RjzKmKirDntseMB59BB/cEN32+gMDVsZuCfb+
|
|
42
42
|
fOy2ZavFl13afnhbh2/AjKeDhnb19x/uXjF7JCUtwpA=
|
|
43
43
|
-----END RSA PRIVATE KEY-----
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
# openssl pkcs8 -nocrypt -topk8 -in SERVER_CERT_PRIVATE_KEY.key -outform pem
|
|
47
|
+
SERVER_CERT_PRIVATE_KEY_PKCS8 = %{-----BEGIN PRIVATE KEY-----
|
|
48
|
+
MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALQJHvqyi+N2alZG
|
|
49
|
+
YRp/xdob6cZ7tzOGl0sqRq7ZvXpW1KOQ9y3E8vlTi9ozFBRugs+v72gv719Jg3fV
|
|
50
|
+
XMMPiHJp4ah4jl+GcZ6qTvWSrm4c40E5BQxtlsFDw9V31J2T7L0knoTl8L4aEsvk
|
|
51
|
+
j7LYMruzIHPLKarVaLqs+nVdcXsBAgMBAAECgYA2ONEFvCR5ez6HgWbZbkYObH25
|
|
52
|
+
86S3df+2+aKUIqv4XpJoOM7ZEAoFoW3rZ5rSlH39QwWdoWI8lo1r1+y6KsFzAh35
|
|
53
|
+
GLOu4Sn7sUbOIz2YLmRwTtYpmteAYacu2qDjHm3BUsCuCnSOLtMDXyr/vi5Osjhr
|
|
54
|
+
PwfmJNjifb05GUuaaQJBAOwYy4sSAYeA3ljVz1rHUNP+tRcrGeqwiuKNGSBuJOdw
|
|
55
|
+
cACsUnzxzfLKRaoa9idIXAxLwNJaI/I9oAic02Vv988CQQDDNngJ+8n46UT76tM8
|
|
56
|
+
f2N6YLz12fELsQUa5YmbB1p2d6/wRiC6+95x0Z0a20PtCxkqlzPmYOeA5SCFtWby
|
|
57
|
+
8EQvAkAwd86hWCr0NGJw/kO5MR3Ix4tJnFGPunpok+rKm5H76Ts1CCtO9xz+cMPo
|
|
58
|
+
beyGl/Y9l/eXt2WVv0zxN7C2LExFAkEAh1dzQBC2hgFMl4/GJjJ3yLfbKmSQrzdq
|
|
59
|
+
v6wWjEo72NjAPUiRlrHbFnRqhN0yKd1A9HtiOz5CIuY4dxs+pf4YdwJARGxKfRGP
|
|
60
|
+
MqYqKsOe2x4wHn0EH9wQ3fb6AwNWxm4J9v587LZlq8WXXdp+eFuHb8CMp4OGdvX3
|
|
61
|
+
H+5eMXskJS3CkA==
|
|
62
|
+
-----END PRIVATE KEY-----
|
|
44
63
|
}
|
|
45
64
|
|
|
46
65
|
SERVER_CERT_PRIVATE_KEY_MISMATCHED = %{-----BEGIN RSA PRIVATE KEY-----
|
|
@@ -24,6 +24,7 @@ Shindo.tests('AWS::IAM | server certificate requests', ['aws']) do
|
|
|
24
24
|
tests('#upload_server_certificate') do
|
|
25
25
|
public_key = AWS::IAM::SERVER_CERT_PUBLIC_KEY
|
|
26
26
|
private_key = AWS::IAM::SERVER_CERT_PRIVATE_KEY
|
|
27
|
+
private_key_pkcs8 = AWS::IAM::SERVER_CERT_PRIVATE_KEY_PKCS8
|
|
27
28
|
private_key_mismatch = AWS::IAM::SERVER_CERT_PRIVATE_KEY_MISMATCHED
|
|
28
29
|
|
|
29
30
|
tests('empty public key').raises(Fog::AWS::IAM::ValidationError) do
|
|
@@ -42,6 +43,10 @@ Shindo.tests('AWS::IAM | server certificate requests', ['aws']) do
|
|
|
42
43
|
Fog::AWS::IAM.new.upload_server_certificate(public_key, 'abcde', @key_name)
|
|
43
44
|
end
|
|
44
45
|
|
|
46
|
+
tests('non-RSA private key').raises(Fog::AWS::IAM::MalformedCertificate) do
|
|
47
|
+
Fog::AWS::IAM.new.upload_server_certificate(public_key, private_key_pkcs8, @key_name)
|
|
48
|
+
end
|
|
49
|
+
|
|
45
50
|
tests('mismatched private key').raises(Fog::AWS::IAM::KeyPairMismatch) do
|
|
46
51
|
Fog::AWS::IAM.new.upload_server_certificate(public_key, private_key_mismatch, @key_name)
|
|
47
52
|
end
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
Shindo.tests('AWS::IAM | user policy requests', ['aws']) do
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Fog::AWS[:iam].create_user('fog_user_policy_tests')
|
|
5
|
-
end
|
|
3
|
+
Fog::AWS[:iam].create_user('fog_user_policy_tests')
|
|
6
4
|
|
|
7
5
|
tests('success') do
|
|
8
6
|
|
|
9
7
|
@policy = {"Statement" => [{"Effect" => "Allow", "Action" => "*", "Resource" => "*"}]}
|
|
10
8
|
|
|
11
9
|
tests("#put_user_policy('fog_user_policy_tests', 'fog_policy', #{@policy.inspect})").formats(AWS::IAM::Formats::BASIC) do
|
|
12
|
-
pending if Fog.mocking?
|
|
13
10
|
Fog::AWS[:iam].put_user_policy('fog_user_policy_tests', 'fog_policy', @policy).body
|
|
14
11
|
end
|
|
15
12
|
|
|
@@ -19,13 +16,11 @@ Shindo.tests('AWS::IAM | user policy requests', ['aws']) do
|
|
|
19
16
|
'RequestId' => String
|
|
20
17
|
}
|
|
21
18
|
|
|
22
|
-
tests("list_user_policies('fog_user_policy_tests')").formats(@user_policies_format) do
|
|
23
|
-
pending if Fog.mocking?
|
|
19
|
+
tests("#list_user_policies('fog_user_policy_tests')").formats(@user_policies_format) do
|
|
24
20
|
Fog::AWS[:iam].list_user_policies('fog_user_policy_tests').body
|
|
25
21
|
end
|
|
26
22
|
|
|
27
23
|
tests("#delete_user_policy('fog_user_policy_tests', 'fog_policy')").formats(AWS::IAM::Formats::BASIC) do
|
|
28
|
-
pending if Fog.mocking?
|
|
29
24
|
Fog::AWS[:iam].delete_user_policy('fog_user_policy_tests', 'fog_policy').body
|
|
30
25
|
end
|
|
31
26
|
|
|
@@ -35,8 +30,6 @@ Shindo.tests('AWS::IAM | user policy requests', ['aws']) do
|
|
|
35
30
|
test('failing conditions')
|
|
36
31
|
end
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
Fog::AWS[:iam].delete_user('fog_user_policy_tests')
|
|
40
|
-
end
|
|
33
|
+
Fog::AWS[:iam].delete_user('fog_user_policy_tests')
|
|
41
34
|
|
|
42
|
-
end
|
|
35
|
+
end
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
Shindo.tests('AWS::IAM | user requests', ['aws']) do
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Fog::AWS[:iam].create_group('fog_user_tests')
|
|
5
|
-
end
|
|
3
|
+
Fog::AWS[:iam].create_group('fog_user_tests')
|
|
6
4
|
|
|
7
5
|
tests('success') do
|
|
8
6
|
|
|
@@ -17,7 +15,6 @@ Shindo.tests('AWS::IAM | user requests', ['aws']) do
|
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
tests("#create_user('fog_user')").formats(@user_format) do
|
|
20
|
-
pending if Fog.mocking?
|
|
21
18
|
Fog::AWS[:iam].create_user('fog_user').body
|
|
22
19
|
end
|
|
23
20
|
|
|
@@ -33,33 +30,43 @@ Shindo.tests('AWS::IAM | user requests', ['aws']) do
|
|
|
33
30
|
}
|
|
34
31
|
|
|
35
32
|
tests("#list_users").formats(@users_format) do
|
|
36
|
-
pending if Fog.mocking?
|
|
37
33
|
Fog::AWS[:iam].list_users.body
|
|
38
34
|
end
|
|
39
35
|
|
|
40
36
|
tests("#add_user_to_group('fog_user_tests', 'fog_user')").formats(AWS::IAM::Formats::BASIC) do
|
|
41
|
-
pending if Fog.mocking?
|
|
42
37
|
Fog::AWS[:iam].add_user_to_group('fog_user_tests', 'fog_user').body
|
|
43
38
|
end
|
|
44
39
|
|
|
40
|
+
@groups_format = {
|
|
41
|
+
'GroupsForUser' => [{
|
|
42
|
+
'Arn' => String,
|
|
43
|
+
'GroupId' => String,
|
|
44
|
+
'GroupName' => String,
|
|
45
|
+
'Path' => String
|
|
46
|
+
}],
|
|
47
|
+
'IsTruncated' => Fog::Boolean,
|
|
48
|
+
'RequestId' => String
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
tests("#list_groups_for_user('fog_user')").formats(@groups_format) do
|
|
52
|
+
Fog::AWS[:iam].list_groups_for_user('fog_user').body
|
|
53
|
+
end
|
|
54
|
+
|
|
45
55
|
tests("#remove_user_from_group('fog_user_tests', 'fog_user')").formats(AWS::IAM::Formats::BASIC) do
|
|
46
|
-
pending if Fog.mocking?
|
|
47
56
|
Fog::AWS[:iam].remove_user_from_group('fog_user_tests', 'fog_user').body
|
|
48
57
|
end
|
|
49
58
|
|
|
50
59
|
tests("#delete_user('fog_user')").formats(AWS::IAM::Formats::BASIC) do
|
|
51
|
-
pending if Fog.mocking?
|
|
52
60
|
Fog::AWS[:iam].delete_user('fog_user').body
|
|
53
61
|
end
|
|
54
62
|
|
|
63
|
+
|
|
55
64
|
end
|
|
56
65
|
|
|
57
66
|
tests('failure') do
|
|
58
67
|
test('failing conditions')
|
|
59
68
|
end
|
|
60
69
|
|
|
61
|
-
|
|
62
|
-
Fog::AWS[:iam].delete_group('fog_user_tests')
|
|
63
|
-
end
|
|
70
|
+
Fog::AWS[:iam].delete_group('fog_user_tests')
|
|
64
71
|
|
|
65
|
-
end
|
|
72
|
+
end
|
|
@@ -7,7 +7,7 @@ class AWS
|
|
|
7
7
|
BASIC = {
|
|
8
8
|
'ResponseMetadata' => {'RequestId' => String}
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
DB_PARAMETER_GROUP = {
|
|
12
12
|
'DBParameterGroupFamily' => String,
|
|
13
13
|
'DBParameterGroupName'=> String,
|
|
@@ -15,24 +15,57 @@ class AWS
|
|
|
15
15
|
}
|
|
16
16
|
CREATE_DB_PARAMETER_GROUP = {
|
|
17
17
|
'ResponseMetadata' => {'RequestId' => String},
|
|
18
|
-
'CreateDBParameterGroupResult' => {
|
|
18
|
+
'CreateDBParameterGroupResult' => {
|
|
19
19
|
'DBParameterGroup' => DB_PARAMETER_GROUP
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
DB_SECURITY_GROUP = {
|
|
24
|
+
'DBSecurityGroupDescription' => String,
|
|
25
|
+
'DBSecurityGroupName' => String,
|
|
26
|
+
'EC2SecurityGroups' => [Fog::Nullable::Hash],
|
|
27
|
+
'IPRanges' => [Fog::Nullable::Hash],
|
|
28
|
+
'OwnerId' => Fog::Nullable::String
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
CREATE_DB_SECURITY_GROUP = BASIC.merge({
|
|
32
|
+
'CreateDBSecurityGroupResult' => {
|
|
33
|
+
'DBSecurityGroup' => DB_SECURITY_GROUP
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
AUTHORIZE_DB_SECURITY_GROUP = BASIC.merge({
|
|
38
|
+
'AuthorizeDBSecurityGroupIngressResult' => {
|
|
39
|
+
'DBSecurityGroup' => DB_SECURITY_GROUP
|
|
40
|
+
}
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
REVOKE_DB_SECURITY_GROUP = BASIC.merge({
|
|
44
|
+
'RevokeDBSecurityGroupIngressResult' => {
|
|
45
|
+
'DBSecurityGroup' => DB_SECURITY_GROUP
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
|
|
49
|
+
DESCRIBE_DB_SECURITY_GROUP = BASIC.merge({
|
|
50
|
+
'DescribeDBSecurityGroupsResult' => {
|
|
51
|
+
'DBSecurityGroups' => [DB_SECURITY_GROUP]
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
|
|
23
55
|
DESCRIBE_DB_PARAMETER_GROUP = {
|
|
24
56
|
'ResponseMetadata' => {'RequestId' => String},
|
|
25
57
|
'DescribeDBParameterGroupsResult' =>{
|
|
26
58
|
'DBParameterGroups' => [DB_PARAMETER_GROUP]
|
|
27
59
|
}
|
|
28
60
|
}
|
|
29
|
-
|
|
61
|
+
|
|
30
62
|
MODIFY_PARAMETER_GROUP = BASIC.merge({
|
|
31
63
|
'ModifyDBParameterGroupResult' => {
|
|
32
64
|
'DBParameterGroupName' => String
|
|
33
65
|
}
|
|
34
66
|
})
|
|
35
|
-
|
|
67
|
+
|
|
68
|
+
|
|
36
69
|
DB_PARAMETER = {
|
|
37
70
|
'ParameterValue' => Fog::Nullable::String,
|
|
38
71
|
'DataType' => String,
|
|
@@ -41,17 +74,17 @@ class AWS
|
|
|
41
74
|
'IsModifiable' => Fog::Boolean,
|
|
42
75
|
'Description' => String,
|
|
43
76
|
'ParameterName' => String,
|
|
44
|
-
'ApplyType' => String
|
|
77
|
+
'ApplyType' => String
|
|
45
78
|
}
|
|
79
|
+
|
|
46
80
|
DESCRIBE_DB_PARAMETERS = BASIC.merge({
|
|
47
81
|
'DescribeDBParametersResult' => {
|
|
48
82
|
'Marker' => Fog::Nullable::String,
|
|
49
83
|
'Parameters' => [DB_PARAMETER]
|
|
50
84
|
}
|
|
51
|
-
|
|
85
|
+
|
|
52
86
|
})
|
|
53
|
-
|
|
54
|
-
|
|
87
|
+
|
|
55
88
|
SNAPSHOT={
|
|
56
89
|
'AllocatedStorage' => Integer,
|
|
57
90
|
'AvailabilityZone' => String,
|
|
@@ -105,9 +138,10 @@ class AWS
|
|
|
105
138
|
'PreferredBackupWindow'=> String,
|
|
106
139
|
'PreferredMaintenanceWindow'=> String,
|
|
107
140
|
'ReadReplicaDBInstanceIdentifiers'=> [String],
|
|
141
|
+
'ReadReplicaDBInstanceIdentifiers'=> [Fog::Nullable::String],
|
|
108
142
|
'ReadReplicaSourceDBInstanceIdentifier'=> Fog::Nullable::String
|
|
109
143
|
}
|
|
110
|
-
|
|
144
|
+
|
|
111
145
|
CREATE_DB_INSTANCE = BASIC.merge({
|
|
112
146
|
'CreateDBInstanceResult' => {
|
|
113
147
|
'DBInstance' => INSTANCE
|
|
@@ -132,13 +166,13 @@ class AWS
|
|
|
132
166
|
'DBInstance' => INSTANCE
|
|
133
167
|
}
|
|
134
168
|
})
|
|
135
|
-
|
|
169
|
+
|
|
136
170
|
REBOOT_DB_INSTANCE = BASIC.merge({
|
|
137
171
|
'RebootDBInstanceResult' => {
|
|
138
172
|
'DBInstance' => INSTANCE
|
|
139
173
|
}
|
|
140
174
|
})
|
|
141
|
-
|
|
175
|
+
|
|
142
176
|
CREATE_READ_REPLICA = BASIC.merge({
|
|
143
177
|
'CreateDBInstanceReadReplicaResult' => {
|
|
144
178
|
'DBInstance' => INSTANCE
|
|
@@ -10,7 +10,6 @@ Shindo.tests('AWS::RDS | instance requests', ['aws', 'rds']) do
|
|
|
10
10
|
@db_final_snapshot_id = "fog-final-snapshot"
|
|
11
11
|
|
|
12
12
|
tests('success') do
|
|
13
|
-
pending if Fog.mocking?
|
|
14
13
|
|
|
15
14
|
tests("#create_db_instance").formats(AWS::RDS::Formats::CREATE_DB_INSTANCE) do
|
|
16
15
|
result = Fog::AWS[:rds].create_db_instance(@db_instance_id, 'AllocatedStorage' => 5,
|
|
@@ -71,6 +70,8 @@ Shindo.tests('AWS::RDS | instance requests', ['aws', 'rds']) do
|
|
|
71
70
|
|
|
72
71
|
server.reload.wait_for { state == 'available' }
|
|
73
72
|
|
|
73
|
+
pending if Fog.mocking?
|
|
74
|
+
|
|
74
75
|
tests( "#create read replica").formats(AWS::RDS::Formats::CREATE_READ_REPLICA) do
|
|
75
76
|
Fog::AWS[:rds].create_db_instance_read_replica(@db_replica_id, @db_instance_id).body
|
|
76
77
|
end
|
|
@@ -113,8 +114,6 @@ Shindo.tests('AWS::RDS | instance requests', ['aws', 'rds']) do
|
|
|
113
114
|
end
|
|
114
115
|
|
|
115
116
|
tests('failure') do
|
|
116
|
-
pending if Fog.mocking?
|
|
117
|
-
|
|
118
117
|
tests "deleting nonexisting instance" do
|
|
119
118
|
raises(Fog::AWS::RDS::NotFound) {Fog::AWS[:rds].delete_db_instance('doesnexist', 'irrelevant')}
|
|
120
119
|
end
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
Shindo.tests('AWS::RDS | parameter group requests', ['aws', 'rds']) do
|
|
2
2
|
tests('success') do
|
|
3
|
-
pending if Fog.mocking?
|
|
4
3
|
|
|
5
4
|
tests("#create_db_parameter_groups").formats(AWS::RDS::Formats::CREATE_DB_PARAMETER_GROUP) do
|
|
6
|
-
pending if Fog.mocking?
|
|
7
5
|
body = Fog::AWS[:rds].create_db_parameter_group('fog-group', 'MySQL5.1', 'Some description').body
|
|
8
6
|
|
|
9
7
|
returns( 'mysql5.1') { body['CreateDBParameterGroupResult']['DBParameterGroup']['DBParameterGroupFamily']}
|
|
@@ -16,16 +14,14 @@ Shindo.tests('AWS::RDS | parameter group requests', ['aws', 'rds']) do
|
|
|
16
14
|
Fog::AWS[:rds].create_db_parameter_group('other-fog-group', 'MySQL5.1', 'Some description')
|
|
17
15
|
|
|
18
16
|
tests("#describe_db_parameter_groups").formats(AWS::RDS::Formats::DESCRIBE_DB_PARAMETER_GROUP) do
|
|
19
|
-
pending if Fog.mocking?
|
|
20
17
|
|
|
21
18
|
body = Fog::AWS[:rds].describe_db_parameter_groups().body
|
|
22
19
|
|
|
23
|
-
returns(
|
|
20
|
+
returns(4) {body['DescribeDBParameterGroupsResult']['DBParameterGroups'].length}
|
|
24
21
|
body
|
|
25
22
|
end
|
|
26
23
|
|
|
27
24
|
tests("#describe_db_parameter_groups('fog-group)").formats(AWS::RDS::Formats::DESCRIBE_DB_PARAMETER_GROUP) do
|
|
28
|
-
pending if Fog.mocking?
|
|
29
25
|
|
|
30
26
|
body = Fog::AWS[:rds].describe_db_parameter_groups('fog-group').body
|
|
31
27
|
|
|
@@ -40,7 +36,6 @@ Shindo.tests('AWS::RDS | parameter group requests', ['aws', 'rds']) do
|
|
|
40
36
|
end
|
|
41
37
|
|
|
42
38
|
tests("delete_db_parameter_group").formats(AWS::RDS::Formats::BASIC) do
|
|
43
|
-
pending if Fog.mocking?
|
|
44
39
|
body = Fog::AWS[:rds].delete_db_parameter_group('fog-group').body
|
|
45
40
|
|
|
46
41
|
raises(Fog::AWS::RDS::NotFound) {Fog::AWS[:rds].describe_db_parameter_groups('fog-group')}
|
|
@@ -52,7 +47,6 @@ Shindo.tests('AWS::RDS | parameter group requests', ['aws', 'rds']) do
|
|
|
52
47
|
end
|
|
53
48
|
|
|
54
49
|
tests("failures") do
|
|
55
|
-
pending if Fog.mocking?
|
|
56
50
|
raises(Fog::AWS::RDS::NotFound) {Fog::AWS[:rds].describe_db_parameter_groups('doesntexist')}
|
|
57
51
|
raises(Fog::AWS::RDS::NotFound) {Fog::AWS[:rds].delete_db_parameter_group('doesntexist')}
|
|
58
52
|
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
Shindo.tests('AWS::RDS | security group requests', ['aws', 'rds']) do
|
|
2
|
+
suffix = rand(65536).to_s(16)
|
|
3
|
+
|
|
4
|
+
@sec_group_name = "fog-sec-group-#{suffix}"
|
|
5
|
+
if Fog.mocking?
|
|
6
|
+
@owner_id = '123456780'
|
|
7
|
+
else
|
|
8
|
+
@owner_id = Fog::AWS[:rds].security_groups.get('default').owner_id
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
tests('success') do
|
|
12
|
+
|
|
13
|
+
tests("#create_db_security_group").formats(AWS::RDS::Formats::CREATE_DB_SECURITY_GROUP) do
|
|
14
|
+
body = Fog::AWS[:rds].create_db_security_group(@sec_group_name, 'Some description').body
|
|
15
|
+
|
|
16
|
+
returns( @sec_group_name) { body['CreateDBSecurityGroupResult']['DBSecurityGroup']['DBSecurityGroupName']}
|
|
17
|
+
returns( 'Some description') { body['CreateDBSecurityGroupResult']['DBSecurityGroup']['DBSecurityGroupDescription']}
|
|
18
|
+
returns( []) { body['CreateDBSecurityGroupResult']['DBSecurityGroup']['EC2SecurityGroups']}
|
|
19
|
+
returns( []) { body['CreateDBSecurityGroupResult']['DBSecurityGroup']['IPRanges']}
|
|
20
|
+
|
|
21
|
+
body
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
tests("#describe_db_security_groups").formats(AWS::RDS::Formats::DESCRIBE_DB_SECURITY_GROUP) do
|
|
25
|
+
Fog::AWS[:rds].describe_db_security_groups.body
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
tests("#authorize_db_security_group_ingress CIDR").formats(AWS::RDS::Formats::AUTHORIZE_DB_SECURITY_GROUP) do
|
|
29
|
+
@cidr = '0.0.0.0/0'
|
|
30
|
+
body = Fog::AWS[:rds].authorize_db_security_group_ingress(@sec_group_name,{'CIDRIP'=>@cidr}).body
|
|
31
|
+
|
|
32
|
+
returns("authorizing") { body['AuthorizeDBSecurityGroupIngressResult']['DBSecurityGroup']['IPRanges'].detect{|h| h['CIDRIP'] == @cidr}['Status']}
|
|
33
|
+
body
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
sec_group = Fog::AWS[:rds].security_groups.get(@sec_group_name)
|
|
37
|
+
sec_group.wait_for {ready?}
|
|
38
|
+
|
|
39
|
+
tests("#authorize_db_security_group_ingress another CIDR").formats(AWS::RDS::Formats::AUTHORIZE_DB_SECURITY_GROUP) do
|
|
40
|
+
@cidr = "10.0.0.0/24"
|
|
41
|
+
body = Fog::AWS[:rds].authorize_db_security_group_ingress(@sec_group_name,{'CIDRIP'=>@cidr}).body
|
|
42
|
+
|
|
43
|
+
returns("authorizing") { body['AuthorizeDBSecurityGroupIngressResult']['DBSecurityGroup']['IPRanges'].detect{|h| h['CIDRIP'] == @cidr}['Status']}
|
|
44
|
+
body
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
sec_group = Fog::AWS[:rds].security_groups.get(@sec_group_name)
|
|
48
|
+
sec_group.wait_for {ready?}
|
|
49
|
+
|
|
50
|
+
tests("#count CIDRIP").formats(AWS::RDS::Formats::DESCRIBE_DB_SECURITY_GROUP) do
|
|
51
|
+
body = Fog::AWS[:rds].describe_db_security_groups(@sec_group_name).body
|
|
52
|
+
returns(2) { body['DescribeDBSecurityGroupsResult']['DBSecurityGroups'][0]['IPRanges'].size }
|
|
53
|
+
body
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
tests("#revoke_db_security_group_ingress CIDR").formats(AWS::RDS::Formats::REVOKE_DB_SECURITY_GROUP) do
|
|
57
|
+
@cidr = '0.0.0.0/0'
|
|
58
|
+
body = Fog::AWS[:rds].revoke_db_security_group_ingress(@sec_group_name,{'CIDRIP'=> @cidr}).body
|
|
59
|
+
returns("revoking") { body['RevokeDBSecurityGroupIngressResult']['DBSecurityGroup']['IPRanges'].detect{|h| h['CIDRIP'] == @cidr}['Status']}
|
|
60
|
+
body
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
tests("#authorize_db_security_group_ingress EC2").formats(AWS::RDS::Formats::AUTHORIZE_DB_SECURITY_GROUP) do
|
|
64
|
+
@ec2_sec_group = 'default'
|
|
65
|
+
body = Fog::AWS[:rds].authorize_db_security_group_ingress(@sec_group_name,{'EC2SecurityGroupName' => @ec2_sec_group, 'EC2SecurityGroupOwnerId' => @owner_id}).body
|
|
66
|
+
|
|
67
|
+
returns("authorizing") { body['AuthorizeDBSecurityGroupIngressResult']['DBSecurityGroup']['EC2SecurityGroups'].detect{|h| h['EC2SecurityGroupName'] == @ec2_sec_group}['Status']}
|
|
68
|
+
returns(@owner_id) { body['AuthorizeDBSecurityGroupIngressResult']['DBSecurityGroup']['EC2SecurityGroups'].detect{|h| h['EC2SecurityGroupName'] == @ec2_sec_group}['EC2SecurityGroupOwnerId']}
|
|
69
|
+
body
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
tests("duplicate #authorize_db_security_group_ingress EC2").raises(Fog::AWS::RDS::AuthorizationAlreadyExists) do
|
|
73
|
+
@ec2_sec_group = 'default'
|
|
74
|
+
|
|
75
|
+
Fog::AWS[:rds].authorize_db_security_group_ingress(@sec_group_name,{'EC2SecurityGroupName' => @ec2_sec_group, 'EC2SecurityGroupOwnerId' => @owner_id})
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
sec_group = Fog::AWS[:rds].security_groups.get(@sec_group_name)
|
|
79
|
+
sec_group.wait_for {ready?}
|
|
80
|
+
|
|
81
|
+
tests("#revoke_db_security_group_ingress EC2").formats(AWS::RDS::Formats::REVOKE_DB_SECURITY_GROUP) do
|
|
82
|
+
@ec2_sec_group = 'default'
|
|
83
|
+
|
|
84
|
+
body = Fog::AWS[:rds].revoke_db_security_group_ingress(@sec_group_name,{'EC2SecurityGroupName' => @ec2_sec_group, 'EC2SecurityGroupOwnerId' => @owner_id}).body
|
|
85
|
+
|
|
86
|
+
returns("revoking") { body['RevokeDBSecurityGroupIngressResult']['DBSecurityGroup']['EC2SecurityGroups'].detect{|h| h['EC2SecurityGroupName'] == @ec2_sec_group}['Status']}
|
|
87
|
+
body
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
#TODO, authorize ec2 security groups
|
|
92
|
+
|
|
93
|
+
tests("#delete_db_security_group").formats(AWS::RDS::Formats::BASIC) do
|
|
94
|
+
body = Fog::AWS[:rds].delete_db_security_group(@sec_group_name).body
|
|
95
|
+
|
|
96
|
+
raises(Fog::AWS::RDS::NotFound) {Fog::AWS[:rds].describe_db_security_groups(@sec_group_name)}
|
|
97
|
+
|
|
98
|
+
body
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
require 'fog/aws/requests/storage/
|
|
1
|
+
require 'fog/aws/requests/storage/acl_utils'
|
|
2
2
|
|
|
3
|
-
Shindo.tests('Fog::Storage::AWS |
|
|
3
|
+
Shindo.tests('Fog::Storage::AWS | ACL utils', [:aws]) do
|
|
4
4
|
tests(".hash_to_acl") do
|
|
5
5
|
tests(".hash_to_acl({}) at xpath //AccessControlPolicy").returns("", "has an empty AccessControlPolicy") do
|
|
6
6
|
xml = Fog::Storage::AWS.hash_to_acl({})
|
|
@@ -170,4 +170,40 @@ Shindo.tests('Fog::Storage::AWS | converting a hash to an ACL', [:aws]) do
|
|
|
170
170
|
Nokogiri::XML(xml).xpath("//AccessControlPolicy/AccessControlList/Grant/Grantee/URI").first.content
|
|
171
171
|
end
|
|
172
172
|
end
|
|
173
|
+
|
|
174
|
+
tests(".acl_to_hash") do
|
|
175
|
+
acl_xml = <<-XML
|
|
176
|
+
<AccessControlPolicy>
|
|
177
|
+
<Owner>
|
|
178
|
+
<ID>2744ccd10c7533bd736ad890f9dd5cab2adb27b07d500b9493f29cdc420cb2e0</ID>
|
|
179
|
+
<DisplayName>me</DisplayName>
|
|
180
|
+
</Owner>
|
|
181
|
+
<AccessControlList>
|
|
182
|
+
<Grant>
|
|
183
|
+
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
|
|
184
|
+
<ID>2744ccd10c7533bd736ad890f9dd5cab2adb27b07d500b9493f29cdc420cb2e0</ID>
|
|
185
|
+
<DisplayName>me</DisplayName>
|
|
186
|
+
</Grantee>
|
|
187
|
+
<Permission>FULL_CONTROL</Permission>
|
|
188
|
+
</Grant>
|
|
189
|
+
</AccessControlList>
|
|
190
|
+
</AccessControlPolicy>
|
|
191
|
+
XML
|
|
192
|
+
|
|
193
|
+
tests(".acl_to_hash(#{acl_xml.inspect})").returns({
|
|
194
|
+
"Owner" => {
|
|
195
|
+
"DisplayName" => "me",
|
|
196
|
+
"ID" => "2744ccd10c7533bd736ad890f9dd5cab2adb27b07d500b9493f29cdc420cb2e0"
|
|
197
|
+
},
|
|
198
|
+
"AccessControlList" => [{
|
|
199
|
+
"Grantee" => {
|
|
200
|
+
"DisplayName" => "me",
|
|
201
|
+
"ID" => "2744ccd10c7533bd736ad890f9dd5cab2adb27b07d500b9493f29cdc420cb2e0"
|
|
202
|
+
},
|
|
203
|
+
"Permission" => "FULL_CONTROL"
|
|
204
|
+
}]
|
|
205
|
+
}, 'returns hash of ACL XML') do
|
|
206
|
+
Fog::Storage::AWS.acl_to_hash(acl_xml)
|
|
207
|
+
end
|
|
208
|
+
end
|
|
173
209
|
end
|