Class: Azure::CloudServiceManagement::CloudServiceManagementService
- Inherits:
-
BaseManagementService
- Object
- Azure::CloudServiceManagement::CloudServiceManagementService
- Defined in:
- lib/azure/cloud_service_management/cloud_service_management_service.rb
Instance Method Summary collapse
-
#create_cloud_service(name, options = {}) ⇒ Object
Public: Creates a new cloud service in Windows Azure.
-
#delete_cloud_service(cloud_service_name) ⇒ Object
Public: Deletes the specified cloud service of given subscription id from Windows Azure.
-
#delete_cloud_service_deployment(cloud_service_name) ⇒ Object
Public: Deletes the specified deployment.
-
#get_cloud_service(name) ⇒ Object
Public: Checks to see if the specified hosted service is available.
- #get_cloud_service_properties(name) ⇒ Object
-
#initialize ⇒ CloudServiceManagementService
constructor
A new instance of CloudServiceManagementService.
-
#list_cloud_services ⇒ Object
Public: Gets a list of hosted services available under the current subscription.
- #upload_certificate(cloud_service_name, ssh) ⇒ Object
Constructor Details
#initialize ⇒ CloudServiceManagementService
Returns a new instance of CloudServiceManagementService.
20 21 22 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 20 def initialize super() end |
Instance Method Details
#create_cloud_service(name, options = {}) ⇒ Object
Public: Creates a new cloud service in Windows Azure.
Attributes
-
name
- String. The name of the cloud service. -
options
- Hash. Optional parameters.
Options
Accepted key/value pairs in options parameter are:
-
:label
-String. The label for this cloud service. -
:description
- String. A description for the hosted service. (optional) -
:location
- String. The regional data center location where the
cloud service will be created. Required if affinity group not specified (optional)
-
+:affinity_group_name - String. Name of the affinity group with
which to assocate the cloud service. Required if location not specified (optional)
-
:extended_properties
- Hash. Key/Value pairs of extended
properties to add to the cloud service. The key is used as the property name and the value as its value. (optional)
See msdn.microsoft.com/en-us/library/windowsazure/gg441304.aspx
Returns None
49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 49 def create_cloud_service(name, = {}) Loggerx.error_with_exit 'Cloud service name is not valid ' unless name if get_cloud_service(name) Loggerx.warn "Cloud service #{name} already exists. Skipped..." else Loggerx.info "Creating cloud service #{name}." request_path = '/services/hostedservices' body = Serialization.cloud_services_to_xml(name, ) request = ManagementHttpRequest.new(:post, request_path, body) request.call end end |
#delete_cloud_service(cloud_service_name) ⇒ Object
Public: Deletes the specified cloud service of given subscription id from Windows Azure.
Attributes
-
name
- String. Cloud service name.
Returns: None
107 108 109 110 111 112 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 107 def delete_cloud_service(cloud_service_name) request_path = "/services/hostedservices/#{cloud_service_name}" request = ManagementHttpRequest.new(:delete, request_path) Loggerx.info "Deleting cloud service #{cloud_service_name}. \n" request.call end |
#delete_cloud_service_deployment(cloud_service_name) ⇒ Object
Public: Deletes the specified deployment.
Attributes
-
cloud_service_name
- String. Cloud service name.
See msdn.microsoft.com/en-us/library/windowsazure/ee460815.aspx
Returns NONE
123 124 125 126 127 128 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 123 def delete_cloud_service_deployment(cloud_service_name) request_path = "/services/hostedservices/#{cloud_service_name}/deploymentslots/production" request = ManagementHttpRequest.new(:delete, request_path) Loggerx.info "Deleting deployment of cloud service \"#{cloud_service_name}\" ..." request.call end |
#get_cloud_service(name) ⇒ Object
Public: Checks to see if the specified hosted service is available
Attributes
-
name
- String. Cloud service name.
Returns: A boolean value indicating whether the cloud service exists. If true, the cloud service is available. If false, the cloud service does not exist.
81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 81 def get_cloud_service(name) return false if name.nil? flag = false list_cloud_services.each do |cloud_service| if cloud_service.name == name flag = true break end end flag end |
#get_cloud_service_properties(name) ⇒ Object
93 94 95 96 97 98 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 93 def get_cloud_service_properties(name) request_path = "/services/hostedservices/#{name}?embed-detail=true" request = ManagementHttpRequest.new(:get, request_path) response = request.call Serialization.cloud_services_from_xml(response).first end |
#list_cloud_services ⇒ Object
Public: Gets a list of hosted services available under the current subscription.
Returns an array of Azure::CloudServiceManagement::CloudService objects
65 66 67 68 69 70 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 65 def list_cloud_services request_path = '/services/hostedservices' request = ManagementHttpRequest.new(:get, request_path, nil) response = request.call Serialization.cloud_services_from_xml(response) end |
#upload_certificate(cloud_service_name, ssh) ⇒ Object
130 131 132 133 134 135 136 137 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 130 def upload_certificate(cloud_service_name, ssh) data = export_der(ssh[:cert], ssh[:key]) request_path = "/services/hostedservices/#{cloud_service_name}/certificates" body = Serialization.add_certificate_to_xml(data) Loggerx.info "Uploading certificate to cloud service #{cloud_service_name}..." request = ManagementHttpRequest.new(:post, request_path, body) request.call end |