Class: Azure::ResourceGraph::Mgmt::V2019_04_01::ResourceGraphClient
- Inherits:
-
MsRestAzure::AzureServiceClient
- Object
- MsRestAzure::AzureServiceClient
- Azure::ResourceGraph::Mgmt::V2019_04_01::ResourceGraphClient
- Includes:
- MsRestAzure, MsRestAzure::Serialization
- Defined in:
- lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb
Overview
A service client - single point of access to the REST API.
Instance Attribute Summary collapse
-
#accept_language ⇒ String
The preferred language for the response.
-
#api_version ⇒ String
readonly
API version.
-
#base_url ⇒ String
The base URI of the service.
-
#credentials ⇒ Object
readonly
Credentials needed for the client to connect to Azure.
-
#generate_client_request_id ⇒ Boolean
generated.
-
#long_running_operation_retry_timeout ⇒ Integer
Operations.
-
#operations ⇒ Operations
readonly
Operations.
Instance Method Summary collapse
-
#initialize(credentials = nil, base_url = nil, options = nil) ⇒ ResourceGraphClient
constructor
Creates initializes a new instance of the ResourceGraphClient class.
-
#make_request(method, path, options = {}) ⇒ Hash{String=>String}
Makes a request and returns the body of the response.
-
#make_request_async(method, path, options = {}) ⇒ Concurrent::Promise
Makes a request asynchronously.
-
#make_request_with_http_info(method, path, options = {}) ⇒ MsRestAzure::AzureOperationResponse
Makes a request and returns the operation response.
-
#resources(query, custom_headers: nil) ⇒ QueryResponse
Queries the resources managed by Azure Resource Manager for all subscriptions specified in the request.
-
#resources_async(query, custom_headers: nil) ⇒ Concurrent::Promise
Queries the resources managed by Azure Resource Manager for all subscriptions specified in the request.
-
#resources_with_http_info(query, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Queries the resources managed by Azure Resource Manager for all subscriptions specified in the request.
Constructor Details
#initialize(credentials = nil, base_url = nil, options = nil) ⇒ ResourceGraphClient
Creates initializes a new instance of the ResourceGraphClient class.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 44 def initialize(credentials = nil, base_url = nil, = nil) super(credentials, ) @base_url = base_url || 'https://management.azure.com' fail ArgumentError, 'invalid type of credentials input parameter' unless credentials.is_a?(MsRest::ServiceClientCredentials) unless credentials.nil? @credentials = credentials @operations = Operations.new(self) @api_version = '2019-04-01' @accept_language = 'en-US' @long_running_operation_retry_timeout = 30 @generate_client_request_id = true add_telemetry end |
Instance Attribute Details
#accept_language ⇒ String
Returns The preferred language for the response.
24 25 26 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 24 def accept_language @accept_language end |
#api_version ⇒ String (readonly)
Returns API version.
21 22 23 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 21 def api_version @api_version end |
#base_url ⇒ String
Returns the base URI of the service.
15 16 17 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 15 def base_url @base_url end |
#credentials ⇒ Object (readonly)
Returns Credentials needed for the client to connect to Azure.
18 19 20 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 18 def credentials @credentials end |
#generate_client_request_id ⇒ Boolean
generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.
33 34 35 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 33 def generate_client_request_id @generate_client_request_id end |
#long_running_operation_retry_timeout ⇒ Integer
Operations. Default value is 30.
28 29 30 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 28 def long_running_operation_retry_timeout @long_running_operation_retry_timeout end |
#operations ⇒ Operations (readonly)
Returns operations.
36 37 38 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 36 def operations @operations end |
Instance Method Details
#make_request(method, path, options = {}) ⇒ Hash{String=>String}
Makes a request and returns the body of the response. Example:
request_content = "{'location':'westus','tags':{'tag1':'val1','tag2':'val2'}}"
path = "/path"
= {
body: request_content,
query_params: {'api-version' => '2016-02-01'}
}
result = @client.make_request(:put, path, )
75 76 77 78 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 75 def make_request(method, path, = {}) result = make_request_with_http_info(method, path, ) result.body unless result.nil? end |
#make_request_async(method, path, options = {}) ⇒ Concurrent::Promise
Makes a request asynchronously.
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 100 def make_request_async(method, path, = {}) fail ArgumentError, 'method is nil' if method.nil? fail ArgumentError, 'path is nil' if path.nil? request_url = [:base_url] || @base_url if(![:headers].nil? && ![:headers]['Content-Type'].nil?) @request_headers['Content-Type'] = [:headers]['Content-Type'] end request_headers = @request_headers request_headers.merge!({'accept-language' => @accept_language}) unless @accept_language.nil? .merge!({headers: request_headers.merge([:headers] || {})}) .merge!({credentials: @credentials}) unless @credentials.nil? super(request_url, method, path, ) end |
#make_request_with_http_info(method, path, options = {}) ⇒ MsRestAzure::AzureOperationResponse
Makes a request and returns the operation response.
87 88 89 90 91 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 87 def make_request_with_http_info(method, path, = {}) result = make_request_async(method, path, ).value! result.body = result.response.body.to_s.empty? ? nil : JSON.load(result.response.body) result end |
#resources(query, custom_headers: nil) ⇒ QueryResponse
Queries the resources managed by Azure Resource Manager for all subscriptions specified in the request.
will be added to the HTTP request.
127 128 129 130 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 127 def resources(query, custom_headers:nil) response = resources_async(query, custom_headers:custom_headers).value! response.body unless response.nil? end |
#resources_async(query, custom_headers: nil) ⇒ Concurrent::Promise
Queries the resources managed by Azure Resource Manager for all subscriptions specified in the request.
to the HTTP request.
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 156 def resources_async(query, custom_headers:nil) fail ArgumentError, 'api_version is nil' if api_version.nil? fail ArgumentError, 'query is nil' if query.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'] = accept_language unless accept_language.nil? # Serialize Request request_mapper = Azure::ResourceGraph::Mgmt::V2019_04_01::Models::QueryRequest.mapper() request_content = self.serialize(request_mapper, query) request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil path_template = 'providers/Microsoft.ResourceGraph/resources' request_url = @base_url || self.base_url = { middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]], query_params: {'api-version' => api_version}, body: request_content, headers: request_headers.merge(custom_headers || {}), base_url: request_url } promise = self.make_request_async(:post, path_template, ) 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::ResourceGraph::Mgmt::V2019_04_01::Models::QueryResponse.mapper() result.body = self.deserialize(result_mapper, parsed_response) rescue Exception => e fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e., e.backtrace, result) end end result end promise.execute end |
#resources_with_http_info(query, custom_headers: nil) ⇒ MsRestAzure::AzureOperationResponse
Queries the resources managed by Azure Resource Manager for all subscriptions specified in the request.
will be added to the HTTP request.
142 143 144 |
# File 'lib/2019-04-01/generated/azure_mgmt_resourcegraph/resource_graph_client.rb', line 142 def resources_with_http_info(query, custom_headers:nil) resources_async(query, custom_headers:custom_headers).value! end |