Class: Azure::ARM::Resources::ResourceProviderOperationDetails
- Inherits:
-
Object
- Object
- Azure::ARM::Resources::ResourceProviderOperationDetails
- Includes:
- Models, MsRestAzure
- Defined in:
- lib/azure_mgmt_resources/resource_provider_operation_details.rb
Overview
ResourceProviderOperationDetails
Instance Attribute Summary collapse
-
#client ⇒ Object
readonly
Reference to the ResourceManagementClient.
Instance Method Summary collapse
-
#initialize(client) ⇒ ResourceProviderOperationDetails
constructor
Creates and initializes a new instance of the ResourceProviderOperationDetails class.
-
#list(resource_provider_namespace, api_version, custom_headers = nil) ⇒ Concurrent::Promise
Gets a list of resource providers.
Constructor Details
#initialize(client) ⇒ ResourceProviderOperationDetails
Creates and initializes a new instance of the ResourceProviderOperationDetails class.
18 19 20 |
# File 'lib/azure_mgmt_resources/resource_provider_operation_details.rb', line 18 def initialize(client) @client = client end |
Instance Attribute Details
#client ⇒ Object (readonly)
Returns reference to the ResourceManagementClient.
23 24 25 |
# File 'lib/azure_mgmt_resources/resource_provider_operation_details.rb', line 23 def client @client end |
Instance Method Details
#list(resource_provider_namespace, api_version, custom_headers = nil) ⇒ Concurrent::Promise
Gets a list of resource providers. applied to HTTP request.
response.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'lib/azure_mgmt_resources/resource_provider_operation_details.rb', line 35 def list(resource_provider_namespace, api_version, custom_headers = nil) fail ArgumentError, 'resource_provider_namespace is nil' if resource_provider_namespace.nil? fail ArgumentError, 'api_version is nil' if api_version.nil? fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil? # Construct URL path = "/providers/{resourceProviderNamespace}/operations" path['{resourceProviderNamespace}'] = ERB::Util.url_encode(resource_provider_namespace) if path.include?('{resourceProviderNamespace}') path['{subscriptionId}'] = ERB::Util.url_encode(@client.subscription_id) if path.include?('{subscriptionId}') url = URI.join(@client.base_url, path) properties = {} properties['api-version'] = ERB::Util.url_encode(api_version.to_s) unless api_version.nil? unless url.query.nil? url.query.split('&').each do |url_item| url_items_parts = url_item.split('=') properties[url_items_parts[0]] = url_items_parts[1] end end properties.reject!{ |key, value| value.nil? } url.query = properties.map{ |key, value| "#{key}=#{value}" }.compact.join('&') fail URI::Error unless url.to_s =~ /\A#{URI::regexp}\z/ corrected_url = url.to_s.gsub(/([^:])\/\//, '\1/') url = URI.parse(corrected_url) connection = Faraday.new(:url => url) do |faraday| faraday.use MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02 faraday.use :cookie_jar faraday.adapter Faraday.default_adapter end request_headers = Hash.new # Set Headers request_headers['x-ms-client-request-id'] = SecureRandom.uuid request_headers["accept-language"] = @client.accept_language unless @client.accept_language.nil? unless custom_headers.nil? custom_headers.each do |key, value| request_headers[key] = value end end # Send Request promise = Concurrent::Promise.new do connection.get do |request| request.headers = request_headers @client.credentials.sign_request(request) unless @client.credentials.nil? end end promise = promise.then do |http_response| status_code = http_response.status response_content = http_response.body unless (status_code == 200 || status_code == 204) error_model = JSON.load(response_content) fail MsRestAzure::AzureOperationError.new(connection, http_response, error_model) end # Create Result result = MsRestAzure::AzureOperationResponse.new(connection, http_response) result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil? # Deserialize Response if status_code == 200 begin parsed_response = JSON.load(response_content) unless response_content.to_s.empty? unless parsed_response.nil? parsed_response = ResourceProviderOperationDetailListResult.deserialize_object(parsed_response) end result.body = parsed_response rescue Exception => e fail MsRest::DeserializationError.new("Error occured in deserializing the response", e., e.backtrace, response_content) end end # Deserialize Response if status_code == 204 begin parsed_response = JSON.load(response_content) unless response_content.to_s.empty? unless parsed_response.nil? parsed_response = ResourceProviderOperationDetailListResult.deserialize_object(parsed_response) end result.body = parsed_response rescue Exception => e fail MsRest::DeserializationError.new("Error occured in deserializing the response", e., e.backtrace, response_content) end end result end promise.execute end |