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.

Parameters:

  • credentials (MsRest::ServiceClientCredentials) (defaults to: nil)

    credentials to authorize HTTP requests made by the service client.

  • base_url (String) (defaults to: nil)

    the base URI of the service.

  • options (Array) (defaults to: nil)

    filters to be applied to the HTTP requests.



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

Returns The preferred language for the response.

Returns:

  • (String)

    The preferred language for the response.



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)

Returns advisors.

Returns:



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)

Returns The API version to use for this operation.

Returns:

  • (String)

    The API version to use for this operation.



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

Returns the base URI of the service.

Returns:

  • (String)

    the base URI of the service.



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)

Returns Credentials needed for the client to connect to Azure.

Returns:

  • Credentials needed for the client to connect to Azure.



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.

Returns:

  • (Boolean)

    Whether a unique x-ms-client-request-id should be



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.

Returns:

  • (Integer)

    The retry timeout in seconds for Long Running



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)

Returns private_endpoint_connections.

Returns:



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

Returns private_link_resources.

Returns:



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

Returns recommended_actions.

Returns:



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

Returns The ID of the target subscription.

Returns:

  • (String)

    The ID of the target subscription.



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.

Parameters:

  • resource_group_name (String)

    The name of the resource group. The name

  • server_name (String)

    The name of the server.

  • advisor_name (String)

    The advisor name for recommendation action.

  • database_name (String)

    The name of the database.

  • custom_headers (Hash{String => String}) (defaults to: nil)

    A hash of custom headers that



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.

Parameters:

  • resource_group_name (String)

    The name of the resource group. The name

  • server_name (String)

    The name of the server.

  • advisor_name (String)

    The advisor name for recommendation action.

  • database_name (String)

    The name of the database.

  • A (Hash{String => String})

    hash of custom headers that will be added

Returns:

  • (Concurrent::Promise)

    Promise object which holds the HTTP response.



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.

Parameters:

  • resource_group_name (String)

    The name of the resource group. The name

  • server_name (String)

    The name of the server.

  • advisor_name (String)

    The advisor name for recommendation action.

  • database_name (String)

    The name of the database.

  • custom_headers (Hash{String => String}) (defaults to: nil)

    A hash of custom headers that

Returns:

  • (MsRestAzure::AzureOperationResponse)

    HTTP response information.



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.

Parameters:

  • resource_group_name (String)

    The name of the resource group. The name

  • server_name (String)

    The name of the server.

  • advisor_name (String)

    The advisor name for recommendation action.

  • database_name (String)

    The name of the database.

  • custom_headers (Hash{String => String}) (defaults to: nil)

    A hash of custom headers that



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.

Parameters:

  • resource_group_name (String)

    The name of the resource group. The name

  • server_name (String)

    The name of the server.

  • advisor_name (String)

    The advisor name for recommendation action.

  • database_name (String)

    The name of the database.

  • A (Hash{String => String})

    hash of custom headers that will be added

Returns:

  • (Concurrent::Promise)

    Promise object which holds the HTTP response.



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.

Parameters:

  • resource_group_name (String)

    The name of the resource group. The name

  • server_name (String)

    The name of the server.

  • advisor_name (String)

    The advisor name for recommendation action.

  • database_name (String)

    The name of the database.

  • custom_headers (Hash{String => String}) (defaults to: nil)

    A hash of custom headers that

Returns:

  • (MsRestAzure::AzureOperationResponse)

    HTTP response information.



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)

Parameters:

  • method (Symbol)

    with any of the following values :get, :put, :post, :patch, :delete.

  • path (String)

    the path, relative to #base_url.

  • options (Hash{String=>String}) (defaults to: {})

    specifying any request options like :body.

Returns:

  • (Hash{String=>String})

    containing the body of the response.



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.

Parameters:

  • method (Symbol)

    with any of the following values :get, :put, :post, :patch, :delete.

  • path (String)

    the path, relative to #base_url.

  • options (Hash{String=>String}) (defaults to: {})

    specifying any request options like :body.

Returns:

  • (Concurrent::Promise)

    Promise object which holds the HTTP response.



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.

Parameters:

  • method (Symbol)

    with any of the following values :get, :put, :post, :patch, :delete.

  • path (String)

    the path, relative to #base_url.

  • options (Hash{String=>String}) (defaults to: {})

    specifying any request options like :body.

Returns:

  • (MsRestAzure::AzureOperationResponse)

    Operation response containing the request, response and status.



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