class Azure::StorageManagement::StorageManagementService
Provides Storage Management API
Public Class Methods
Azure::BaseManagement::BaseManagementService::new
# File lib/azure/storage_management/storage_management_service.rb, line 21 def initialize super() end
Public Instance Methods
Public: Create a new storage account in Microsoft Azure
.
Attributes¶ ↑
-
name
-String
. The name of the storage service. -
options
- Hash. Optional parameters.
Options¶ ↑
Accepted key/value pairs in options parameter are:
-
:label
-String
. The label for this storage account. The name will
be used as label if none specified. (optional)
-
:location
-String
. The location where the storage
service will be created. Reqruied if no affinity_group_name specified.
-
:description
-String
. A description for the storage
service. (optional)
-
:affinity_group_name
-String
. The name of an existing affinity group
in the specified subscription. Required if no location specified.
-
:geo_replication_enabled
-String
. A flag indicating wheter to
turn Geo replication on or off. Values other than 'true'/'false' will result in an error from the REST API. (optional)
-
:extended_properties
- Hash. Key/Value pairs of extended
properties to add to the storage account. The key is used as the property name and the value as its value. (optional)
-
:account_type
-String
. Specifies the type of storage account
See msdn.microsoft.com/en-us/library/azure/hh264518.aspx
Returns None
# File lib/azure/storage_management/storage_management_service.rb, line 91 def create_storage_account(name, options = {}) raise 'Name not specified' if !name || name.class != String || name.empty? options[:account_type] ||= 'Standard_GRS' if get_storage_account(name) Azure::Loggerx.warn "Storage Account #{name} already exists. Skipped..." else Azure::Loggerx.info "Creating Storage Account #{name}." body = Serialization.storage_services_to_xml(name, options) request_path = '/services/storageservices' request = Azure::BaseManagement::ManagementHttpRequest.new(:post, request_path, body) request.call end end
Public: Deletes the specified storage account of given subscription id from Microsoft Azure
.
Attributes¶ ↑
-
name
-String
. Storage account name.
See msdn.microsoft.com/en-us/library/azure/hh264517.aspx
Returns: None
# File lib/azure/storage_management/storage_management_service.rb, line 154 def delete_storage_account(name) Azure::Loggerx.info "Deleting Storage Account #{name}." request_path = "/services/storageservices/#{name}" request = Azure::BaseManagement::ManagementHttpRequest.new(:delete, request_path) request.call rescue => e e.message end
Public: Checks to see if the specified storage account is available
Attributes¶ ↑
-
name
-String
. Storage account name.
Returns an Azure::StorageManagement::StorageAccount
instance
# File lib/azure/storage_management/storage_management_service.rb, line 42 def get_storage_account(name) list_storage_accounts.select { |x| x.name.casecmp(name.to_s) == 0 }.first end
Public: Gets the primary and secondary access keys for the specified storage account.
Attributes¶ ↑
-
name
-String
. Storage account name.
Returns an Azure::StorageManagement::StorageAccountKeys
instance.
See: msdn.microsoft.com/en-us/library/azure/ee460785.aspx
# File lib/azure/storage_management/storage_management_service.rb, line 196 def get_storage_account_keys(name) if get_storage_account name path = "/services/storageservices/#{name}/keys" request = Azure::BaseManagement::ManagementHttpRequest.new(:get, path) response = request.call Serialization.storage_account_keys_from_xml(response) else Azure::Loggerx.warn "Storage Account '#{name}' does not exist." end end
Public: Gets the properties of the storage account specified.
Attributes¶ ↑
-
name
-String
. The name of the storage account. Required.
See msdn.microsoft.com/en-us/library/azure/ee460802.aspx
Returns the storage account
# File lib/azure/storage_management/storage_management_service.rb, line 55 def get_storage_account_properties(name) request_path = "/services/storageservices/#{name}" request = Azure::BaseManagement::ManagementHttpRequest.new(:get, request_path, nil) response = request.call Serialization.storage_services_from_xml(response).first end
Public: Gets a list of storage accounts available under the current subscription.
Returns an array of Azure::StorageManagement::StorageAccount
objects
# File lib/azure/storage_management/storage_management_service.rb, line 28 def list_storage_accounts request_path = '/services/storageservices' request = Azure::BaseManagement::ManagementHttpRequest.new(:get, request_path, nil) response = request.call Serialization.storage_services_from_xml(response) end
Public: Regenerates the primary or secondary access key for the specified storage account
Attributes¶ ↑
-
name
-String
. Storage account name. -
key_type
-String
. Specifies which key(primary or secondary) to regenerate
Returns an Azure::StorageManagement::StorageAccountKeys
instance.
See: msdn.microsoft.com/en-us/library/azure/ee460795.aspx
# File lib/azure/storage_management/storage_management_service.rb, line 174 def regenerate_storage_account_keys(name, key_type = 'primary') if get_storage_account name path = "/services/storageservices/#{name}/keys?action=regenerate" body = Serialization.regenerate_storage_account_keys_to_xml key_type request = Azure::BaseManagement::ManagementHttpRequest.new(:post, path, body) response = request.call Serialization.storage_account_keys_from_xml(response) else Azure::Loggerx.warn "Storage Account '#{name}' does not exist." end end
Public: Updates an existing storage account in Microsoft Azure
Attributes¶ ↑
-
name
-String
. The name of the storage service. -
options
- Hash. parameters.
Options¶ ↑
Accepted key/value pairs in options parameter are:
-
:label
-String
. A label for the storage service. Required if no
description is provided. If both label and description are provided, only the label will get updated.
-
:description
-String
. A description for the storage service.
Required if no label is provided. If both label and description are provided, only the label will get updated.
-
:geo_replication_enabled
- Boolean (TrueClass/FalseClass). Boolean
flag indicating whether to turn Geo replication on or off. (optional)
-
:extended_properties
- Hash. Key/Value pairs of extended
properties to add to the storage account. The key is used as the property name and the value as its value. (optional)
-
:account_type
-String
. Specifies the type of storage account
See msdn.microsoft.com/en-us/library/azure/hh264516.aspx
Returns None Fails with RuntimeError if invalid options specified
# File lib/azure/storage_management/storage_management_service.rb, line 132 def update_storage_account(name, options) if get_storage_account name Azure::Loggerx.info "Account '#{name}' exists, updating..." body = Serialization.storage_update_to_xml options request_path = "/services/storageservices/#{name}" request = Azure::BaseManagement::ManagementHttpRequest.new(:put, request_path, body) request.call else Azure::Loggerx.warn "Storage Account '#{name}' does not exist. Skipped..." end end