fog 0.3.31 → 0.3.32
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/.document +3 -0
- data/.gitignore +10 -0
- data/Gemfile.lock +1 -4
- data/README.rdoc +29 -37
- data/Rakefile +5 -25
- data/bin/fog +1 -3
- data/examples/dns_methods.rb +389 -0
- data/examples/storage.rb +103 -0
- data/fog.gemspec +4 -778
- data/lib/fog.rb +5 -66
- data/lib/fog/aws.rb +3 -0
- data/lib/fog/aws/bin.rb +7 -2
- data/lib/fog/aws/cdn.rb +2 -2
- data/lib/fog/aws/compute.rb +2 -2
- data/lib/fog/aws/dns.rb +101 -0
- data/lib/fog/aws/elb.rb +2 -2
- data/lib/fog/aws/iam.rb +2 -2
- data/lib/fog/aws/models/compute/image.rb +1 -0
- data/lib/fog/aws/models/compute/server.rb +1 -1
- data/lib/fog/aws/models/compute/servers.rb +1 -13
- data/lib/fog/aws/parsers/compute/describe_images.rb +36 -34
- data/lib/fog/aws/parsers/dns/change_resource_record_sets.rb +26 -0
- data/lib/fog/aws/parsers/dns/create_hosted_zone.rb +55 -0
- data/lib/fog/aws/parsers/dns/delete_hosted_zone.rb +25 -0
- data/lib/fog/aws/parsers/dns/get_change.rb +26 -0
- data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +43 -0
- data/lib/fog/aws/parsers/dns/list_hosted_zones.rb +35 -0
- data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +46 -0
- data/lib/fog/aws/requests/compute/describe_images.rb +1 -0
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +90 -0
- data/lib/fog/aws/requests/dns/create_hosted_zone.rb +68 -0
- data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +48 -0
- data/lib/fog/aws/requests/dns/get_change.rb +47 -0
- data/lib/fog/aws/requests/dns/get_hosted_zone.rb +51 -0
- data/lib/fog/aws/requests/dns/list_hosted_zones.rb +63 -0
- data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +68 -0
- data/lib/fog/aws/requests/storage/get_object_url.rb +2 -2
- data/lib/fog/aws/requests/storage/put_object_url.rb +2 -2
- data/lib/fog/aws/requests/storage/sync_clock.rb +28 -0
- data/lib/fog/aws/simpledb.rb +2 -2
- data/lib/fog/aws/storage.rb +5 -3
- data/lib/fog/bluebox.rb +2 -0
- data/lib/fog/bluebox/compute.rb +2 -2
- data/lib/fog/brightbox.rb +2 -0
- data/lib/fog/brightbox/compute.rb +2 -2
- data/lib/fog/core.rb +21 -1
- data/lib/fog/core/bin.rb +3 -1
- data/lib/fog/core/compute.rb +1 -0
- data/lib/fog/core/credentials.rb +72 -50
- data/lib/fog/core/deprecation.rb +11 -5
- data/lib/fog/core/mock.rb +34 -0
- data/lib/fog/core/model.rb +9 -1
- data/lib/fog/core/service.rb +40 -26
- data/lib/fog/core/storage.rb +1 -0
- data/lib/fog/core/time.rb +21 -0
- data/lib/fog/core/wait_for.rb +17 -0
- data/lib/fog/go_grid.rb +2 -0
- data/lib/fog/go_grid/compute.rb +2 -2
- data/lib/fog/google.rb +2 -0
- data/lib/fog/google/requests/storage/get_bucket.rb +6 -5
- data/lib/fog/google/requests/storage/get_object_url.rb +4 -4
- data/lib/fog/google/requests/storage/put_object_url.rb +4 -4
- data/lib/fog/google/storage.rb +4 -3
- data/lib/fog/linode.rb +3 -0
- data/lib/fog/linode/bin.rb +5 -3
- data/lib/fog/linode/compute.rb +6 -2
- data/lib/fog/linode/dns.rb +80 -0
- data/lib/fog/linode/requests/dns/domain_create.rb +52 -0
- data/lib/fog/linode/requests/dns/domain_delete.rb +35 -0
- data/lib/fog/linode/requests/dns/domain_list.rb +50 -0
- data/lib/fog/linode/requests/dns/domain_resource_create.rb +53 -0
- data/lib/fog/linode/requests/dns/domain_resource_delete.rb +36 -0
- data/lib/fog/linode/requests/dns/domain_resource_list.rb +48 -0
- data/lib/fog/linode/requests/dns/domain_resource_update.rb +54 -0
- data/lib/fog/linode/requests/dns/domain_update.rb +48 -0
- data/lib/fog/local.rb +2 -0
- data/lib/fog/local/storage.rb +3 -3
- data/lib/fog/new_servers.rb +2 -0
- data/lib/fog/new_servers/compute.rb +2 -2
- data/lib/fog/rackspace.rb +2 -0
- data/lib/fog/rackspace/cdn.rb +2 -2
- data/lib/fog/rackspace/compute.rb +2 -2
- data/lib/fog/rackspace/storage.rb +2 -2
- data/lib/fog/slicehost.rb +3 -0
- data/lib/fog/slicehost/bin.rb +2 -0
- data/lib/fog/slicehost/compute.rb +2 -2
- data/lib/fog/slicehost/dns.rb +84 -0
- data/lib/fog/slicehost/parsers/dns/create_record.rb +26 -0
- data/lib/fog/slicehost/parsers/dns/create_zone.rb +26 -0
- data/lib/fog/slicehost/parsers/dns/get_record.rb +26 -0
- data/lib/fog/slicehost/parsers/dns/get_records.rb +30 -0
- data/lib/fog/slicehost/parsers/dns/get_zone.rb +26 -0
- data/lib/fog/slicehost/parsers/dns/get_zones.rb +30 -0
- data/lib/fog/slicehost/requests/compute/create_slice.rb +2 -2
- data/lib/fog/slicehost/requests/compute/delete_slice.rb +3 -17
- data/lib/fog/slicehost/requests/dns/create_record.rb +61 -0
- data/lib/fog/slicehost/requests/dns/create_zone.rb +54 -0
- data/lib/fog/slicehost/requests/dns/delete_record.rb +31 -0
- data/lib/fog/slicehost/requests/dns/delete_zone.rb +31 -0
- data/lib/fog/slicehost/requests/dns/get_record.rb +40 -0
- data/lib/fog/slicehost/requests/dns/get_records.rb +41 -0
- data/lib/fog/slicehost/requests/dns/get_zone.rb +40 -0
- data/lib/fog/slicehost/requests/dns/get_zones.rb +38 -0
- data/lib/fog/terremark.rb +2 -0
- data/lib/fog/terremark/ecloud.rb +2 -4
- data/lib/fog/vcloud.rb +4 -2
- data/lib/fog/vcloud/bin.rb +3 -1
- data/lib/fog/vcloud/mock_data_classes.rb +77 -11
- data/lib/fog/vcloud/terremark/ecloud.rb +22 -7
- data/lib/fog/vcloud/terremark/ecloud/models/backup_internet_service.rb +60 -0
- data/lib/fog/vcloud/terremark/ecloud/models/backup_internet_services.rb +36 -0
- data/lib/fog/vcloud/terremark/ecloud/models/internet_service.rb +28 -13
- data/lib/fog/vcloud/terremark/ecloud/models/internet_services.rb +2 -2
- data/lib/fog/vcloud/terremark/ecloud/models/ip.rb +1 -1
- data/lib/fog/vcloud/terremark/ecloud/models/network.rb +4 -1
- data/lib/fog/vcloud/terremark/ecloud/models/server.rb +5 -5
- data/lib/fog/vcloud/terremark/ecloud/models/vdc.rb +6 -2
- data/lib/fog/vcloud/terremark/ecloud/requests/add_backup_internet_service.rb +111 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb +2 -4
- data/lib/fog/vcloud/terremark/ecloud/requests/add_node.rb +1 -3
- data/lib/fog/vcloud/terremark/ecloud/requests/configure_internet_service.rb +39 -27
- data/lib/fog/vcloud/terremark/ecloud/requests/configure_network.rb +1 -2
- data/lib/fog/vcloud/terremark/ecloud/requests/configure_network_ip.rb +21 -6
- data/lib/fog/vcloud/terremark/ecloud/requests/delete_vapp.rb +2 -1
- data/lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb +34 -17
- data/lib/fog/vcloud/terremark/ecloud/requests/get_network_extensions.rb +12 -10
- data/lib/fog/vcloud/terremark/ecloud/requests/get_network_ip.rb +15 -10
- data/lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb +1 -12
- data/lib/fog/zerigo.rb +15 -0
- data/lib/fog/zerigo/bin.rb +25 -0
- data/lib/fog/zerigo/dns.rb +96 -0
- data/lib/fog/zerigo/parsers/dns/count_hosts.rb +24 -0
- data/lib/fog/zerigo/parsers/dns/count_zones.rb +24 -0
- data/lib/fog/zerigo/parsers/dns/create_host.rb +26 -0
- data/lib/fog/zerigo/parsers/dns/create_zone.rb +26 -0
- data/lib/fog/zerigo/parsers/dns/find_hosts.rb +30 -0
- data/lib/fog/zerigo/parsers/dns/get_host.rb +26 -0
- data/lib/fog/zerigo/parsers/dns/get_zone.rb +56 -0
- data/lib/fog/zerigo/parsers/dns/get_zone_stats.rb +26 -0
- data/lib/fog/zerigo/parsers/dns/list_hosts.rb +30 -0
- data/lib/fog/zerigo/parsers/dns/list_zones.rb +30 -0
- data/lib/fog/zerigo/requests/dns/count_hosts.rb +36 -0
- data/lib/fog/zerigo/requests/dns/count_zones.rb +36 -0
- data/lib/fog/zerigo/requests/dns/create_host.rb +70 -0
- data/lib/fog/zerigo/requests/dns/create_zone.rb +97 -0
- data/lib/fog/zerigo/requests/dns/delete_host.rb +32 -0
- data/lib/fog/zerigo/requests/dns/delete_zone.rb +33 -0
- data/lib/fog/zerigo/requests/dns/find_hosts.rb +63 -0
- data/lib/fog/zerigo/requests/dns/get_host.rb +47 -0
- data/lib/fog/zerigo/requests/dns/get_zone.rb +57 -0
- data/lib/fog/zerigo/requests/dns/get_zone_stats.rb +44 -0
- data/lib/fog/zerigo/requests/dns/list_hosts.rb +48 -0
- data/lib/fog/zerigo/requests/dns/list_zones.rb +53 -0
- data/lib/fog/zerigo/requests/dns/update_host.rb +60 -0
- data/lib/fog/zerigo/requests/dns/update_zone.rb +78 -0
- data/spec/spec_helper.rb +0 -5
- data/spec/vcloud/spec_helper.rb +3 -2
- data/spec/vcloud/terremark/ecloud/models/backup_internet_service_spec.rb +49 -0
- data/spec/vcloud/terremark/ecloud/models/backup_internet_services_spec.rb +29 -0
- data/spec/vcloud/terremark/ecloud/models/internet_service_spec.rb +32 -13
- data/spec/vcloud/terremark/ecloud/models/network_spec.rb +7 -4
- data/spec/vcloud/terremark/ecloud/models/server_spec.rb +20 -0
- data/spec/vcloud/terremark/ecloud/requests/add_backup_internet_service_spec.rb +60 -0
- data/spec/vcloud/terremark/ecloud/requests/configure_internet_service_spec.rb +3 -0
- data/spec/vcloud/terremark/ecloud/requests/configure_network_ip_spec.rb +55 -0
- data/spec/vcloud/terremark/ecloud/requests/delete_vapp_spec.rb +9 -0
- data/spec/vcloud/terremark/ecloud/requests/get_internet_services_spec.rb +60 -14
- data/spec/vcloud/terremark/ecloud/requests/get_network_ip_spec.rb +2 -0
- data/spec/vcloud/terremark/ecloud/requests/get_network_ips_spec.rb +3 -3
- data/tests/aws/requests/compute/image_tests.rb +15 -14
- data/tests/aws/requests/dns/dns_tests.rb +276 -0
- data/tests/brightbox/requests/compute/account_tests.rb +20 -9
- data/tests/brightbox/requests/compute/api_client_tests.rb +12 -4
- data/tests/brightbox/requests/compute/cloud_ip_tests.rb +20 -6
- data/tests/brightbox/requests/compute/image_tests.rb +9 -4
- data/tests/brightbox/requests/compute/interface_tests.rb +8 -2
- data/tests/brightbox/requests/compute/server_tests.rb +17 -5
- data/tests/brightbox/requests/compute/server_type_tests.rb +8 -4
- data/tests/brightbox/requests/compute/user_tests.rb +13 -5
- data/tests/brightbox/requests/compute/zone_tests.rb +8 -4
- data/tests/core/attribute_tests.rb +45 -0
- data/tests/helper.rb +0 -2
- data/tests/linode/requests/dns/dns_tests.rb +262 -0
- data/tests/rackspace/requests/compute/address_tests.rb +1 -1
- data/tests/rackspace/requests/compute/image_tests.rb +1 -1
- data/tests/slicehost/requests/dns_tests/dns_tests.rb +279 -0
- data/tests/zerigo/helper.rb +0 -0
- data/tests/zerigo/requests/dns/dns_tests.rb +374 -0
- metadata +280 -36
- data/spec/compact_progress_bar_formatter.rb +0 -195
- data/spec/core/attributes_spec.rb +0 -52
- data/spec/lorem.txt +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Linode
|
|
3
|
+
class DNS
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# Creates a domain record
|
|
7
|
+
#
|
|
8
|
+
# ==== Parameters
|
|
9
|
+
# * domain<~String>: The zone's name. Note, if master zone, SOA_email is required and if slave
|
|
10
|
+
# master_ips is/are required
|
|
11
|
+
# * type<~String>: master or slave
|
|
12
|
+
# * options<~Hash>
|
|
13
|
+
# * description<~String> Currently undisplayed
|
|
14
|
+
# * SOA_email<~String> Required when type=master
|
|
15
|
+
# * refresh_sec<~Integer> numeric, default: '0'
|
|
16
|
+
# * retry_sec<~Integer> numeric, default: '0'
|
|
17
|
+
# * expire_sec<~Integer> numeric, default: '0'
|
|
18
|
+
# * ttl_sec<~String> numeric, default: '0'
|
|
19
|
+
# * status<~Integer> 0, 1, or 2 (disabled, active, edit mode), default: 1
|
|
20
|
+
# * master_ips<~String> When type=slave, the zone's master DNS servers list, semicolon separated
|
|
21
|
+
#
|
|
22
|
+
# ==== Returns
|
|
23
|
+
# * response<~Excon::Response>:
|
|
24
|
+
# * body<~Hash>:
|
|
25
|
+
# * DATA<~Hash>:
|
|
26
|
+
# * 'DomainID'<~Integer>: domain ID
|
|
27
|
+
def domain_create( domain, type, options = {})
|
|
28
|
+
|
|
29
|
+
query= {}
|
|
30
|
+
request(
|
|
31
|
+
:expects => 200,
|
|
32
|
+
:method => 'GET',
|
|
33
|
+
:query => {
|
|
34
|
+
:api_action => 'domain.create',
|
|
35
|
+
:domain => domain,
|
|
36
|
+
:type => type
|
|
37
|
+
}.merge!( options)
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class Mock
|
|
44
|
+
|
|
45
|
+
def domain_create( domain, type, options ={})
|
|
46
|
+
Fog::Mock.not_implemented
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Linode
|
|
3
|
+
class DNS
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# Delete the given domain from the list Linode hosts
|
|
7
|
+
#
|
|
8
|
+
# ==== Parameters
|
|
9
|
+
# * domain_id<~Integer>: id of domain to delete
|
|
10
|
+
#
|
|
11
|
+
# ==== Returns
|
|
12
|
+
# * response<~Excon::Response>:
|
|
13
|
+
# * body<~Hash>:
|
|
14
|
+
# * DATA<~Hash>:
|
|
15
|
+
# TODO: docs
|
|
16
|
+
def domain_delete(domain_id)
|
|
17
|
+
request(
|
|
18
|
+
:expects => 200,
|
|
19
|
+
:method => 'GET',
|
|
20
|
+
:query => { :api_action => 'domain.delete', :domainId => domain_id }
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class Mock
|
|
27
|
+
|
|
28
|
+
def domain_delete(domain_id)
|
|
29
|
+
Fog::Mock.not_implemented
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Linode
|
|
3
|
+
class DNS
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# List of domains (you have access to)
|
|
7
|
+
#
|
|
8
|
+
# ==== Parameters
|
|
9
|
+
# * domain_id<~Integer>: limit the list to the domain ID specified
|
|
10
|
+
#
|
|
11
|
+
# ==== Returns
|
|
12
|
+
# * response<~Excon::Response>:
|
|
13
|
+
# * body<~Array>:
|
|
14
|
+
# * DATA<~Array>
|
|
15
|
+
# * 'DOMAINID'<~Interger>
|
|
16
|
+
# * 'SOA_EMAIL'<~String>
|
|
17
|
+
# * 'DESCRIPTION'<~String>
|
|
18
|
+
# * 'TTL_SEC'<~String>
|
|
19
|
+
# * 'EXPIRE_SEC'<~Integer>
|
|
20
|
+
# * 'RETRY_SEC'<~Integer>
|
|
21
|
+
# * 'DOMAIN'<~String>
|
|
22
|
+
# * 'STATUS'<~Integer>
|
|
23
|
+
# * 'MASTER_IPS'<~String>
|
|
24
|
+
# * 'REFRESH_SEC'<~Integer>
|
|
25
|
+
# * 'TYPE'<~String>
|
|
26
|
+
def domain_list(domain_id = nil)
|
|
27
|
+
options = {}
|
|
28
|
+
if domain_id
|
|
29
|
+
options.merge!(:domainId => domain_id)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
request(
|
|
33
|
+
:expects => 200,
|
|
34
|
+
:method => 'GET',
|
|
35
|
+
:query => { :api_action => 'domain.list' }.merge!(options)
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class Mock
|
|
42
|
+
|
|
43
|
+
def domain_list(domain_id = nil)
|
|
44
|
+
Fog::Mock.not_implemented
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Linode
|
|
3
|
+
class DNS
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# Creates a resource record in a domain
|
|
7
|
+
#
|
|
8
|
+
# ==== Parameters
|
|
9
|
+
# * domain_id<~Integer>: limit the list to the domain ID specified
|
|
10
|
+
# * type<~String>: One of: NS, MX, A, AAAA, CNAME, TXT, or SRV
|
|
11
|
+
# * options<~Hash>
|
|
12
|
+
# * name<~String>: The hostname or FQDN. When Type=MX the subdomain to delegate to the
|
|
13
|
+
# Target MX server
|
|
14
|
+
# * targe<~String> When Type=MX the hostname. When Type=CNAME the target of the alias.
|
|
15
|
+
# When Type=TXT the value of the record. When Type=A or AAAA the token
|
|
16
|
+
# of '[remote_addr]' will be substituted with the IP address of the request.
|
|
17
|
+
# * priority<~Integer>: priority for MX and SRV records, 0-255 - default: 10
|
|
18
|
+
# * weight<~Integer>: default: 5
|
|
19
|
+
# * port<~Integer>: default: 80
|
|
20
|
+
# * protocol<~String>: The protocol to append to an SRV record. Ignored on other record
|
|
21
|
+
# types. default: udp
|
|
22
|
+
# * ttl_sec<~Integer>: note, Linode will round the input to set values (300, 3600, 7200, etc)
|
|
23
|
+
# ==== Returns
|
|
24
|
+
# * response<~Excon::Response>:
|
|
25
|
+
# * body<~Hash>:
|
|
26
|
+
# * DATA<~Hash>:
|
|
27
|
+
# * 'ResourceID'<~Integer>: ID of the resource record created
|
|
28
|
+
def domain_resource_create( domain_id, type, options = {})
|
|
29
|
+
|
|
30
|
+
query= {}
|
|
31
|
+
request(
|
|
32
|
+
:expects => 200,
|
|
33
|
+
:method => 'GET',
|
|
34
|
+
:query => {
|
|
35
|
+
:api_action => 'domain.resource.create',
|
|
36
|
+
:domainID => domain_id,
|
|
37
|
+
:type => type
|
|
38
|
+
}.merge!( options)
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
class Mock
|
|
45
|
+
|
|
46
|
+
def domain_resource_create( domain_id, type, options = {})
|
|
47
|
+
Fog::Mock.not_implemented
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Linode
|
|
3
|
+
class DNS
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# Delete the given resource from a domain
|
|
7
|
+
#
|
|
8
|
+
# ==== Parameters
|
|
9
|
+
# * domain_id<~Integer>: id of domain resource belongs to
|
|
10
|
+
# * resource_id<~Integer>: id of resouce to delete
|
|
11
|
+
#
|
|
12
|
+
# ==== Returns
|
|
13
|
+
# * response<~Excon::Response>:
|
|
14
|
+
# * body<~Hash>:
|
|
15
|
+
# * DATA<~Hash>:
|
|
16
|
+
# * resource_id<~Integer>: resource id that was deleted
|
|
17
|
+
def domain_resource_delete(domain_id, resource_id)
|
|
18
|
+
request(
|
|
19
|
+
:expects => 200,
|
|
20
|
+
:method => 'GET',
|
|
21
|
+
:query => { :api_action => 'domain.resource.delete', :domainId => domain_id, :resourceID => resource_id }
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
class Mock
|
|
28
|
+
|
|
29
|
+
def domain_resource_delete(domain_id, resource_id)
|
|
30
|
+
Fog::Mock.not_implemented
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Linode
|
|
3
|
+
class DNS
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# List of resource records for a domain
|
|
7
|
+
#
|
|
8
|
+
# ==== Parameters
|
|
9
|
+
# * domain_id<~Integer>: limit the list to the domain ID specified
|
|
10
|
+
# * resource_id<~Integer>: optional. use if want only a specific resource record
|
|
11
|
+
#
|
|
12
|
+
# ==== Returns
|
|
13
|
+
# * response<~Excon::Response>:
|
|
14
|
+
# * body<~Array>:
|
|
15
|
+
# * DATA<~Array>
|
|
16
|
+
# * 'PROTOCOL'<~String>: for SRV records. default is UDP
|
|
17
|
+
# * 'TTL_SEC'<~Interger>:
|
|
18
|
+
# * 'PRIORITY'<~Interger>: for MX and SRV records
|
|
19
|
+
# * 'TYPE'<~String>: One of: NS, MX, A, AAAA, CNAME, TXT, or SRV
|
|
20
|
+
# * 'TARGET'<~String>: When Type=MX the hostname. When Type=CNAME the target of the alias.
|
|
21
|
+
# When Type=TXT the value of the record. When Type=A or AAAA the token
|
|
22
|
+
# of '[remote_addr]' will be substituted with the IP address of the request.
|
|
23
|
+
# * 'WEIGHT'<~Interger>:
|
|
24
|
+
# * 'RESOURCEID'<~Interger>: ID of the resource record
|
|
25
|
+
# * 'PORT'<~Interger>:
|
|
26
|
+
# * 'DOMAINID'<~Interger>: ID of the domain that this record belongs to
|
|
27
|
+
# * 'NAME'<~Interger>: The hostname or FQDN. When Type=MX, the subdomain to delegate to
|
|
28
|
+
def domain_resource_list(domain_id, resource_id = nil)
|
|
29
|
+
|
|
30
|
+
request(
|
|
31
|
+
:expects => 200,
|
|
32
|
+
:method => 'GET',
|
|
33
|
+
:query => { :api_action => 'domain.resource.list', :domainID => domain_id, :resourceID => resource_id }
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
class Mock
|
|
40
|
+
|
|
41
|
+
def domain_resource_list(domain_id, resource_id = nil)
|
|
42
|
+
Fog::Mock.not_implemented
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Linode
|
|
3
|
+
class DNS
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# Updates a resource record in a domain
|
|
7
|
+
#
|
|
8
|
+
# ==== Parameters
|
|
9
|
+
# * domain_id<~Integer>: limit the list to the domain ID specified
|
|
10
|
+
# * resource_id<~Integer>: id of resouce to delete
|
|
11
|
+
# * options<~Hash>
|
|
12
|
+
# * type<~String>: One of: NS, MX, A, AAAA, CNAME, TXT, or SRV
|
|
13
|
+
# * name<~String>: The hostname or FQDN. When Type=MX the subdomain to delegate to the
|
|
14
|
+
# Target MX server
|
|
15
|
+
# * target<~String> When Type=MX the hostname. When Type=CNAME the target of the alias.
|
|
16
|
+
# When Type=TXT the value of the record. When Type=A or AAAA the token
|
|
17
|
+
# of '[remote_addr]' will be substituted with the IP address of the request.
|
|
18
|
+
# * priority<~Integer>: priority for MX and SRV records, 0-255 - default: 10
|
|
19
|
+
# * weight<~Integer>: default: 5
|
|
20
|
+
# * port<~Integer>: default: 80
|
|
21
|
+
# * protocol<~String>: The protocol to append to an SRV record. Ignored on other record
|
|
22
|
+
# types. default: udp
|
|
23
|
+
# * ttl_sec<~Integer>: note, Linode will round the input to set values (300, 3600, 7200, etc)
|
|
24
|
+
# ==== Returns
|
|
25
|
+
# * response<~Excon::Response>:
|
|
26
|
+
# * body<~Hash>:
|
|
27
|
+
# * DATA<~Hash>:
|
|
28
|
+
# * 'ResourceID'<~Integer>: ID of the resource record updated
|
|
29
|
+
def domain_resource_update( domain_id, resource_id, options = {})
|
|
30
|
+
|
|
31
|
+
query= {}
|
|
32
|
+
request(
|
|
33
|
+
:expects => 200,
|
|
34
|
+
:method => 'GET',
|
|
35
|
+
:query => {
|
|
36
|
+
:api_action => 'domain.resource.update',
|
|
37
|
+
:domainID => domain_id,
|
|
38
|
+
:resourceID => resource_id,
|
|
39
|
+
}.merge!( options)
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
class Mock
|
|
46
|
+
|
|
47
|
+
def domain_resource_update( domain_id, resource_id, options = {})
|
|
48
|
+
Fog::Mock.not_implemented
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Linode
|
|
3
|
+
class DNS
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# Update a domain record
|
|
7
|
+
#
|
|
8
|
+
# ==== Parameters
|
|
9
|
+
# * domain_id<~Integer>: The ID to identify the zone
|
|
10
|
+
# * options<~Hash>
|
|
11
|
+
# * domain<~String>: The zone's name.
|
|
12
|
+
# * type<~String>: master or slave
|
|
13
|
+
# * description<~String> Currently undisplayed
|
|
14
|
+
# * SOA_email<~String> Required when type=master
|
|
15
|
+
# * refresh_sec<~Integer> numeric, default: '0'
|
|
16
|
+
# * retry_sec<~Integer> numeric, default: '0'
|
|
17
|
+
# * expire_sec<~Integer> numeric, default: '0'
|
|
18
|
+
# * ttl_sec<~String> numeric, default: '0'
|
|
19
|
+
# * status<~Integer> 0, 1, or 2 (disabled, active, edit mode), default: 1
|
|
20
|
+
# * master_ips<~String> When type=slave, the zone's master DNS servers list, semicolon separated
|
|
21
|
+
#
|
|
22
|
+
# ==== Returns
|
|
23
|
+
# * response<~Excon::Response>:
|
|
24
|
+
# * body<~Hash>:
|
|
25
|
+
# * DATA<~Hash>:
|
|
26
|
+
# * 'DomainID'<~Integer>: domain ID
|
|
27
|
+
def domain_update( domain_id, options = {})
|
|
28
|
+
|
|
29
|
+
request(
|
|
30
|
+
:expects => 200,
|
|
31
|
+
:method => 'GET',
|
|
32
|
+
:query => { :api_action => 'domain.update', :domainId => domain_id }.merge!(options)
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
class Mock
|
|
40
|
+
|
|
41
|
+
def domain_update(datacenter_id, payment_term, plan_id)
|
|
42
|
+
Fog::Mock.not_implemented
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
data/lib/fog/local.rb
CHANGED
data/lib/fog/local/storage.rb
CHANGED
|
@@ -2,7 +2,7 @@ module Fog
|
|
|
2
2
|
module Local
|
|
3
3
|
class Storage < Fog::Service
|
|
4
4
|
|
|
5
|
-
requires :local_root
|
|
5
|
+
requires :local_root
|
|
6
6
|
|
|
7
7
|
model_path 'fog/local/models/storage'
|
|
8
8
|
collection :directories
|
|
@@ -33,8 +33,8 @@ module Fog
|
|
|
33
33
|
@local_root
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
def
|
|
37
|
-
partial
|
|
36
|
+
def path_to(partial)
|
|
37
|
+
::File.join(@local_root, partial)
|
|
38
38
|
end
|
|
39
39
|
end
|
|
40
40
|
|
data/lib/fog/new_servers.rb
CHANGED
|
@@ -4,8 +4,8 @@ module Fog
|
|
|
4
4
|
module NewServers
|
|
5
5
|
class Compute < Fog::Service
|
|
6
6
|
|
|
7
|
-
requires :new_servers_password, :new_servers_username
|
|
8
|
-
recognizes :host, :port, :scheme, :persistent
|
|
7
|
+
requires :new_servers_password, :new_servers_username
|
|
8
|
+
recognizes :host, :port, :scheme, :persistent
|
|
9
9
|
|
|
10
10
|
model_path 'fog/new_servers/models/compute'
|
|
11
11
|
|
data/lib/fog/rackspace.rb
CHANGED
data/lib/fog/rackspace/cdn.rb
CHANGED
|
@@ -2,8 +2,8 @@ module Fog
|
|
|
2
2
|
module Rackspace
|
|
3
3
|
class CDN < Fog::Service
|
|
4
4
|
|
|
5
|
-
requires :rackspace_api_key, :rackspace_username
|
|
6
|
-
recognizes :rackspace_auth_url, :persistent
|
|
5
|
+
requires :rackspace_api_key, :rackspace_username
|
|
6
|
+
recognizes :rackspace_auth_url, :persistent
|
|
7
7
|
|
|
8
8
|
model_path 'fog/rackspace/models/cdn'
|
|
9
9
|
|