class Azure::Subscriptions::Mgmt::V2017_11_01_preview::SubscriptionDefinitions
Subscription definitions client provides an interface to create, modify and retrieve azure subscriptions programmatically.
Attributes
@return [SubscriptionDefinitionsClient] reference to the SubscriptionDefinitionsClient
Private Class Methods
Creates and initializes a new instance of the SubscriptionDefinitions
class. @param client service class for accessing basic functionality.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 18 def initialize(client) @client = client end
Private Instance Methods
Create an Azure
subscription definition.
@param subscription_definition_name [String] The name of the Azure
subscription definition. @param body [SubscriptionDefinition] The subscription definition creation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [SubscriptionDefinition] operation results.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 351 def begin_create(subscription_definition_name, body, custom_headers:nil) response = begin_create_async(subscription_definition_name, body, custom_headers:custom_headers).value! response.body unless response.nil? end
Create an Azure
subscription definition.
@param subscription_definition_name [String] The name of the Azure
subscription definition. @param body [SubscriptionDefinition] The subscription definition creation. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [Concurrent::Promise] Promise object which holds the HTTP response.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 382 def begin_create_async(subscription_definition_name, body, custom_headers:nil) fail ArgumentError, 'subscription_definition_name is nil' if subscription_definition_name.nil? fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, 'body is nil' if body.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? # Serialize Request request_mapper = Azure::Subscriptions::Mgmt::V2017_11_01_preview::Models::SubscriptionDefinition.mapper() request_content = @client.serialize(request_mapper, body) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = 'providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}' request_url = @base_url || @client.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionDefinitionName' => subscription_definition_name}, query_params: {'api-version' => @client.api_version}, body: request_content, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:put, path_template, options) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 200 || status_code == 202 error_model = JSON.load(response_content) fail MsRest::HttpOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Subscriptions::Mgmt::V2017_11_01_preview::Models::SubscriptionDefinition.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result) end end result end promise.execute end
Create an Azure
subscription definition.
@param subscription_definition_name [String] The name of the Azure
subscription definition. @param body [SubscriptionDefinition] The subscription definition creation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [MsRestAzure::AzureOperationResponse] HTTP response information.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 367 def begin_create_with_http_info(subscription_definition_name, body, custom_headers:nil) begin_create_async(subscription_definition_name, body, custom_headers:custom_headers).value! end
Create an Azure
subscription definition.
@param subscription_definition_name [String] The name of the Azure
subscription definition. @param body [SubscriptionDefinition] The subscription definition creation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [SubscriptionDefinition] operation results.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 36 def create(subscription_definition_name, body, custom_headers:nil) response = create_async(subscription_definition_name, body, custom_headers:custom_headers).value! response.body unless response.nil? end
@param subscription_definition_name [String] The name of the Azure
subscription definition. @param body [SubscriptionDefinition] The subscription definition creation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [Concurrent::Promise] promise which provides async access to http response.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 51 def create_async(subscription_definition_name, body, custom_headers:nil) # Send request promise = begin_create_async(subscription_definition_name, body, custom_headers:custom_headers) promise = promise.then do |response| # Defining deserialization method. deserialize_method = lambda do |parsed_response| result_mapper = Azure::Subscriptions::Mgmt::V2017_11_01_preview::Models::SubscriptionDefinition.mapper() parsed_response = @client.deserialize(result_mapper, parsed_response) end # Waiting for response. @client.get_long_running_operation_result(response, deserialize_method) end promise end
Get an Azure
subscription definition.
@param subscription_definition_name [String] The name of the Azure
subscription definition. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [SubscriptionDefinition] operation results.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 79 def get(subscription_definition_name, custom_headers:nil) response = get_async(subscription_definition_name, custom_headers:custom_headers).value! response.body unless response.nil? end
Get an Azure
subscription definition.
@param subscription_definition_name [String] The name of the Azure
subscription definition. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [Concurrent::Promise] Promise object which holds the HTTP response.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 108 def get_async(subscription_definition_name, custom_headers:nil) fail ArgumentError, 'subscription_definition_name is nil' if subscription_definition_name.nil? fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? path_template = 'providers/Microsoft.Subscription/subscriptionDefinitions/{subscriptionDefinitionName}' request_url = @base_url || @client.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'subscriptionDefinitionName' => subscription_definition_name}, query_params: {'api-version' => @client.api_version}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, options) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 200 error_model = JSON.load(response_content) fail MsRest::HttpOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Subscriptions::Mgmt::V2017_11_01_preview::Models::SubscriptionDefinition.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result) end end result end promise.execute end
Retrieves the status of the subscription definition PUT operation. The URI of this API is returned in the Location field of the response header.
@param operation_id The operation ID, which can be found from the Location field in the generate recommendation response header. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [SubscriptionDefinition] operation results.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 256 def get_operation_status(operation_id, custom_headers:nil) response = get_operation_status_async(operation_id, custom_headers:custom_headers).value! response.body unless response.nil? end
Retrieves the status of the subscription definition PUT operation. The URI of this API is returned in the Location field of the response header.
@param operation_id The operation ID, which can be found from the Location field in the generate recommendation response header. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [Concurrent::Promise] Promise object which holds the HTTP response.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 287 def get_operation_status_async(operation_id, custom_headers:nil) fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? fail ArgumentError, 'operation_id is nil' if operation_id.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? path_template = 'providers/Microsoft.Subscription/subscriptionOperations/{operationId}' request_url = @base_url || @client.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], path_params: {'operationId' => operation_id}, query_params: {'api-version' => @client.api_version}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, options) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 202 || status_code == 200 error_model = JSON.load(response_content) fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Subscriptions::Mgmt::V2017_11_01_preview::Models::SubscriptionDefinition.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result) end end result end promise.execute end
Retrieves the status of the subscription definition PUT operation. The URI of this API is returned in the Location field of the response header.
@param operation_id The operation ID, which can be found from the Location field in the generate recommendation response header. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [MsRestAzure::AzureOperationResponse] HTTP response information.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 272 def get_operation_status_with_http_info(operation_id, custom_headers:nil) get_operation_status_async(operation_id, custom_headers:custom_headers).value! end
Get an Azure
subscription definition.
@param subscription_definition_name [String] The name of the Azure
subscription definition. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [MsRestAzure::AzureOperationResponse] HTTP response information.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 94 def get_with_http_info(subscription_definition_name, custom_headers:nil) get_async(subscription_definition_name, custom_headers:custom_headers).value! end
List an Azure
subscription definition by subscriptionId.
@param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [Array<SubscriptionDefinition>] operation results.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 169 def list(custom_headers:nil) first_page = list_as_lazy(custom_headers:custom_headers) first_page.get_all_items end
List an Azure
subscription definition by subscriptionId.
@param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [SubscriptionDefinitionList] which provide lazy access to pages of the response.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 542 def list_as_lazy(custom_headers:nil) response = list_async(custom_headers:custom_headers).value! unless response.nil? page = response.body page.next_method = Proc.new do |next_page_link| list_next_async(next_page_link, custom_headers:custom_headers) end page end end
List an Azure
subscription definition by subscriptionId.
@param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [Concurrent::Promise] Promise object which holds the HTTP response.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 194 def list_async(custom_headers:nil) fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? path_template = 'providers/Microsoft.Subscription/subscriptionDefinitions' request_url = @base_url || @client.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], query_params: {'api-version' => @client.api_version}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, options) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 200 error_model = JSON.load(response_content) fail MsRest::HttpOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Subscriptions::Mgmt::V2017_11_01_preview::Models::SubscriptionDefinitionList.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result) end end result end promise.execute end
List an Azure
subscription definition by subscriptionId.
@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [SubscriptionDefinitionList] operation results.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 453 def list_next(next_page_link, custom_headers:nil) response = list_next_async(next_page_link, custom_headers:custom_headers).value! response.body unless response.nil? end
List an Azure
subscription definition by subscriptionId.
@param next_page_link [String] The NextLink from the previous successful call to List operation. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [Concurrent::Promise] Promise object which holds the HTTP response.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 482 def list_next_async(next_page_link, custom_headers:nil) fail ArgumentError, 'next_page_link is nil' if next_page_link.nil? request_headers = {} request_headers['Content-Type'] = 'application/json; charset=utf-8' # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil? path_template = '{nextLink}' request_url = @base_url || @client.base_url options = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], skip_encoding_path_params: {'nextLink' => next_page_link}, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = @client.make_request_async(:get, path_template, options) promise = promise.then do |result| http_response = result.response status_code = http_response.status response_content = http_response.body unless status_code == 200 error_model = JSON.load(response_content) fail MsRest::HttpOperationError.new(result.request, http_response, error_model) end result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil? result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content) result_mapper = Azure::Subscriptions::Mgmt::V2017_11_01_preview::Models::SubscriptionDefinitionList.mapper() result.body = @client.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result) end end result end promise.execute end
List an Azure
subscription definition by subscriptionId.
@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [MsRestAzure::AzureOperationResponse] HTTP response information.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 468 def list_next_with_http_info(next_page_link, custom_headers:nil) list_next_async(next_page_link, custom_headers:custom_headers).value! end
List an Azure
subscription definition by subscriptionId.
@param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.
@return [MsRestAzure::AzureOperationResponse] HTTP response information.
# File lib/2017-11-01-preview/generated/azure_mgmt_subscriptions/subscription_definitions.rb, line 182 def list_with_http_info(custom_headers:nil) list_async(custom_headers:custom_headers).value! end