fog 1.4.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +1 -1
- data/.irbrc +5 -10
- data/{README.rdoc → README.md} +66 -61
- data/Rakefile +4 -6
- data/changelog.txt +491 -0
- data/docs/about/users.markdown +1 -0
- data/fog.gemspec +4 -4
- data/lib/fog.rb +1 -1
- data/lib/fog/aws.rb +4 -0
- data/lib/fog/aws/auto_scaling.rb +3 -0
- data/lib/fog/aws/cloud_watch.rb +28 -0
- data/lib/fog/aws/compute.rb +7 -1
- data/lib/fog/aws/elasticache.rb +64 -6
- data/lib/fog/aws/models/auto_scaling/configuration.rb +3 -1
- data/lib/fog/aws/models/auto_scaling/group.rb +10 -9
- data/lib/fog/aws/models/auto_scaling/policies.rb +33 -0
- data/lib/fog/aws/models/auto_scaling/policy.rb +46 -0
- data/lib/fog/aws/models/cloud_watch/alarm.rb +50 -2
- data/lib/fog/aws/models/cloud_watch/alarms.rb +18 -1
- data/lib/fog/aws/models/compute/address.rb +2 -2
- data/lib/fog/aws/models/dns/records.rb +5 -0
- data/lib/fog/aws/models/elasticache/cluster.rb +1 -1
- data/lib/fog/aws/models/iam/users.rb +26 -4
- data/lib/fog/aws/parsers/auto_scaling/describe_policies.rb +7 -5
- data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +1 -1
- data/lib/fog/aws/rds.rb +1 -1
- data/lib/fog/aws/requests/auto_scaling/create_auto_scaling_group.rb +8 -0
- data/lib/fog/aws/requests/auto_scaling/create_launch_configuration.rb +1 -2
- data/lib/fog/aws/requests/auto_scaling/delete_auto_scaling_group.rb +10 -2
- data/lib/fog/aws/requests/auto_scaling/delete_launch_configuration.rb +1 -1
- data/lib/fog/aws/requests/auto_scaling/delete_policy.rb +10 -1
- data/lib/fog/aws/requests/auto_scaling/describe_auto_scaling_instances.rb +0 -1
- data/lib/fog/aws/requests/auto_scaling/describe_policies.rb +13 -1
- data/lib/fog/aws/requests/auto_scaling/put_scaling_policy.rb +20 -1
- data/lib/fog/aws/requests/auto_scaling/update_auto_scaling_group.rb +1 -1
- data/lib/fog/aws/requests/cloud_watch/delete_alarms.rb +19 -1
- data/lib/fog/aws/requests/cloud_watch/describe_alarms.rb +20 -2
- data/lib/fog/aws/requests/cloud_watch/put_metric_alarm.rb +9 -0
- data/lib/fog/aws/requests/compute/allocate_address.rb +4 -5
- data/lib/fog/aws/requests/compute/create_dhcp_options.rb +6 -5
- data/lib/fog/aws/requests/compute/create_internet_gateway.rb +7 -6
- data/lib/fog/aws/requests/compute/create_subnet.rb +11 -10
- data/lib/fog/aws/requests/compute/create_vpc.rb +8 -7
- data/lib/fog/aws/requests/compute/delete_dhcp_options.rb +1 -0
- data/lib/fog/aws/requests/compute/delete_internet_gateway.rb +1 -0
- data/lib/fog/aws/requests/compute/delete_subnet.rb +1 -0
- data/lib/fog/aws/requests/compute/delete_vpc.rb +2 -1
- data/lib/fog/aws/requests/compute/describe_availability_zones.rb +1 -0
- data/lib/fog/aws/requests/compute/describe_dhcp_options.rb +1 -8
- data/lib/fog/aws/requests/compute/describe_instances.rb +3 -1
- data/lib/fog/aws/requests/compute/describe_internet_gateways.rb +1 -8
- data/lib/fog/aws/requests/compute/describe_subnets.rb +1 -9
- data/lib/fog/aws/requests/compute/describe_vpcs.rb +1 -8
- data/lib/fog/aws/requests/compute/release_address.rb +12 -4
- data/lib/fog/aws/requests/compute/start_instances.rb +1 -0
- data/lib/fog/aws/requests/compute/stop_instances.rb +1 -0
- data/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +26 -2
- data/lib/fog/aws/requests/elasticache/delete_cache_cluster.rb +10 -1
- data/lib/fog/aws/requests/elasticache/describe_cache_clusters.rb +16 -1
- data/lib/fog/aws/requests/elasticache/modify_cache_cluster.rb +35 -3
- data/lib/fog/aws/requests/elasticache/reboot_cache_cluster.rb +10 -2
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/rds/describe_db_instances.rb +3 -3
- data/lib/fog/aws/sqs.rb +1 -1
- data/lib/fog/aws/storage.rb +1 -1
- data/lib/fog/bin/rackspace.rb +4 -0
- data/lib/fog/cloudstack/compute.rb +25 -18
- data/lib/fog/cloudstack/models/compute/image.rb +34 -34
- data/lib/fog/cloudstack/models/compute/job.rb +14 -1
- data/lib/fog/cloudstack/models/compute/jobs.rb +1 -1
- data/lib/fog/cloudstack/models/compute/security_group.rb +50 -0
- data/lib/fog/cloudstack/models/compute/security_group_rule.rb +62 -0
- data/lib/fog/cloudstack/models/compute/security_group_rules.rb +37 -0
- data/lib/fog/cloudstack/models/compute/security_groups.rb +27 -0
- data/lib/fog/cloudstack/models/compute/server.rb +63 -39
- data/lib/fog/cloudstack/models/compute/volume.rb +3 -7
- data/lib/fog/cloudstack/models/compute/zone.rb +1 -2
- data/lib/fog/cloudstack/requests/compute/assign_virtual_machine.rb +18 -0
- data/lib/fog/cloudstack/requests/compute/authorize_security_group_egress.rb +68 -0
- data/lib/fog/cloudstack/requests/compute/authorize_security_group_ingress.rb +55 -4
- data/lib/fog/cloudstack/requests/compute/create_security_group.rb +12 -4
- data/lib/fog/cloudstack/requests/compute/create_zone.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_security_group.rb +17 -0
- data/lib/fog/cloudstack/requests/compute/destroy_virtual_machine.rb +23 -1
- data/lib/fog/cloudstack/requests/compute/list_firewall_rules.rb +15 -0
- data/lib/fog/cloudstack/requests/compute/list_security_groups.rb +22 -4
- data/lib/fog/cloudstack/requests/compute/query_async_job_result.rb +15 -3
- data/lib/fog/cloudstack/requests/compute/revoke_security_group_egress.rb +42 -0
- data/lib/fog/cloudstack/requests/compute/revoke_security_group_ingress.rb +29 -3
- data/lib/fog/core.rb +1 -0
- data/lib/fog/core/attributes.rb +1 -1
- data/lib/fog/core/current_machine.rb +2 -2
- data/lib/fog/core/scp.rb +8 -0
- data/lib/fog/core/ssh.rb +8 -0
- data/lib/fog/dynect/dns.rb +14 -5
- data/lib/fog/ibm/requests/compute/create_instance.rb +1 -1
- data/lib/fog/libvirt/requests/compute/create_volume.rb +1 -1
- data/lib/fog/libvirt/requests/compute/list_volumes.rb +1 -1
- data/lib/fog/local/models/storage/file.rb +12 -1
- data/lib/fog/local/storage.rb +25 -1
- data/lib/fog/ninefold/compute.rb +1 -0
- data/lib/fog/openstack.rb +3 -1
- data/lib/fog/openstack/compute.rb +13 -2
- data/lib/fog/openstack/models/compute/servers.rb +10 -2
- data/lib/fog/openstack/requests/compute/create_flavor.rb +2 -2
- data/lib/fog/openstack/requests/compute/create_security_group.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_server.rb +1 -1
- data/lib/fog/openstack/requests/compute/create_volume.rb +1 -1
- data/lib/fog/openstack/requests/compute/get_flavor_details.rb +7 -7
- data/lib/fog/openstack/requests/compute/get_quota.rb +1 -12
- data/lib/fog/openstack/requests/compute/get_quota_defaults.rb +1 -12
- data/lib/fog/openstack/requests/compute/get_volume_details.rb +1 -1
- data/lib/fog/openstack/requests/compute/list_flavors.rb +7 -7
- data/lib/fog/openstack/requests/compute/list_flavors_detail.rb +7 -7
- data/lib/fog/openstack/requests/compute/list_security_groups.rb +7 -7
- data/lib/fog/openstack/requests/compute/list_servers_detail.rb +4 -3
- data/lib/fog/openstack/requests/compute/list_volumes.rb +6 -8
- data/lib/fog/openstack/requests/compute/update_quota.rb +2 -15
- data/lib/fog/openstack/requests/identity/delete_role.rb +1 -1
- data/lib/fog/openstack/requests/identity/list_roles.rb +1 -1
- data/lib/fog/openstack/requests/image/create_image.rb +3 -1
- data/lib/fog/openstack/requests/image/list_public_images.rb +19 -1
- data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +20 -2
- data/lib/fog/openstack/requests/image/update_image.rb +1 -1
- data/lib/fog/rackspace.rb +2 -0
- data/lib/fog/rackspace/databases.rb +121 -0
- data/lib/fog/rackspace/identity.rb +83 -0
- data/lib/fog/rackspace/load_balancers.rb +3 -0
- data/lib/fog/rackspace/models/databases/database.rb +32 -0
- data/lib/fog/rackspace/models/databases/databases.rb +31 -0
- data/lib/fog/rackspace/models/databases/flavor.rb +15 -0
- data/lib/fog/rackspace/models/databases/flavors.rb +25 -0
- data/lib/fog/rackspace/models/databases/instance.rb +104 -0
- data/lib/fog/rackspace/models/databases/instances.rb +25 -0
- data/lib/fog/rackspace/models/databases/user.rb +32 -0
- data/lib/fog/rackspace/models/databases/users.rb +31 -0
- data/lib/fog/rackspace/models/identity/credential.rb +13 -0
- data/lib/fog/rackspace/models/identity/credentials.rb +32 -0
- data/lib/fog/rackspace/models/identity/role.rb +14 -0
- data/lib/fog/rackspace/models/identity/roles.rb +32 -0
- data/lib/fog/rackspace/models/identity/tenant.rb +15 -0
- data/lib/fog/rackspace/models/identity/tenants.rb +28 -0
- data/lib/fog/rackspace/models/identity/user.rb +53 -0
- data/lib/fog/rackspace/models/identity/users.rb +36 -0
- data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +17 -0
- data/lib/fog/rackspace/requests/databases/check_root_user.rb +15 -0
- data/lib/fog/rackspace/requests/databases/create_database.rb +24 -0
- data/lib/fog/rackspace/requests/databases/create_instance.rb +26 -0
- data/lib/fog/rackspace/requests/databases/create_user.rb +24 -0
- data/lib/fog/rackspace/requests/databases/delete_database.rb +15 -0
- data/lib/fog/rackspace/requests/databases/delete_instance.rb +15 -0
- data/lib/fog/rackspace/requests/databases/delete_user.rb +15 -0
- data/lib/fog/rackspace/requests/databases/enable_root_user.rb +15 -0
- data/lib/fog/rackspace/requests/databases/get_flavor.rb +15 -0
- data/lib/fog/rackspace/requests/databases/get_instance.rb +15 -0
- data/lib/fog/rackspace/requests/databases/list_databases.rb +15 -0
- data/lib/fog/rackspace/requests/databases/list_flavors.rb +15 -0
- data/lib/fog/rackspace/requests/databases/list_instances.rb +15 -0
- data/lib/fog/rackspace/requests/databases/list_users.rb +15 -0
- data/lib/fog/rackspace/requests/databases/resize_instance.rb +22 -0
- data/lib/fog/rackspace/requests/databases/resize_instance_volume.rb +24 -0
- data/lib/fog/rackspace/requests/databases/restart_instance.rb +20 -0
- data/lib/fog/rackspace/requests/identity/create_token.rb +25 -0
- data/lib/fog/rackspace/requests/identity/create_user.rb +25 -0
- data/lib/fog/rackspace/requests/identity/delete_user.rb +15 -0
- data/lib/fog/rackspace/requests/identity/get_credentials.rb +15 -0
- data/lib/fog/rackspace/requests/identity/get_user_by_id.rb +15 -0
- data/lib/fog/rackspace/requests/identity/get_user_by_name.rb +15 -0
- data/lib/fog/rackspace/requests/identity/list_credentials.rb +22 -0
- data/lib/fog/rackspace/requests/identity/list_tenants.rb +22 -0
- data/lib/fog/rackspace/requests/identity/list_user_roles.rb +22 -0
- data/lib/fog/rackspace/requests/identity/list_users.rb +22 -0
- data/lib/fog/rackspace/requests/identity/update_user.rb +24 -0
- data/lib/fog/rackspace/requests/load_balancers/get_ssl_termination.rb +15 -0
- data/lib/fog/rackspace/requests/load_balancers/remove_ssl_termination.rb +15 -0
- data/lib/fog/rackspace/requests/load_balancers/set_ssl_termination.rb +31 -0
- data/lib/fog/rackspace/storage.rb +1 -1
- data/lib/fog/vsphere/models/compute/server.rb +1 -0
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +2 -2
- data/tests/aws/models/compute/address_tests.rb +2 -1
- data/tests/aws/models/compute/volume_tests.rb +1 -1
- data/tests/aws/models/dns/records_tests.rb +19 -1
- data/tests/aws/models/storage/directory_tests.rb +1 -1
- data/tests/aws/models/storage/url_tests.rb +7 -1
- data/tests/aws/requests/auto_scaling/auto_scaling_tests.rb +4 -2
- data/tests/aws/requests/compute/address_tests.rb +19 -1
- data/tests/aws/requests/elasticache/cache_cluster_tests.rb +4 -4
- data/tests/aws/requests/elb/helper.rb +13 -2
- data/tests/aws/requests/iam/access_key_tests.rb +1 -3
- data/tests/cloudstack/compute/models/security_group_rule_tests.rb +29 -0
- data/tests/cloudstack/compute/models/security_group_tests.rb +16 -0
- data/tests/cloudstack/compute/models/security_groups_tests.rb +19 -0
- data/tests/cloudstack/compute/models/server_tests.rb +18 -0
- data/tests/cloudstack/compute/models/volume_tests.rb +34 -0
- data/tests/cloudstack/compute/models/volumes_tests.rb +17 -0
- data/tests/compute/helper.rb +10 -3
- data/tests/core/current_machine_tests.rb +32 -0
- data/tests/helper.rb +1 -1
- data/tests/helpers/mock_helper.rb +3 -0
- data/tests/hp/requests/compute/address_tests.rb +2 -1
- data/tests/joyent/requests/compute/datasets_tests.rb +12 -3
- data/tests/local/models/file_tests.rb +43 -0
- data/tests/local/storage_tests.rb +40 -0
- data/tests/openstack/requests/compute/flavor_tests.rb +1 -1
- data/tests/openstack/requests/compute/server_tests.rb +3 -3
- data/tests/openstack/requests/compute/volume_tests.rb +1 -1
- data/tests/openstack/requests/identity/role_tests.rb +1 -1
- data/tests/rackspace/databases_tests.rb +26 -0
- data/tests/rackspace/models/databases/database_tests.rb +17 -0
- data/tests/rackspace/models/databases/databases_tests.rb +17 -0
- data/tests/rackspace/models/databases/flavors_tests.rb +20 -0
- data/tests/rackspace/models/databases/instance_tests.rb +43 -0
- data/tests/rackspace/models/databases/instances_tests.rb +14 -0
- data/tests/rackspace/models/databases/user_tests.rb +21 -0
- data/tests/rackspace/models/databases/users_tests.rb +21 -0
- data/tests/rackspace/models/identity/credentials_tests.rb +16 -0
- data/tests/rackspace/models/identity/roles_tests.rb +16 -0
- data/tests/rackspace/models/identity/tenants_tests.rb +21 -0
- data/tests/rackspace/models/identity/user_tests.rb +17 -0
- data/tests/rackspace/models/identity/users_tests.rb +17 -0
- data/tests/rackspace/models/load_balancers/load_balancer_tests.rb +20 -0
- data/tests/rackspace/requests/databases/database_tests.rb +36 -0
- data/tests/rackspace/requests/databases/flavor_tests.rb +16 -0
- data/tests/rackspace/requests/databases/helper.rb +84 -0
- data/tests/rackspace/requests/databases/instance_tests.rb +77 -0
- data/tests/rackspace/requests/databases/user_tests.rb +37 -0
- data/tests/rackspace/requests/identity/tenants_tests.rb +21 -0
- data/tests/rackspace/requests/identity/token_tests.rb +63 -0
- data/tests/rackspace/requests/identity/user_tests.rb +107 -0
- data/tests/rackspace/requests/load_balancers/helper.rb +70 -1
- data/tests/rackspace/requests/load_balancers/ssl_termination_tests.rb +38 -0
- data/tests/storage/models/file_tests.rb +1 -1
- metadata +129 -13
- data/spec/core/current_machine_spec.rb +0 -32
- data/spec/lib/fog/aws/parsers/sqs/receive_message_spec.rb +0 -58
- data/spec/spec_helper.rb +0 -8
data/.document
CHANGED
data/.irbrc
CHANGED
@@ -50,16 +50,11 @@ def connect_openstack(username, password, tenant = nil, url = 'http://192.168.27
|
|
50
50
|
|
51
51
|
parameters.merge!(:openstack_tenant => tenant) if tenant
|
52
52
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
connections[username.to_sym] = {
|
59
|
-
:identity => identity,
|
60
|
-
:compute => compute ,
|
61
|
-
:image => image
|
62
|
-
}
|
53
|
+
key = username.to_sym
|
54
|
+
set_service(key, Fog::Identity, parameters)
|
55
|
+
set_service(key, Fog::Compute, parameters)
|
56
|
+
set_service(key, Fog::Volume, parameters)
|
57
|
+
set_service(key, Fog::Image, parameters)
|
63
58
|
end
|
64
59
|
|
65
60
|
def connect(parameters)
|
data/{README.rdoc → README.md}
RENAMED
@@ -1,4 +1,4 @@
|
|
1
|
-
http://geemus.s3.amazonaws.com/fog.png
|
1
|
+
![fog](http://geemus.s3.amazonaws.com/fog.png)
|
2
2
|
|
3
3
|
fog is the Ruby cloud computing library, top to bottom:
|
4
4
|
|
@@ -6,104 +6,109 @@ fog is the Ruby cloud computing library, top to bottom:
|
|
6
6
|
* Requests allow power users to get the most out of the features of each individual cloud.
|
7
7
|
* Mocks make testing and integrating a breeze.
|
8
8
|
|
9
|
-
|
9
|
+
## Getting Started
|
10
10
|
|
11
|
-
|
11
|
+
sudo gem install fog
|
12
12
|
|
13
|
-
Now type
|
13
|
+
Now type `fog` to try stuff, confident that fog will let you know what to do.
|
14
|
+
Here is an example of wading through server creation for Amazon Elastic Compute Cloud:
|
14
15
|
|
15
|
-
|
16
|
-
|
16
|
+
>> server = Compute[:aws].servers.create
|
17
|
+
ArgumentError: image_id is required for this operation
|
17
18
|
|
18
|
-
|
19
|
-
|
19
|
+
>> server = Compute[:aws].servers.create(:image_id => 'ami-5ee70037')
|
20
|
+
<Fog::AWS::EC2::Server [...]>
|
20
21
|
|
21
|
-
|
22
|
-
|
22
|
+
>> server.destroy # cleanup after yourself or regret it, trust me
|
23
|
+
true
|
23
24
|
|
24
|
-
|
25
|
+
## Collections
|
25
26
|
|
26
27
|
A high level interface to each cloud is provided through collections, such as `images` and `servers`.
|
27
|
-
You can see a list of available collections by calling `collections` on the connection object.
|
28
|
+
You can see a list of available collections by calling `collections` on the connection object.
|
29
|
+
You can try it out using the `fog` command:
|
28
30
|
|
29
|
-
|
30
|
-
|
31
|
+
>> Compute[:aws].collections
|
32
|
+
[:addresses, :directories, ..., :volumes, :zones]
|
31
33
|
|
32
34
|
Some collections are available across multiple providers:
|
33
35
|
|
34
|
-
* compute providers have
|
35
|
-
* dns providers have
|
36
|
-
* storage providers have
|
36
|
+
* compute providers have `flavors`, `images` and `servers`
|
37
|
+
* dns providers have `zones` and `records`
|
38
|
+
* storage providers have `directories` and `files`
|
37
39
|
|
38
40
|
Collections share basic CRUD type operations, such as:
|
39
|
-
|
40
|
-
*
|
41
|
-
*
|
42
|
-
*
|
41
|
+
|
42
|
+
* `all` - fetch every object of that type from the provider.
|
43
|
+
* `create` - initialize a new record locally and a remote resource with the provider.
|
44
|
+
* `get` - fetch a single object by it's identity from the provider.
|
45
|
+
* `new` - initialize a new record locally, but do not create a remote resource with the provider.
|
43
46
|
|
44
47
|
As an example, we'll try initializing and persisting a Rackspace Cloud server:
|
45
48
|
|
46
|
-
|
49
|
+
require 'fog'
|
47
50
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
51
|
+
compute = Fog::Compute.new(
|
52
|
+
:provider => 'Rackspace',
|
53
|
+
:rackspace_api_key => key,
|
54
|
+
:rackspace_username => username
|
55
|
+
)
|
53
56
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
+
# boot a gentoo server (flavor 1 = 256, image 3 = gentoo 2008.0)
|
58
|
+
server = compute.servers.create(:flavor_id => 1, :image_id => 3, :name => 'my_server')
|
59
|
+
server.wait_for { ready? } # give server time to boot
|
57
60
|
|
58
|
-
|
61
|
+
# DO STUFF
|
59
62
|
|
60
|
-
|
63
|
+
server.destroy # cleanup after yourself or regret it, trust me
|
61
64
|
|
62
|
-
|
65
|
+
## Models
|
63
66
|
|
64
67
|
Many of the collection methods return individual objects, which also provide common methods:
|
65
|
-
* +destroy+ - will destroy the persisted object from the provider
|
66
|
-
* +save+ - persist the object to the provider
|
67
|
-
* +wait_for+ - takes a block and waits for either the block to return true for the object or for a timeout (defaults to 10 minutes)
|
68
68
|
|
69
|
-
|
69
|
+
* `destroy` - will destroy the persisted object from the provider
|
70
|
+
* `save` - persist the object to the provider
|
71
|
+
* `wait_for` - takes a block and waits for either the block to return true for the object or for a timeout (defaults to 10 minutes)
|
72
|
+
|
73
|
+
## Mocks
|
70
74
|
|
71
75
|
As you might imagine, testing code using Fog can be slow and expensive, constantly turning on and and shutting down instances.
|
72
76
|
Mocking allows skipping this overhead by providing an in memory representation resources as you make requests.
|
73
77
|
Enabling mocking easy to use, before you run other commands, simply run:
|
74
78
|
|
75
|
-
|
79
|
+
Fog.mock!
|
76
80
|
|
77
|
-
Then proceed as usual, if you run into unimplemented mocks fog will raise an error and as always contributions are welcome!
|
81
|
+
Then proceed as usual, if you run into unimplemented mocks, fog will raise an error and as always contributions are welcome!
|
78
82
|
|
79
|
-
|
83
|
+
## Requests
|
80
84
|
|
81
85
|
Requests allow you to dive deeper when the models just can't cut it.
|
82
|
-
You can see a list of available requests by calling
|
86
|
+
You can see a list of available requests by calling `#requests` on the connection object.
|
83
87
|
|
84
88
|
For instance, ec2 provides methods related to reserved instances that don't have any models (yet). Here is how you can lookup your reserved instances:
|
85
89
|
|
86
|
-
|
87
|
-
|
88
|
-
|
90
|
+
$ fog
|
91
|
+
>> Compute[:aws].describe_reserved_instances
|
92
|
+
#<Excon::Response [...]>
|
89
93
|
|
90
|
-
It will return an
|
94
|
+
It will return an [excon](http://github.com/geemus/excon) response, which has `body`, `headers` and `status`. Both return nice hashes.
|
91
95
|
|
92
|
-
|
96
|
+
## Go forth and conquer
|
93
97
|
|
94
|
-
Play around and use the console to explore or check out
|
98
|
+
Play around and use the console to explore or check out [fog.io](http://fog.io) for more details and examples.
|
99
|
+
Once you are ready to start scripting fog, here is a quick hint on how to make connections without the command line thing to help you.
|
95
100
|
|
96
|
-
|
97
|
-
|
98
|
-
|
101
|
+
# create a compute connection
|
102
|
+
compute = Fog::Compute.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
|
103
|
+
# compute operations go here
|
99
104
|
|
100
|
-
|
101
|
-
|
102
|
-
|
105
|
+
# create a storage connection
|
106
|
+
storage = Fog::Storage.new(:provider => 'AWS', :aws_access_key_id => ACCESS_KEY_ID, :aws_secret_access_key => SECRET_ACCESS_KEY)
|
107
|
+
# storage operations go here
|
103
108
|
|
104
109
|
geemus says: "That should give you everything you need to get started, but let me know if there is anything I can do to help!"
|
105
110
|
|
106
|
-
|
111
|
+
## Contributing
|
107
112
|
|
108
113
|
* Find something you would like to work on. For suggestions look for the `easy`, `medium` and `hard` tags in the {issues}[http://github.com/fog/fog/issues]
|
109
114
|
* Fork the project and do your work in a topic branch.
|
@@ -111,21 +116,21 @@ geemus says: "That should give you everything you need to get started, but let m
|
|
111
116
|
* Rebase your branch against fog/fog to make sure everything is up to date.
|
112
117
|
* Commit your changes and send a pull request.
|
113
118
|
|
114
|
-
|
119
|
+
## Additional Resources
|
115
120
|
|
116
|
-
|
121
|
+
[fog.io](http://fog.io)
|
117
122
|
|
118
|
-
|
123
|
+
## Sponsorship
|
119
124
|
|
120
|
-
http://www.engineyard.com/images/logo.png
|
125
|
+
![Engine Yard](http://www.engineyard.com/images/logo.png)
|
121
126
|
|
122
|
-
All new work on fog is sponsored by
|
127
|
+
All new work on fog is sponsored by [Engine Yard](http://engineyard.com)
|
123
128
|
|
124
|
-
|
129
|
+
## Copyright
|
125
130
|
|
126
131
|
(The MIT License)
|
127
132
|
|
128
|
-
Copyright (c) 2010
|
133
|
+
Copyright (c) 2010 [geemus (Wesley Beary)](http://github.com/geemus)
|
129
134
|
|
130
135
|
Permission is hereby granted, free of charge, to any person obtaining
|
131
136
|
a copy of this software and associated documentation files (the
|
data/Rakefile
CHANGED
@@ -60,8 +60,6 @@ task :test do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def tests(mocked)
|
63
|
-
Formatador.display_line
|
64
|
-
sh("export FOG_MOCK=#{mocked} && bundle exec spec spec")
|
65
63
|
Formatador.display_line
|
66
64
|
start = Time.now.to_i
|
67
65
|
threads = []
|
@@ -189,10 +187,10 @@ task :changelog do
|
|
189
187
|
changelog << ''
|
190
188
|
|
191
189
|
require 'multi_json'
|
192
|
-
github_repo_data = Fog::JSON.decode(Excon.get('
|
193
|
-
data = github_repo_data
|
194
|
-
github_collaborator_data = Fog::JSON.decode(Excon.get('
|
195
|
-
data['collaborators'] = github_collaborator_data
|
190
|
+
github_repo_data = Fog::JSON.decode(Excon.get('https://api.github.com/repos/fog/fog').body)
|
191
|
+
data = github_repo_data.reject {|key, value| !['forks', 'open_issues', 'watchers'].include?(key)}
|
192
|
+
github_collaborator_data = Fog::JSON.decode(Excon.get('https://api.github.com/repos/fog/fog/collaborators').body)
|
193
|
+
data['collaborators'] = github_collaborator_data.length
|
196
194
|
rubygems_data = Fog::JSON.decode(Excon.get('https://rubygems.org/api/v1/gems/fog.json').body)
|
197
195
|
data['downloads'] = rubygems_data['downloads']
|
198
196
|
stats = []
|
data/changelog.txt
CHANGED
@@ -1,3 +1,494 @@
|
|
1
|
+
1.4.0 06/24/2012 24e0be755e251159f07d5d82beb1e8ef57c962d9
|
2
|
+
=========================================================
|
3
|
+
|
4
|
+
Stats! { 'collaborators' => 35, 'downloads' => 800348, 'forks' => 477, 'open_issues' => 43, 'watchers' => 2080 }
|
5
|
+
|
6
|
+
MVP! Nelvin Driz
|
7
|
+
|
8
|
+
[AWS]
|
9
|
+
make beanstalk, cdn, cloudformation, cloudwatch, elasticache, elb, storage, rds, ses, sns, route53 temporary credential friendly. thanks Frederick Cheung
|
10
|
+
|
11
|
+
[AWS|Auto Scale]
|
12
|
+
Add support for put_notification_configuration and change AWS API to use 01-01-2011 Spec. thanks Zuhaib M Siddique
|
13
|
+
|
14
|
+
[AWS|Autoscale]
|
15
|
+
Fixing Parameters notes for autoscale create launch configuration for InstanceMonitoring. Credit goes to boto, https://github.com/boto/boto/blob/develop/boto/ec2/autoscale/__init__.py , for having it correct. thanks Zuhaib M Siddique
|
16
|
+
Fixing Parameters notes for autoscale create launch configuration for InstanceMonitoring. Credit goes to boto, https://github.com/boto/boto/blob/develop/boto/ec2/autoscale/__init__.py , for having it correct. thanks Zuhaib M Siddique
|
17
|
+
|
18
|
+
[Openstack|Compute]
|
19
|
+
Usage Requests. thanks Hunter Nield
|
20
|
+
Migration and Console output. thanks Hunter Nield
|
21
|
+
server methods for console and migration. thanks Hunter Nield
|
22
|
+
Minor address cleanup. thanks Hunter Nield
|
23
|
+
|
24
|
+
[aws|address]
|
25
|
+
fixes release_address for VPC EIPs * amazon requires allocation_id only for vpc eips, and public_ip otherwise. thanks Albert Choi
|
26
|
+
|
27
|
+
[aws|beanstalk]
|
28
|
+
Added missing :beanstalk case. thanks George Scott
|
29
|
+
Added #load_balancer method. thanks George Scott
|
30
|
+
Serialize keys for SourceConfiguration. thanks George Scott
|
31
|
+
Added modify method for template. thanks George Scott
|
32
|
+
Support different AWS regions. thanks George Scott
|
33
|
+
Added swap_cnames method. thanks George Scott
|
34
|
+
|
35
|
+
[aws|compute]
|
36
|
+
add networkInterfaceSet context to EC2 instance parser. thanks Benton Roberts
|
37
|
+
|
38
|
+
[aws|dns]
|
39
|
+
Allow both Ruby and AWS style names for alias. thanks George Scott
|
40
|
+
Support for latency/weighted resource sets. thanks George Scott
|
41
|
+
Fixed #all iteration. thanks George Scott
|
42
|
+
Reimplemented #get. thanks George Scott
|
43
|
+
Added #all! method to Records. thanks George Scott
|
44
|
+
|
45
|
+
[aws|dynamodb]
|
46
|
+
correct batch_put_item to batch_write_item for consistency with API. thanks geemus
|
47
|
+
|
48
|
+
[aws|elb]
|
49
|
+
Failing test for load_balancers marker support. thanks Dan Peterson
|
50
|
+
Deprecate describe_load_balancers with just an array of names. thanks Dan Peterson
|
51
|
+
Marker support for describe_load_balancers. thanks Dan Peterson
|
52
|
+
Fix use of describe_load_balancers in tests. thanks Dan Peterson
|
53
|
+
load_balancers.get(nil) returns nil instead of the first of all load balancers. thanks Dan Peterson
|
54
|
+
|
55
|
+
[aws|iam]
|
56
|
+
Add test for AWS[:iam].get_user. thanks Benton Roberts
|
57
|
+
add test for AWS[:iam].get_user_policy. thanks Benton Roberts
|
58
|
+
FIX - make arguments AWS::IAM.get_user conform to expected standard for this module. thanks Benton Roberts
|
59
|
+
Fix Users model to comply with updated request parameter set. thanks Benton Roberts
|
60
|
+
mark role tests as pending in mock mode. thanks geemus
|
61
|
+
|
62
|
+
[aws|storage]
|
63
|
+
fix flipped logic on valid acl check closes #889. thanks geemus
|
64
|
+
fix method signature for setup_credentials. thanks geemus
|
65
|
+
|
66
|
+
[aws|storage|]
|
67
|
+
Make get_object_http_url use correct S3 host in returned URL. thanks Michiel Sikkes
|
68
|
+
Make get_object_http_url use correct S3 host in returned URL. thanks Michiel Sikkes
|
69
|
+
|
70
|
+
[brightbox|compute]
|
71
|
+
Updated image reference where unfortunately hardcoded. thanks Paul Thornthwaite
|
72
|
+
Remove resize request since not available. thanks Paul Thornthwaite
|
73
|
+
Update format tests for new attributes on Cloud IPs. thanks Paul Thornthwaite
|
74
|
+
Update format tests for "fqdn" attribute. thanks Paul Thornthwaite
|
75
|
+
Update format tests for updates to Image. thanks Paul Thornthwaite
|
76
|
+
|
77
|
+
[cloudstack]
|
78
|
+
prevent mock test failure when cloudstack credentials are not defined. thanks geemus
|
79
|
+
add to list of providers so it can be skipped when lacking credentials. thanks geemus
|
80
|
+
|
81
|
+
[cloudstack|compute]
|
82
|
+
zones,flavors,images,address. thanks Jason Hansen & Josh Lane
|
83
|
+
support async jobs. thanks Jason Hansen & Josh Lane
|
84
|
+
server abstraction and mocks. thanks Josh Lane & Jason Hansen
|
85
|
+
volumes support. thanks Josh Lane & Jason Hansen
|
86
|
+
|
87
|
+
[compute]
|
88
|
+
volume tests. thanks Josh Lane & Jason Hansen
|
89
|
+
|
90
|
+
[compute|aws]
|
91
|
+
Apply tags to volume at creation. thanks Dan Carley
|
92
|
+
Respect extra register_image options when mocking. thanks Dan Peterson
|
93
|
+
extend polling interval for spot_requests bootstrap. thanks geemus
|
94
|
+
cleanup internet_gateway mocks and remove debug output. thanks geemus
|
95
|
+
|
96
|
+
[compute|openstack]
|
97
|
+
update server attributes for shared compute tests. thanks geemus
|
98
|
+
cleanup for list security groups request/mock. thanks geemus
|
99
|
+
|
100
|
+
[docs]
|
101
|
+
fix link to EngineYard logo (broken in /storage, /compute, etc.). thanks Len
|
102
|
+
|
103
|
+
[ecloud|compute]
|
104
|
+
Adding multiple disks at once was not working properly. thanks Eugene Howe
|
105
|
+
fix optional params for validate_data closes #969. thanks geemus
|
106
|
+
|
107
|
+
[glesys|compute]
|
108
|
+
update server/status format to include cpu hash and warnings. thanks Anton Lindström
|
109
|
+
add reboot and compute test params. thanks Anton Lindström
|
110
|
+
|
111
|
+
[hp|compute]
|
112
|
+
fix tests to properly set default base image. thanks geemus
|
113
|
+
|
114
|
+
[ibm|compute]
|
115
|
+
Typo in parameter name, should be storageID. thanks Decklin Foster
|
116
|
+
|
117
|
+
[joyent|compute]
|
118
|
+
Fixes issue where params are not properly passed to #keys_create from #create_key. thanks Kevin Chan
|
119
|
+
Added #list_datacenters. thanks Kevin Chan
|
120
|
+
Support for DSA keys for auth. thanks Kevin Chan
|
121
|
+
|
122
|
+
[libVirt]
|
123
|
+
added tests. thanks Amos Benari
|
124
|
+
|
125
|
+
[libvirt]
|
126
|
+
refactored libvirt entire code. thanks Ohad Levy
|
127
|
+
expose node hostname. thanks Ohad Levy
|
128
|
+
added display attributes and allowed to change display of a running server. thanks Ohad Levy
|
129
|
+
volumes dev names must be uniq. thanks Ohad Levy
|
130
|
+
makes libvirt code more debian friendly. thanks Ohad Levy
|
131
|
+
- ensure no nil pools are returned. thanks Ohad Levy
|
132
|
+
Fix SSH keyfile being pulled from wrong param. thanks brookemckim
|
133
|
+
skip tests if ruby-libvirt is unavailable. thanks geemus
|
134
|
+
correct error message when skipping tests. thanks geemus
|
135
|
+
|
136
|
+
[misc]
|
137
|
+
Add support for internal ELBs in VPC. thanks Aaron Bell
|
138
|
+
cleaning up model. thanks Aaron Bell
|
139
|
+
fix parser to show scheme, add test for internal ELB creation. thanks Aaron Bell
|
140
|
+
fixing test. thanks Aaron Bell
|
141
|
+
add scheme to elb helper. thanks Aaron Bell
|
142
|
+
adds batch_put_item functionality to AWS dynamodb + test. thanks Alex Gaudio
|
143
|
+
Fixed non-persistent connections handling to AWS. thanks Alexander Kolesen
|
144
|
+
Fixed handling options[:persistent] in some cases. thanks Alexander Kolesen
|
145
|
+
added mock implementation. thanks Amos Benari
|
146
|
+
removed unneeded dependency,. thanks Amos Benari
|
147
|
+
new rbovirt version. thanks Amos Benari
|
148
|
+
use constant for GB. thanks Amos Benari
|
149
|
+
Adding network interface information and security group ids. thanks Artem Veremey
|
150
|
+
Adding network interface information and security group ids to the model. thanks Artem Veremey
|
151
|
+
Store the region for S3. thanks Ben Butler-Cole
|
152
|
+
add create_hosted_zone and get_hosted_zone request mocks. thanks Bulat Shakirzyanov
|
153
|
+
add list_hosted_zones request mock. thanks Bulat Shakirzyanov
|
154
|
+
add change_resource_record_set request mock. thanks Bulat Shakirzyanov
|
155
|
+
fix response codes and formatting. thanks Bulat Shakirzyanov
|
156
|
+
fix typos. thanks Bulat Shakirzyanov
|
157
|
+
fix identifiers. thanks Bulat Shakirzyanov
|
158
|
+
use hard-coded sample value to eliminate randomness. thanks Bulat Shakirzyanov
|
159
|
+
fix typos. thanks Bulat Shakirzyanov
|
160
|
+
fix zone id in create_hosted_zone response. thanks Bulat Shakirzyanov
|
161
|
+
fix attribute name. thanks Bulat Shakirzyanov
|
162
|
+
add authorize and revoke port range for security group. thanks Bulat Shakirzyanov
|
163
|
+
Fix typo. thanks Christopher Meiklejohn
|
164
|
+
Specify image_ref rather than trying to instantiate object. thanks Christopher Meiklejohn
|
165
|
+
Fog::Compute::AWS::Address#server -> assigned Server. thanks Dr Nic Williams
|
166
|
+
fix auto-discovery for HP Cloud by fog bin. thanks Dr Nic Williams
|
167
|
+
whitespace. :bomb: :v:. thanks Dylan Egan
|
168
|
+
Default to false for persistent connections. You can't pass in false. This now behaves like other connections in fog. :v:. thanks Dylan Egan
|
169
|
+
Idempotent Dynect calls. :v:. thanks Dylan Egan
|
170
|
+
Fix up describe_volume_status to work with THE ARRAYZ. :v:. thanks Dylan Egan
|
171
|
+
Fog::AWS.indexed_reuqest_param. thanks Edward Muller
|
172
|
+
include the nextToken in the body. thanks Edward Muller
|
173
|
+
complete Request param support. thanks Edward Muller
|
174
|
+
refactor to use Fog::AWS.indexed_request_param. thanks Edward Muller
|
175
|
+
the old parser was not working properly. thanks Edward Muller
|
176
|
+
All directories.create on us-east-1. thanks Edward Muller
|
177
|
+
us-west-2 default ami. thanks Edward Muller
|
178
|
+
some small fixups. thanks Edward Muller
|
179
|
+
make the aws region accessible. thanks Edward Muller
|
180
|
+
Fog::Compute::Server#private_key=. thanks Edward Muller
|
181
|
+
Fog::Compute::Server#sshable?. thanks Edward Muller
|
182
|
+
ssh/run optionally takes a block. thanks Edward Muller
|
183
|
+
Cleanup after talking to @dpiddy. thanks Edward Muller
|
184
|
+
return '' not nil. thanks Edward Muller
|
185
|
+
Revert "Add debug option to Fog::Compute::Server#ssh". thanks Edward Muller
|
186
|
+
Mock stop_instances. thanks Edward Muller
|
187
|
+
Mock aws compute start_instances. thanks Edward Muller
|
188
|
+
Don't duplicate effort. thanks Edward Muller
|
189
|
+
Add ssh_port to Fog::Compute::Server. thanks Edward Muller
|
190
|
+
Generalize NoLeak Inspector for Fog::Service. thanks Edward Muller
|
191
|
+
Don't leak HP cdn & storage. thanks Edward Muller
|
192
|
+
Make aws compute server retry SSH on EHOSTUNREACH. thanks Eric Boehs
|
193
|
+
Copied auth token reauthentication from rackspace|compute. thanks Eric Hankins
|
194
|
+
https://github.com/fog/fog/issues/810 - Add ENI support by maf23. thanks Eric Stonfer
|
195
|
+
minor fix to ENI tests. thanks Eric Stonfer
|
196
|
+
VPC ELBs, Tests, and the introduction of the InternetGateway object. thanks Eric Stonfer
|
197
|
+
clean up conflict. thanks Eric Stonfer
|
198
|
+
this adds the dhcp_options object and associated operations. thanks Eric Stonfer
|
199
|
+
merge upstream. thanks Eric Stonfer
|
200
|
+
forgot to commit dhcp_options tests. thanks Eric Stonfer
|
201
|
+
fix describe_volume_status parser. thanks Eric Stonfer
|
202
|
+
add some more explanation to the server creation process. thanks Eric Stonfer
|
203
|
+
testing. thanks Eugene Howe
|
204
|
+
added requests and models for compute_pools. thanks Eugene Howe
|
205
|
+
changed to urn:tmrk:eCloudExtensions-2.8. thanks Eugene Howe
|
206
|
+
require compute pool to be specified on vapp creation. thanks Eugene Howe
|
207
|
+
set default value for computePool on vapp creation. thanks Eugene Howe
|
208
|
+
Made computePool an optional parameter, specs now pass without issue. thanks Eugene Howe
|
209
|
+
Removed non-functioning Mock classes. thanks Eugene Howe
|
210
|
+
fixed method name. thanks Eugene Howe
|
211
|
+
start an instance with an IAM profile and access the credentials. thanks Frederick Cheung
|
212
|
+
add new iam requests to support iam roles. thanks Frederick Cheung
|
213
|
+
request tests for the new iam role requests. thanks Frederick Cheung
|
214
|
+
test credential fetching. thanks Frederick Cheung
|
215
|
+
use excon rather than net/http. thanks Frederick Cheung
|
216
|
+
remove stray multijson require. thanks Frederick Cheung
|
217
|
+
fix errant use of net/http. thanks Frederick Cheung
|
218
|
+
Add debug option to Fog::Compute::Server#ssh. thanks Gabriel Horner
|
219
|
+
Correct docs for change_resource_record_sets. thanks Gavin Sandie
|
220
|
+
add cc2.8xlarge AWS flavor. thanks Ian Downes
|
221
|
+
Fix user-data attribute name. thanks Igor Bolotin
|
222
|
+
Refactor AWS Directory. thanks James Herdman
|
223
|
+
Remove unused variable. thanks James Herdman
|
224
|
+
Fix indentation warning. thanks James Herdman
|
225
|
+
Remove unnecessary full path usage with require. thanks James Herdman
|
226
|
+
Remove unused variable. thanks James Herdman
|
227
|
+
Remove unused accessor. thanks James Herdman
|
228
|
+
Silence warning regarding splat operator. thanks James Herdman
|
229
|
+
Remove unused variable. thanks James Herdman
|
230
|
+
Remove unused variable. thanks James Herdman
|
231
|
+
Silence warnings about potentially private attribute. thanks James Herdman
|
232
|
+
Remove unused variable. thanks James Herdman
|
233
|
+
Silence warning about potentially private attribute. thanks James Herdman
|
234
|
+
Remove unused variable. thanks James Herdman
|
235
|
+
Remove unused variable. thanks James Herdman
|
236
|
+
Remove unused variable. thanks James Herdman
|
237
|
+
Remove unused variable. thanks James Herdman
|
238
|
+
Remove unused variable. thanks James Herdman
|
239
|
+
Remove unused variable. thanks James Herdman
|
240
|
+
Remove unused variable. thanks James Herdman
|
241
|
+
Remove unused variable. thanks James Herdman
|
242
|
+
Remove unused variable. thanks James Herdman
|
243
|
+
Remove unused variable. thanks James Herdman
|
244
|
+
Remove unused variable. thanks James Herdman
|
245
|
+
Remove unused variable. thanks James Herdman
|
246
|
+
Remove unused variable. thanks James Herdman
|
247
|
+
Remove duplicate require. thanks James Herdman
|
248
|
+
Remove unused variable. thanks James Herdman
|
249
|
+
Remove unused variable. thanks James Herdman
|
250
|
+
Remove unused variable. thanks James Herdman
|
251
|
+
Remove absolute path when requiring. thanks James Herdman
|
252
|
+
Remove unused variable. thanks James Herdman
|
253
|
+
Remove duplicate Mock class definition. thanks James Herdman
|
254
|
+
implement Fog::SSH::Mock#run. thanks Jason Hansen & Josh Lane
|
255
|
+
add a method to IPAddr instead of breaking a useful one. thanks Jesse Newland
|
256
|
+
Adjusts regex to fix issues with S3 paths that include periods. thanks John Feminella
|
257
|
+
fix response-cache-control type for AWS signed urls. thanks John Nishinaga
|
258
|
+
remove FOG_PROVIDER env override. thanks Josh Lane
|
259
|
+
more robust resource pool discovery. thanks Justin Clayton
|
260
|
+
Removed duplicate property :ips on server. thanks Kevin Chan
|
261
|
+
Fixes invalid call to #resize, should be #resize_machine. thanks Kevin Chan
|
262
|
+
Fixed #875: Loosen multi_json version. thanks Kevin Menard
|
263
|
+
Bad string replace. thanks Kevin Menard
|
264
|
+
Actually call the new MultiJSON 1.3.2 API methods. thanks Kevin Menard
|
265
|
+
Rename dd_belatedpng.js to dd_belatedpng.min.js. thanks Laurent Bigonville
|
266
|
+
Add non-minified javascript files used in docs/ (#939). thanks Laurent Bigonville
|
267
|
+
Catch Errno::ETIMEDOUT timeout error when connecting to a freshly created EC2 machine. thanks Marc Seeger
|
268
|
+
fix get, all, and all!. thanks Michael Keirnan
|
269
|
+
Make `.irbrc` service agnostic. thanks Nelvin Driz
|
270
|
+
Nested Credentials with Array gets flattened; restrict flatten to 1L. thanks Nelvin Driz
|
271
|
+
Allow for stringified options keys. thanks Nikita Pomyashchiy
|
272
|
+
add supports for defining/extracting libvit boot order. thanks Ohad Levy
|
273
|
+
libvirt volume sizes are in GB, ensuring both requests and setters are in GB. thanks Ohad Levy
|
274
|
+
adds deprecation on vnc_port. thanks Ohad Levy
|
275
|
+
monitoring-state is enabled or disabled, if enabled returns true. thanks Ozgur Akan
|
276
|
+
reserved instances hourly cost was returning empty. thanks Ozgur Akan
|
277
|
+
Modify url regexp to handle periods in bucket names. thanks Parker Selbert
|
278
|
+
Tag generated model tests with string not symbol. thanks Paul Thornthwaite
|
279
|
+
added missing server attributes for openstack compute model. thanks Pedro Perez
|
280
|
+
openstack: extended list_servers and list_server_detail to allow all_tenants param. thanks Pedro Perez
|
281
|
+
depend on excon >= 0.13.0. thanks Prashant Nadarajan
|
282
|
+
use pessimistic gem version constraint for excon (~>0.14.0). thanks Prashant Nadarajan
|
283
|
+
aim users model and nested model policy. thanks Rodrigo Estebanez
|
284
|
+
IAM access_key model implemented. thanks Rodrigo Estebanez
|
285
|
+
get_user Mock implemented. Basic shindo user_tests added. thanks Rodrigo Estebanez
|
286
|
+
Refactor aim modeling for nested models (policies and access keys). thanks Rodrigo Estebanez
|
287
|
+
shindo tests for IAM models: users, policies and access_keys. Mock implementation for get_user_policy. thanks Rodrigo Estebanez
|
288
|
+
@users -> @user. Clean up the @user after the policies and access_keys test. thanks Rodrigo Estebanez
|
289
|
+
Fix encoding issue: https://github.com/fog/fog/pull/189. thanks Rodrigo Estebanez
|
290
|
+
aim users model and nested model policy. thanks Rodrigo Estebanez
|
291
|
+
IAM access_key model implemented. thanks Rodrigo Estebanez
|
292
|
+
get_user Mock implemented. Basic shindo user_tests added. thanks Rodrigo Estebanez
|
293
|
+
Refactor aim modeling for nested models (policies and access keys). thanks Rodrigo Estebanez
|
294
|
+
shindo tests for IAM models: users, policies and access_keys. Mock implementation for get_user_policy. thanks Rodrigo Estebanez
|
295
|
+
@users -> @user. Clean up the @user after the policies and access_keys test. thanks Rodrigo Estebanez
|
296
|
+
Fix encoding issue: https://github.com/fog/fog/pull/189. thanks Rodrigo Estebanez
|
297
|
+
For some reason, there was a missing comma in the mock class. thanks Rodrigo Estebanez
|
298
|
+
Fix get_user_policy. The actual AWS data has to be in a ['Policy'] hash section. thanks Rodrigo Estebanez
|
299
|
+
add IAM mocking for get_group method. thanks Rodrigo Estebanez
|
300
|
+
add IAM mocking for get_group method. thanks Rodrigo Estebanez
|
301
|
+
Add new HP providers for Object Storage, Compute and CDN services. thanks Rupak Ganguly
|
302
|
+
Be sure to reload when checking for a started spot instance, also add private/public key options into spot_requests, then set those on the server when loaded. thanks Ryan Stout
|
303
|
+
Use spot request's public_key when setting up keypair. thanks Ryan Stout
|
304
|
+
ensure apiKey and command are included in parameter sorting. thanks Sean Caffery
|
305
|
+
* [xenserver|compute] initial release. thanks Sergio Rubio
|
306
|
+
* Added VIF model and collection tests * added network and server wrappers to VIF model. thanks Sergio Rubio
|
307
|
+
* Added VIF collection Shindo tests. thanks Sergio Rubio
|
308
|
+
* Added PIFs collection Shindo tests. thanks Sergio Rubio
|
309
|
+
* Added VBD Shindo tests * added server wrapper to VBD model. thanks Sergio Rubio
|
310
|
+
* Added Network collection Shindo tests * Fixed PBD and PIF tests descriptions. thanks Sergio Rubio
|
311
|
+
* Added Pool and StorageRepository models and collections Shindo tests * Added missing attributes to Pool and StorageRepository models. thanks Sergio Rubio
|
312
|
+
* Define missing InvalidLogin exception * Add login tests. thanks Sergio Rubio
|
313
|
+
* Added custom_templates and templates methods to Host model. thanks Sergio Rubio
|
314
|
+
* Added more tests and extended existing ones * Added missing exceptions NotFound and RequestFailed * connection.request now raises exception if request failed * refactored most get_* request into get_record and get_records * Compute.default_template more robust * Base parser now replaces OpaqueRef:NULL with nil * create_server request fixes. thanks Sergio Rubio
|
315
|
+
* Added some more tests * Lots of fixes and some refactoring. thanks Sergio Rubio
|
316
|
+
* Fix Servers.templates method. thanks Sergio Rubio
|
317
|
+
* Added clone_server request. thanks Sergio Rubio
|
318
|
+
* Added create_vif tests * Server.save now properly creates additional VIFs when required * Added create_vif_custome request to create VIFs with custom params. thanks Sergio Rubio
|
319
|
+
* Added Vif.destroy and destroy_vif request * add :auto_start parameter to Server.save. thanks Sergio Rubio
|
320
|
+
* Added create_vdi request * Added missing VDI methods and attributes. thanks Sergio Rubio
|
321
|
+
* Added missing VBD operations. thanks Sergio Rubio
|
322
|
+
* Added set_attribute request and tests * Added missing PV_bootloaer attribute to Server * Added Server.set_attribute method and tests. thanks Sergio Rubio
|
323
|
+
* Added create_vbd and provision_server requests * Do not provision server when :auto_start is false * Add Server.provisio method * Add VBD.save method. thanks Sergio Rubio
|
324
|
+
* renamed some tests * Added missing VDI attributes and methods * added create/destroy request tests * Added valid_ref? test helper * Fixes in get_record_tests. thanks Sergio Rubio
|
325
|
+
* Added missing attributes to Server model * Added create_server_raw request and tests * Added VIF.save action * more tests. thanks Sergio Rubio
|
326
|
+
* Fix: do not try to retrive guest_metrics when guest_metrics ref is nil * ruby 1.8.7 compatibility fixes * Sane defaults for create_server_raw request. thanks Sergio Rubio
|
327
|
+
* Added new scan_sr request * Added StorageRepository.scan method * set_attribute request is now generic and can be used by any model * Added VDI.set_attribute method. thanks Sergio Rubio
|
328
|
+
* [xenserver|compute] set_attribute request now accepts var args - added new tests. thanks Sergio Rubio
|
329
|
+
updating gitignore for eclipse settings. thanks Spencer Dillard
|
330
|
+
first pass at updates for VPC. thanks Spencer Dillard
|
331
|
+
updating for SSL ciphers and protocols. thanks Spencer Dillard
|
332
|
+
updating to master. thanks Spencer Dillard
|
333
|
+
regularize examples showing use of AWS access keys. thanks Stephen Bannasch
|
334
|
+
Use MultiJSON #dump and #load rather than #encode and #decode. thanks Steve Smith
|
335
|
+
Add support for ports in AWS storage URLs. thanks Tim Carey-Smith
|
336
|
+
Mock implementations for SCP upload and download. thanks Tom Mornini
|
337
|
+
add Linode Mock classes to request primitives. thanks Wes Morgan
|
338
|
+
make Mock#linode_disk_delete return the response object. thanks Wes Morgan
|
339
|
+
make Mock#linode_disk_list return the response object. thanks Wes Morgan
|
340
|
+
use kernel_id for mocked kernel, not stackscript_id. thanks Wes Morgan
|
341
|
+
Adds new method delete_notification_configuration which allows you notifications created by put_notification_configuration. thanks Zuhaib Siddique
|
342
|
+
Fix for stacks that have capabilities. Without this the parser misinterprets stacks with capabilities set. thanks atlantacs
|
343
|
+
volume(s) are not considered to be universally available. thanks geemus
|
344
|
+
catch passing an invalid openstack_tenant. thanks mattray
|
345
|
+
addresses['internet'] (like on TryStack.org) supported and public and private_ip_address now work. thanks mattray
|
346
|
+
don't assume 'internet' for addresses. thanks mattray
|
347
|
+
Added offering type for reserved instances response. thanks questionnet
|
348
|
+
|
349
|
+
[oVirt]
|
350
|
+
added volumes to server and template. thanks Amos Benari
|
351
|
+
added volume size in GB accessor. thanks Amos Benari
|
352
|
+
fixed create_vm and get_virtual_machine requests mock implementation. thanks Amos Benari
|
353
|
+
|
354
|
+
[openstack]
|
355
|
+
Fix create snapshot. thanks Ferran Rodenas
|
356
|
+
Match both OS API 1.1 and v2 since they are the same. thanks Josh Kearney
|
357
|
+
Update Reinitialization Process of Existing Auth Token. thanks Nelvin Driz
|
358
|
+
Add Export of Credentials. thanks Nelvin Driz
|
359
|
+
Wrong instance variables accessed for #credentials. thanks Nelvin Driz
|
360
|
+
Update Authentication through X-Auth-Token. thanks Nelvin Driz
|
361
|
+
Update mocks for login and identity request #get_user_by_id. thanks Nelvin Driz
|
362
|
+
Fix authentication without specifying tenant name. thanks Nelvin Driz
|
363
|
+
Make current_user and current_token accessible to services. thanks Nelvin Driz
|
364
|
+
Fix Authentication as well as Fog::JSON call bugs. thanks Nelvin Driz
|
365
|
+
Raise error when no tenant is found for the user logging in. thanks Nelvin Driz
|
366
|
+
Ensure password sent is of type string. thanks Nelvin Driz
|
367
|
+
Modify authentication process. thanks Philip Mark Deazeta
|
368
|
+
|
369
|
+
[openstack|compute]
|
370
|
+
Add requests and tests for security groups. thanks Alfonso Juan Dillera
|
371
|
+
Add requests, models and tests for keypairs. thanks Alfonso Juan Dillera
|
372
|
+
Add requests, models and tests for address management. thanks Alfonso Juan Dillera
|
373
|
+
Add requests, models and tests for address management. thanks Alfonso Juan Dillera
|
374
|
+
Add flavor CRUD. thanks Alfonso Juan Dillera
|
375
|
+
Add auth_token. thanks Alfonso Juan Dillera
|
376
|
+
Added request for boot_from_snapshot. thanks Alfonso Juan Dillera
|
377
|
+
Added id attribute to the keypair. thanks Alfonso Juan Dillera
|
378
|
+
Update fetching of addresses and added fetching for address pools. thanks Alvin Garcia
|
379
|
+
Fixed creating image of a server. thanks Alvin Garcia
|
380
|
+
Added requests for quota. thanks Alvin Garcia
|
381
|
+
Initial extension support for addresses. thanks Hunter Nield
|
382
|
+
Initial extension support for key pairs. thanks Hunter Nield
|
383
|
+
Initial extension support for security groups. thanks Hunter Nield
|
384
|
+
Added Address models. thanks Hunter Nield
|
385
|
+
Added key pair models. thanks Hunter Nield
|
386
|
+
added security group models. thanks Hunter Nield
|
387
|
+
Updates to server model. thanks Hunter Nield
|
388
|
+
Added list/get support for /os-hosts. thanks Hunter Nield
|
389
|
+
Add Tenants and Fix Authentication Implementation. thanks Nelvin Driz
|
390
|
+
Fix Requests on Compute. thanks Nelvin Driz
|
391
|
+
General Cleanup and Update. thanks Nelvin Driz
|
392
|
+
Fix Compute Identity Endpoint Credential Export. thanks Nelvin Driz
|
393
|
+
Add Identity Enpoint to Recognized Init Parameters. thanks Nelvin Driz
|
394
|
+
Update requests and response of server actions. thanks Nelvin Driz
|
395
|
+
Fix Bug on Key Pair Mock. thanks Nelvin Driz
|
396
|
+
Update Mocks for Volumes. thanks Nelvin Driz
|
397
|
+
Update Mocks for Security Groups and Volumes. thanks Nelvin Driz
|
398
|
+
Add Instance Name to Fog. thanks Nelvin Driz
|
399
|
+
Update Image Mocks. thanks Nelvin Driz
|
400
|
+
Update List Security Groups to list those assigned to a server. thanks Nelvin Driz
|
401
|
+
Assert Timezone to UTC and fix format for OS on `get_usage`. thanks Nelvin Driz
|
402
|
+
Added get_usage function, mocks, tests. thanks Philip Mark Deazeta
|
403
|
+
Added get server volumes request. thanks Philip Mark M. Deazeta
|
404
|
+
Added key_pair and security_groups options int create server requrest. thanks Philip Mark M. Deazeta
|
405
|
+
added key_name and security_groups in boot from snapshot request. thanks Philip Mark M. Deazeta
|
406
|
+
authenticate_v2 fixes. thanks Sergio Rubio
|
407
|
+
|
408
|
+
[openstack|identity]
|
409
|
+
Added current user id. thanks Alfonso Juan Dillera
|
410
|
+
Updated current user id for identity. thanks Alfonso Juan Dillera
|
411
|
+
Keystone Roles. thanks Alvin Garcia
|
412
|
+
Keystone Roles and Users. thanks Alvin Garcia
|
413
|
+
Update users collections and model. thanks Alvin Garcia
|
414
|
+
Update users model initialization and save. thanks Alvin Garcia
|
415
|
+
Fixed users fetching. thanks Alvin Garcia
|
416
|
+
Rough implementation of the Keystone API (untested). thanks Hunter Nield
|
417
|
+
Correction in Roles#all method. thanks Mark Maglana
|
418
|
+
Express the "add user role" intent more clearly. thanks Mark Maglana
|
419
|
+
Fix Authentication Implementation. thanks Nelvin Driz
|
420
|
+
Update Tenants. thanks Nelvin Driz
|
421
|
+
Update Tenants (Complete CRUD). thanks Nelvin Driz
|
422
|
+
Fix Identity Authentication Conditions on Endpoint Detection. thanks Nelvin Driz
|
423
|
+
Add User List and Delete User Mocks. thanks Nelvin Driz
|
424
|
+
Update Fog to Accomodate Tenant Deletion Workaround Workflow. thanks Nelvin Driz
|
425
|
+
Fix status code expectation. thanks Nelvin Driz
|
426
|
+
Added function to add user to a tenant. thanks Philip Mark Deazeta
|
427
|
+
Added function to add user to a tenant. thanks Philip Mark Deazeta
|
428
|
+
fixes for mocks. thanks geemus
|
429
|
+
|
430
|
+
[openstack|image]
|
431
|
+
Added set_tenant. thanks Alvin Garcia
|
432
|
+
Added copy_from attribute. thanks Alvin Garcia
|
433
|
+
Update Image Service Authentication Options. thanks Nelvin Driz
|
434
|
+
Added image service, model and request. thanks Philip Mark Deazeta
|
435
|
+
Added test for models and request. thanks Philip Mark Deazeta
|
436
|
+
Added image module, model and request. thanks Philip Mark Deazeta
|
437
|
+
Image Model Updates. thanks Philip Mark Deazeta
|
438
|
+
Refactor Dynamic Methods on Image Model. thanks Philip Mark Deazeta
|
439
|
+
|
440
|
+
[openstack|volume]
|
441
|
+
Volume Endpoints Support. thanks Marjun Pagalan
|
442
|
+
Volume Snapshot CRUD. thanks Marjun Pagalan
|
443
|
+
Volume attach/detach to Server. thanks Marjun Pagalan
|
444
|
+
Added volume service requests. thanks Philip Mark M. Deazeta
|
445
|
+
fix on module name. thanks Philip Mark M. Deazeta
|
446
|
+
Added volume model. thanks Philip Mark M. Deazeta
|
447
|
+
|
448
|
+
[ovirt]
|
449
|
+
fixed list storage domain test. thanks Amos Benari
|
450
|
+
|
451
|
+
[rackspace|compute]
|
452
|
+
fix rackspace server compare. thanks Josh Lane & Jason Hansen
|
453
|
+
default images. thanks Josh Lane & Jason Hansen
|
454
|
+
Images#all returns data. thanks Josh Lane & Jason Hansen
|
455
|
+
fixes for mock images. thanks geemus
|
456
|
+
|
457
|
+
[rackspace|lb]
|
458
|
+
added support for algorithm on create. thanks Brian Hartsock
|
459
|
+
fixed broken tests due to API contract changes. thanks Brian Hartsock
|
460
|
+
|
461
|
+
[rackspace|loadbalancers]
|
462
|
+
fixed broken tests. thanks Brian Hartsock
|
463
|
+
|
464
|
+
[rackspace|storage|file]
|
465
|
+
copy method now use the options hash and apply content type. thanks Matthias Gröbner
|
466
|
+
|
467
|
+
[rackspace|storage|files]
|
468
|
+
fix iteration. thanks Matthias Gröbner
|
469
|
+
|
470
|
+
[slicehost]
|
471
|
+
remove (now deprecated) slicehost support. thanks geemus
|
472
|
+
|
473
|
+
[storage|aws]
|
474
|
+
fix location stuff to allow creating new buckets properly. thanks geemus
|
475
|
+
|
476
|
+
[vcloud]
|
477
|
+
Remove some un-needed debug information. thanks Lincoln Stoll
|
478
|
+
|
479
|
+
[vpc-fixes]
|
480
|
+
AWS security group model + VPC. thanks Sean Porter
|
481
|
+
|
482
|
+
[vsphere]
|
483
|
+
force poweroff of instance of vmware tools are not installed. thanks Ohad Levy
|
484
|
+
adds memory and cpu server attributes. thanks Ohad Levy
|
485
|
+
adds support to get and set vnc console. thanks Ohad Levy
|
486
|
+
|
487
|
+
[xenserver]
|
488
|
+
Added missing Server.tags attribute. thanks Sergio Rubio
|
489
|
+
fix tags to skip tests without credentials. thanks geemus
|
490
|
+
|
491
|
+
|
1
492
|
1.3.1 03/27/2012 f0f692456956fe2e414ef8205d0268259901644a
|
2
493
|
=========================================================
|
3
494
|
|