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 17 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 350 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 381 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 366 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 35 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 50 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 78 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 107 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 255 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 286 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 271 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 93 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 168 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 541 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 193 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 452 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 481 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 467 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 181 def list_with_http_info(custom_headers:nil) list_async(custom_headers:custom_headers).value! end