Class: Azure::Mysql::Mgmt::V2018_06_01::MySQLManagementClient

Inherits:
MsRestAzure::AzureServiceClient
  • Object
show all
Includes:
MsRestAzure, MsRestAzure::Serialization
Defined in:
lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb

Overview

A service client - single point of access to the REST API.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(credentials = nil, base_url = nil, options = nil) ⇒ MySQLManagementClient

Creates initializes a new instance of the MySQLManagementClient class.



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 64

def initialize(credentials = nil, base_url = nil, options = nil)
  super(credentials, options)
  @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

  @advisors = Advisors.new(self)
  @recommended_actions = RecommendedActions.new(self)
  @location_based_recommended_action_sessions_operation_status = LocationBasedRecommendedActionSessionsOperationStatus.new(self)
  @location_based_recommended_action_sessions_result = LocationBasedRecommendedActionSessionsResult.new(self)
  @private_endpoint_connections = PrivateEndpointConnections.new(self)
  @private_link_resources = PrivateLinkResources.new(self)
  @api_version = '2018-06-01'
  @accept_language = 'en-US'
  @long_running_operation_retry_timeout = 30
  @generate_client_request_id = true
  add_telemetry
end

Instance Attribute Details

#accept_languageString



27
28
29
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 27

def accept_language
  @accept_language
end

#advisorsAdvisors (readonly)



39
40
41
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 39

def advisors
  @advisors
end

#api_versionString (readonly)



24
25
26
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 24

def api_version
  @api_version
end

#base_urlString



15
16
17
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 15

def base_url
  @base_url
end

#credentialsObject (readonly)



18
19
20
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 18

def credentials
  @credentials
end

#generate_client_request_idBoolean

generated. When set to true a unique x-ms-client-request-id value is generated and included in each request. Default is true.



36
37
38
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 36

def generate_client_request_id
  @generate_client_request_id
end

location_based_recommended_action_sessions_operation_status



46
47
48
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 46

def location_based_recommended_action_sessions_operation_status
  @location_based_recommended_action_sessions_operation_status
end

location_based_recommended_action_sessions_result



50
51
52
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 50

def location_based_recommended_action_sessions_result
  @location_based_recommended_action_sessions_result
end

#long_running_operation_retry_timeoutInteger

Operations. Default value is 30.



31
32
33
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 31

def long_running_operation_retry_timeout
  @long_running_operation_retry_timeout
end

#private_endpoint_connectionsPrivateEndpointConnections (readonly)



53
54
55
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 53

def private_endpoint_connections
  @private_endpoint_connections
end


56
57
58
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 56

def private_link_resources
  @private_link_resources
end


42
43
44
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 42

def recommended_actions
  @recommended_actions
end

#subscription_idString



21
22
23
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 21

def subscription_id
  @subscription_id
end

Instance Method Details

Create recommendation action session for the advisor.

is case insensitive. will be added to the HTTP request.



253
254
255
256
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 253

def begin_create_recommended_action_session(resource_group_name, server_name, advisor_name, database_name, custom_headers:nil)
  response = begin_create_recommended_action_session_async(resource_group_name, server_name, advisor_name, database_name, custom_headers:custom_headers).value!
  nil
end

Create recommendation action session for the advisor.

is case insensitive. to the HTTP request.



288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 288

def begin_create_recommended_action_session_async(resource_group_name, server_name, advisor_name, database_name, custom_headers:nil)
  fail ArgumentError, 'api_version is nil' if api_version.nil?
  fail ArgumentError, "'api_version' should satisfy the constraint - 'MinLength': '1'" if !api_version.nil? && api_version.length < 1
  fail ArgumentError, 'subscription_id is nil' if subscription_id.nil?
  fail ArgumentError, "'subscription_id' should satisfy the constraint - 'MinLength': '1'" if !subscription_id.nil? && subscription_id.length < 1
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
  fail ArgumentError, 'server_name is nil' if server_name.nil?
  fail ArgumentError, 'advisor_name is nil' if advisor_name.nil?
  fail ArgumentError, 'database_name is nil' if database_name.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?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession'

  request_url = @base_url || self.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'subscriptionId' => subscription_id,'resourceGroupName' => resource_group_name,'serverName' => server_name,'advisorName' => advisor_name},
      query_params: {'api-version' => api_version,'databaseName' => database_name},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = self.make_request_async(:post, 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 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?

    result
  end

  promise.execute
end

Create recommendation action session for the advisor.

is case insensitive. will be added to the HTTP request.



271
272
273
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 271

def begin_create_recommended_action_session_with_http_info(resource_group_name, server_name, advisor_name, database_name, custom_headers:nil)
  begin_create_recommended_action_session_async(resource_group_name, server_name, advisor_name, database_name, custom_headers:custom_headers).value!
end

Create recommendation action session for the advisor.

is case insensitive. will be added to the HTTP request.



154
155
156
157
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 154

def create_recommended_action_session(resource_group_name, server_name, advisor_name, database_name, custom_headers:nil)
  response = create_recommended_action_session_async(resource_group_name, server_name, advisor_name, database_name, custom_headers:custom_headers).value!
  nil
end

Create recommendation action session for the advisor.

is case insensitive. to the HTTP request.



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
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 189

def create_recommended_action_session_async(resource_group_name, server_name, advisor_name, database_name, custom_headers:nil)
  fail ArgumentError, 'api_version is nil' if api_version.nil?
  fail ArgumentError, "'api_version' should satisfy the constraint - 'MinLength': '1'" if !api_version.nil? && api_version.length < 1
  fail ArgumentError, 'subscription_id is nil' if subscription_id.nil?
  fail ArgumentError, "'subscription_id' should satisfy the constraint - 'MinLength': '1'" if !subscription_id.nil? && subscription_id.length < 1
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
  fail ArgumentError, 'server_name is nil' if server_name.nil?
  fail ArgumentError, 'advisor_name is nil' if advisor_name.nil?
  fail ArgumentError, 'database_name is nil' if database_name.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?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/advisors/{advisorName}/createRecommendedActionSession'

  request_url = @base_url || self.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'subscriptionId' => subscription_id,'resourceGroupName' => resource_group_name,'serverName' => server_name,'advisorName' => advisor_name},
      query_params: {'api-version' => api_version,'databaseName' => database_name},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = self.make_request_async(:post, 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 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?

    result
  end

  promise.execute
end

Create recommendation action session for the advisor.

is case insensitive. will be added to the HTTP request.



172
173
174
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 172

def create_recommended_action_session_with_http_info(resource_group_name, server_name, advisor_name, database_name, custom_headers:nil)
  create_recommended_action_session_async(resource_group_name, server_name, advisor_name, database_name, custom_headers:custom_headers).value!
end

#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"
options = {
  body: request_content,
  query_params: {'api-version' => '2016-02-01'}
}
result = @client.make_request(:put, path, options)


100
101
102
103
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 100

def make_request(method, path, options = {})
  result = make_request_with_http_info(method, path, options)
  result.body unless result.nil?
end

#make_request_async(method, path, options = {}) ⇒ Concurrent::Promise

Makes a request asynchronously.



125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 125

def make_request_async(method, path, options = {})
  fail ArgumentError, 'method is nil' if method.nil?
  fail ArgumentError, 'path is nil' if path.nil?

  request_url = options[:base_url] || @base_url
  if(!options[:headers].nil? && !options[:headers]['Content-Type'].nil?)
    @request_headers['Content-Type'] = options[:headers]['Content-Type']
  end

  request_headers = @request_headers
  request_headers.merge!({'accept-language' => @accept_language}) unless @accept_language.nil?
  options.merge!({headers: request_headers.merge(options[:headers] || {})})
  options.merge!({credentials: @credentials}) unless @credentials.nil?

  super(request_url, method, path, options)
end

#make_request_with_http_info(method, path, options = {}) ⇒ MsRestAzure::AzureOperationResponse

Makes a request and returns the operation response.



112
113
114
115
116
# File 'lib/2018-06-01/generated/azure_mgmt_mysql/my_sqlmanagement_client.rb', line 112

def make_request_with_http_info(method, path, options = {})
  result = make_request_async(method, path, options).value!
  result.body = result.response.body.to_s.empty? ? nil : JSON.load(result.response.body)
  result
end