Class: Azure::CloudServiceManagement::CloudServiceManagementService
- Inherits:
-
BaseManagement::BaseManagementService
- Object
- BaseManagement::BaseManagementService
- Azure::CloudServiceManagement::CloudServiceManagementService
- Includes:
- Azure::Core::Utility
- 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 Microsoft Azure.
-
#delete_cloud_service(cloud_service_name) ⇒ Object
Public: Deletes the specified cloud service of given subscription id from Microsoft Azure.
-
#delete_cloud_service_deployment(cloud_service_name, slot = 'production') ⇒ 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
Methods included from Azure::Core::Utility
#enable_winrm?, #export_der, #export_fingerprint, #get_certificate, #initialize_external_logger, #locate_file, #random_string, #xml_content
Methods inherited from BaseManagement::BaseManagementService
#create_affinity_group, #delete_affinity_group, #get_affinity_group, #list_affinity_groups, #list_locations, #list_role_sizes, #update_affinity_group, #validate_configuration
Constructor Details
#initialize ⇒ CloudServiceManagementService
Returns a new instance of CloudServiceManagementService.
22 23 24 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 22 def initialize super() end |
Instance Method Details
#create_cloud_service(name, options = {}) ⇒ Object
Public: Creates a new cloud service in Microsoft 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/azure/gg441304.aspx
Returns None
51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 51 def create_cloud_service(name, = {}) Azure::Loggerx.error_with_exit 'Cloud service name is not valid ' unless name if get_cloud_service(name) Azure::Loggerx.warn "Cloud service #{name} already exists. Skipped..." else Azure::Loggerx.info "Creating cloud service #{name}." request_path = '/services/hostedservices' body = Serialization.cloud_services_to_xml(name, ) request = BaseManagement::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 Microsoft Azure.
Attributes
-
name
- String. Cloud service name.
Returns: None
101 102 103 104 105 106 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 101 def delete_cloud_service(cloud_service_name) request_path= "/services/hostedservices/#{cloud_service_name}" request = BaseManagement::ManagementHttpRequest.new(:delete, request_path) Azure::Loggerx.info "Deleting cloud service #{cloud_service_name}. \n" request.call end |
#delete_cloud_service_deployment(cloud_service_name, slot = 'production') ⇒ Object
Public: Deletes the specified deployment.
Attributes
-
cloud_service_name
- String. Cloud service name. -
slot
- String. ‘production’ or ‘staging’. Optional parameters.Default if not specified is 'production'
See msdn.microsoft.com/en-us/library/azure/ee460815.aspx
Returns NONE
119 120 121 122 123 124 125 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 119 def delete_cloud_service_deployment(cloud_service_name, slot='production') slot = 'production' unless slot request_path= "/services/hostedservices/#{cloud_service_name}/deploymentslots/#{slot}" request = BaseManagement::ManagementHttpRequest.new(:delete, request_path) Azure::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.
83 84 85 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 83 def get_cloud_service(name) list_cloud_services.select { |x| x.name.casecmp(name) == 0 }.first end |
#get_cloud_service_properties(name) ⇒ Object
87 88 89 90 91 92 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 87 def get_cloud_service_properties(name) request_path = "/services/hostedservices/#{name}?embed-detail=true" request = BaseManagement::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
67 68 69 70 71 72 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 67 def list_cloud_services request_path = '/services/hostedservices' request = BaseManagement::ManagementHttpRequest.new(:get, request_path, nil) response = request.call Serialization.cloud_services_from_xml(response) end |
#upload_certificate(cloud_service_name, ssh) ⇒ Object
127 128 129 130 131 132 133 134 |
# File 'lib/azure/cloud_service_management/cloud_service_management_service.rb', line 127 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) Azure::Loggerx.info "Uploading certificate to cloud service #{cloud_service_name}..." request = BaseManagement::ManagementHttpRequest.new(:post, request_path, body) request.call end |