azure-armrest 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES +8 -1
- data/README.md +7 -22
- data/Rakefile +3 -3
- data/azure-armrest.gemspec +14 -16
- data/lib/azure/armrest.rb +14 -9
- data/lib/azure/armrest/armrest_service.rb +385 -0
- data/lib/azure/armrest/availability_set_service.rb +100 -0
- data/lib/azure/armrest/{event_manager.rb → event_service.rb} +3 -3
- data/lib/azure/armrest/resource_group_service.rb +86 -0
- data/lib/azure/armrest/resource_provider_service.rb +111 -0
- data/lib/azure/armrest/resource_service.rb +86 -0
- data/lib/azure/armrest/storage_account_service.rb +220 -0
- data/lib/azure/armrest/{subnet_manager.rb → subnet_service.rb} +4 -4
- data/lib/azure/armrest/template_deployment_service.rb +97 -0
- data/lib/azure/armrest/version.rb +1 -1
- data/lib/azure/armrest/{virtual_machine_extension_manager.rb → virtual_machine_extension_service.rb} +9 -5
- data/lib/azure/armrest/{virtual_machine_image_manager.rb → virtual_machine_image_service.rb} +7 -10
- data/lib/azure/armrest/{virtual_machine_manager.rb → virtual_machine_service.rb} +121 -80
- data/lib/azure/armrest/{virtual_network_manager.rb → virtual_network_service.rb} +9 -9
- metadata +64 -30
- data/lib/azure/armrest/armrest_manager.rb +0 -402
- data/lib/azure/armrest/availability_set_manager.rb +0 -50
- data/lib/azure/armrest/storage_account_manager.rb +0 -165
@@ -1,50 +0,0 @@
|
|
1
|
-
# Azure namespace
|
2
|
-
module Azure
|
3
|
-
# Armrest namespace
|
4
|
-
module Armrest
|
5
|
-
# Base class for managing availability sets.
|
6
|
-
class AvailabilitySetManager < ArmrestManager
|
7
|
-
|
8
|
-
# Create and return a new AvailabilitySetManager (ASM) instance. Most
|
9
|
-
# methods for an ASM instance will return one or more AvailabilitySet
|
10
|
-
# instances.
|
11
|
-
#
|
12
|
-
def initialize(options = {})
|
13
|
-
super
|
14
|
-
|
15
|
-
@base_url += "resourceGroups/#{@resource_group}/"
|
16
|
-
@base_url += "providers/Microsoft.Compute/availabilitySets"
|
17
|
-
end
|
18
|
-
|
19
|
-
# Creates a new availability set.
|
20
|
-
#
|
21
|
-
# TODO: The current documentation doesn't seem to list all the possible
|
22
|
-
# options at this time.
|
23
|
-
#--
|
24
|
-
def create(set_name, options = {})
|
25
|
-
url = @uri + "#{set_name}?api-version=#{api_version}"
|
26
|
-
url
|
27
|
-
end
|
28
|
-
|
29
|
-
alias update create
|
30
|
-
|
31
|
-
# Deletes the +set_name+ availability set.
|
32
|
-
def delete(set_name)
|
33
|
-
url = @uri + "#{set_name}?api-version=#{api_version}"
|
34
|
-
url
|
35
|
-
end
|
36
|
-
|
37
|
-
# Retrieves the options of an availability set.
|
38
|
-
def get(set_name)
|
39
|
-
url = @uri + "#{set_name}?api-version=#{api_version}"
|
40
|
-
url
|
41
|
-
end
|
42
|
-
|
43
|
-
# List availability sets.
|
44
|
-
def list
|
45
|
-
url = @uri + "?api-version=#{api_version}"
|
46
|
-
url
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,165 +0,0 @@
|
|
1
|
-
module Azure
|
2
|
-
module Armrest
|
3
|
-
# Class for managing storage accounts.
|
4
|
-
class StorageAccountManager < ArmrestManager
|
5
|
-
|
6
|
-
# Valid account types for the create or update method.
|
7
|
-
VALID_ACCOUNT_TYPES = %w[
|
8
|
-
Standard_LRS
|
9
|
-
Standard_ZRS
|
10
|
-
Standard_GRS
|
11
|
-
Standard_RAGRS
|
12
|
-
]
|
13
|
-
|
14
|
-
# Creates and returns a new StorageAccountManager (SAM) instance. Most
|
15
|
-
# methods for a SAM instance will return a StorageAccount object.
|
16
|
-
def initialize(options = {})
|
17
|
-
super
|
18
|
-
end
|
19
|
-
|
20
|
-
# Return information for the given storage account name for the
|
21
|
-
# provided +group+. If no group is specified, it will use the
|
22
|
-
# group set in the constructor.
|
23
|
-
#
|
24
|
-
# Example:
|
25
|
-
#
|
26
|
-
# sam.get('portalvhdstjn1ty0dlc2dg')
|
27
|
-
# sam.get('portalvhdstjn1ty0dlc2dg', 'Default-Storage-CentralUS')
|
28
|
-
#
|
29
|
-
def get(account_name, group = @resource_group)
|
30
|
-
set_default_subscription
|
31
|
-
|
32
|
-
raise ArgumentError, "must specify resource group" unless group
|
33
|
-
|
34
|
-
@api_version = '2014-06-01'
|
35
|
-
url = build_url(@subscription_id, group, account_name)
|
36
|
-
|
37
|
-
JSON.parse(rest_get(url))
|
38
|
-
end
|
39
|
-
|
40
|
-
# Returns a list of available storage accounts for the given subscription
|
41
|
-
# for the provided +group+, or all resource groups if none is provided.
|
42
|
-
#
|
43
|
-
def list(group = @resource_group)
|
44
|
-
if group
|
45
|
-
@api_version = '2014-06-01'
|
46
|
-
url = build_url(@subscription_id, group)
|
47
|
-
JSON.parse(rest_get(url))['value'].first
|
48
|
-
else
|
49
|
-
array = []
|
50
|
-
threads = []
|
51
|
-
|
52
|
-
resource_groups.each do |group|
|
53
|
-
@api_version = '2014-06-01' # Must be set after resource_groups call
|
54
|
-
url = build_url(@subscription_id, group['name'])
|
55
|
-
|
56
|
-
threads << Thread.new do
|
57
|
-
result = JSON.parse(rest_get(url))['value'].first
|
58
|
-
array << result if result
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
threads.each(&:join)
|
63
|
-
|
64
|
-
array
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
# Creates a new storage account, or updates an existing account with the
|
69
|
-
# specified parameters. The possible parameters are:
|
70
|
-
#
|
71
|
-
# - :account_name
|
72
|
-
# Required. The name of the storage account within the specified
|
73
|
-
# resource stack. Must be 3-24 alphanumeric lowercase characters.
|
74
|
-
#
|
75
|
-
# - :validating
|
76
|
-
# Optional. Set to 'nameAvailability' to indicate that the account
|
77
|
-
# name must be checked for global availability.
|
78
|
-
#
|
79
|
-
# - :location
|
80
|
-
# Required: One of the Azure geo regions, e.g. 'West US'.
|
81
|
-
#
|
82
|
-
# - :tags
|
83
|
-
# A hash of tags to describe the resource. You may have a maximum of
|
84
|
-
# 10 tags, and each key has a max size of 128 characters, and each
|
85
|
-
# value has a max size of 256 characters.
|
86
|
-
#
|
87
|
-
# -:properties
|
88
|
-
# - :account_type
|
89
|
-
# - :custom_domains
|
90
|
-
# - :custom_domain
|
91
|
-
# - :name
|
92
|
-
# - :use_subdomain_name
|
93
|
-
#--
|
94
|
-
# PUT
|
95
|
-
#
|
96
|
-
def create(option = {})
|
97
|
-
#account_name = options.fetch(:account_name)
|
98
|
-
#location = options.fetch(:location)
|
99
|
-
validating = options[:validating]
|
100
|
-
#tags = options[:tags]
|
101
|
-
|
102
|
-
url = @uri + "/#{account_name}"
|
103
|
-
|
104
|
-
if validating
|
105
|
-
url += "?validating=nameAvailability"
|
106
|
-
end
|
107
|
-
|
108
|
-
url
|
109
|
-
end
|
110
|
-
|
111
|
-
alias update create
|
112
|
-
|
113
|
-
# Delete the given storage account name.
|
114
|
-
def delete(account_name)
|
115
|
-
url = @uri + "/#{account_name}?api-version=#{api_version}"
|
116
|
-
url
|
117
|
-
end
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
# Returns the primary and secondary access keys for the given
|
122
|
-
# storage account.
|
123
|
-
#--
|
124
|
-
# POST
|
125
|
-
#
|
126
|
-
def list_account_keys(account_name)
|
127
|
-
url = @uri + "/#{account_name}/listKeys?api-version=#{api_version}"
|
128
|
-
url
|
129
|
-
end
|
130
|
-
|
131
|
-
# Regenerates the primary and secondary access keys for the given
|
132
|
-
# storage account.
|
133
|
-
#--
|
134
|
-
# POST
|
135
|
-
def regenerate_storage_account_keys(account_name)
|
136
|
-
url = @uri + "/#{account_name}/regenerateKey?api-version=#{api_version}"
|
137
|
-
url
|
138
|
-
end
|
139
|
-
|
140
|
-
private
|
141
|
-
|
142
|
-
# If no default subscription is set, then use the first one found.
|
143
|
-
def set_default_subscription
|
144
|
-
@subscription_id ||= subscriptions.first['subscriptionId']
|
145
|
-
end
|
146
|
-
|
147
|
-
# Builds a URL based on subscription_id an resource_group and any other
|
148
|
-
# arguments provided, and appends it with the api-version.
|
149
|
-
def build_url(subscription_id, resource_group, *args)
|
150
|
-
url = File.join(
|
151
|
-
Azure::Armrest::COMMON_URI,
|
152
|
-
subscription_id,
|
153
|
-
'resourceGroups',
|
154
|
-
resource_group,
|
155
|
-
'providers',
|
156
|
-
'Microsoft.ClassicStorage',
|
157
|
-
'storageAccounts',
|
158
|
-
)
|
159
|
-
|
160
|
-
url = File.join(url, *args) unless args.empty?
|
161
|
-
url << "?api-version=#{@api_version}"
|
162
|
-
end
|
163
|
-
end
|
164
|
-
end
|
165
|
-
end
|