azure_mgmt_sql 0.17.2 → 0.17.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +5 -5
  2. data/lib/2014-04-01/generated/azure_mgmt_sql/databases.rb +6 -6
  3. data/lib/2014-04-01/generated/azure_mgmt_sql/models/database.rb +47 -27
  4. data/lib/2014-04-01/generated/azure_mgmt_sql/models/database_edition.rb +3 -0
  5. data/lib/2014-04-01/generated/azure_mgmt_sql/models/database_security_alert_policy.rb +1 -1
  6. data/lib/2014-04-01/generated/azure_mgmt_sql/models/database_update.rb +47 -27
  7. data/lib/2014-04-01/generated/azure_mgmt_sql/models/elastic_pool.rb +2 -1
  8. data/lib/2014-04-01/generated/azure_mgmt_sql/models/elastic_pool_edition.rb +2 -0
  9. data/lib/2014-04-01/generated/azure_mgmt_sql/models/elastic_pool_update.rb +2 -1
  10. data/lib/2014-04-01/generated/azure_mgmt_sql/models/import_request.rb +16 -2
  11. data/lib/2014-04-01/generated/azure_mgmt_sql/models/metric_definition.rb +1 -1
  12. data/lib/2014-04-01/generated/azure_mgmt_sql/models/recommended_elastic_pool.rb +3 -2
  13. data/lib/2014-04-01/generated/azure_mgmt_sql/recommended_elastic_pools.rb +6 -6
  14. data/lib/2014-04-01/generated/azure_mgmt_sql/server_table_auditing_policies.rb +6 -6
  15. data/lib/2014-04-01/generated/azure_mgmt_sql/sql_management_client.rb +1 -1
  16. data/lib/2015-05-01-preview/generated/azure_mgmt_sql.rb +35 -28
  17. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/managed_instances.rb +317 -107
  18. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/advisor.rb +3 -3
  19. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/database_blob_auditing_policy.rb +37 -6
  20. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_instance.rb +145 -5
  21. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_instance_license_type.rb +16 -0
  22. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_instance_proxy_override.rb +17 -0
  23. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_instance_update.rb +143 -4
  24. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/managed_server_create_mode.rb +16 -0
  25. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/recommended_action_state_info.rb +2 -2
  26. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/virtual_cluster.rb +130 -0
  27. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/virtual_cluster_list_result.rb +100 -0
  28. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/models/virtual_cluster_update.rb +98 -0
  29. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/sql_management_client.rb +5 -1
  30. data/lib/2015-05-01-preview/generated/azure_mgmt_sql/virtual_clusters.rb +814 -0
  31. data/lib/2017-03-01-preview/generated/azure_mgmt_sql.rb +41 -26
  32. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/database_vulnerability_assessments.rb +219 -0
  33. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/job_executions.rb +4 -4
  34. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/long_term_retention_backups.rb +28 -28
  35. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_backup_short_term_retention_policies.rb +684 -0
  36. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_database_security_alert_policies.rb +483 -0
  37. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_databases.rb +4 -4
  38. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_restorable_dropped_database_backup_short_term_retention_policies.rb +684 -0
  39. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/managed_server_security_alert_policies.rb +500 -0
  40. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/backup_long_term_retention_policy.rb +1 -1
  41. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/database_blob_auditing_policy.rb +37 -6
  42. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment.rb +19 -4
  43. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment_list_result.rb +102 -0
  44. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/extended_database_blob_auditing_policy.rb +37 -6
  45. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/extended_server_blob_auditing_policy.rb +37 -6
  46. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/job_schedule.rb +1 -1
  47. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/logical_server_security_alert_policy_list_result.rb +102 -0
  48. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/long_term_retention_backup_list_result.rb +1 -1
  49. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_backup_short_term_retention_policy.rb +74 -0
  50. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_backup_short_term_retention_policy_list_result.rb +104 -0
  51. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database.rb +32 -5
  52. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_create_mode.rb +1 -0
  53. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_security_alert_policy.rb +179 -0
  54. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_security_alert_policy_list_result.rb +102 -0
  55. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_status.rb +1 -0
  56. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_database_update.rb +32 -5
  57. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_server_security_alert_policy.rb +179 -0
  58. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/managed_server_security_alert_policy_list_result.rb +102 -0
  59. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/restorable_dropped_managed_database.rb +135 -0
  60. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/restorable_dropped_managed_database_list_result.rb +102 -0
  61. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/restore_point_list_result.rb +1 -1
  62. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/sensitivity_label.rb +37 -0
  63. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/server_blob_auditing_policy.rb +37 -6
  64. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/models/server_security_alert_policy.rb +16 -3
  65. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/restorable_dropped_managed_databases.rb +340 -0
  66. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/sensitivity_labels.rb +460 -14
  67. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/server_security_alert_policies.rb +210 -0
  68. data/lib/2017-03-01-preview/generated/azure_mgmt_sql/sql_management_client.rb +31 -5
  69. data/lib/2017-10-01-preview/generated/azure_mgmt_sql.rb +41 -24
  70. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/database_vulnerability_assessment_scans.rb +79 -79
  71. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_database_vulnerability_assessment_rule_baselines.rb +400 -0
  72. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_database_vulnerability_assessment_scans.rb +621 -0
  73. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_database_vulnerability_assessments.rb +575 -0
  74. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_instance_encryption_protectors.rb +500 -0
  75. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/managed_instance_keys.rb +669 -0
  76. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database.rb +42 -2
  77. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_status.rb +2 -0
  78. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_update.rb +26 -1
  79. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment.rb +19 -4
  80. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment_list_result.rb +102 -0
  81. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment_rule_baseline.rb +84 -0
  82. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/database_vulnerability_assessment_rule_baseline_item.rb +56 -0
  83. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/elastic_pool.rb +11 -1
  84. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/managed_instance_encryption_protector.rb +123 -0
  85. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/managed_instance_encryption_protector_list_result.rb +102 -0
  86. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/managed_instance_key.rb +124 -0
  87. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/managed_instance_key_list_result.rb +100 -0
  88. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/recoverable_managed_database.rb +74 -0
  89. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/recoverable_managed_database_list_result.rb +100 -0
  90. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/server_key_type.rb +16 -0
  91. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/models/vulnerability_assessment_policy_baseline_name.rb +16 -0
  92. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/recoverable_managed_databases.rb +340 -0
  93. data/lib/2017-10-01-preview/generated/azure_mgmt_sql/sql_management_client.rb +29 -1
  94. data/lib/2018-06-01-preview/generated/azure_mgmt_sql.rb +64 -0
  95. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/database_columns.rb +375 -0
  96. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/database_schemas.rb +357 -0
  97. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/database_security_alert_policies.rb +483 -0
  98. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/database_tables.rb +366 -0
  99. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/instance_pools.rb +999 -0
  100. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_database_columns.rb +375 -0
  101. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_database_schemas.rb +357 -0
  102. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_database_sensitivity_labels.rb +1058 -0
  103. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_database_tables.rb +366 -0
  104. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/managed_instance_vulnerability_assessments.rb +561 -0
  105. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/column_data_type.rb +48 -0
  106. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_column.rb +79 -0
  107. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_column_list_result.rb +100 -0
  108. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_schema.rb +62 -0
  109. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_schema_list_result.rb +100 -0
  110. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_security_alert_list_result.rb +100 -0
  111. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_security_alert_policy.rb +179 -0
  112. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_table.rb +62 -0
  113. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/database_table_list_result.rb +100 -0
  114. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/instance_pool.rb +135 -0
  115. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/instance_pool_license_type.rb +16 -0
  116. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/instance_pool_list_result.rb +100 -0
  117. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/instance_pool_update.rb +54 -0
  118. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/managed_instance_vulnerability_assessment.rb +114 -0
  119. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/managed_instance_vulnerability_assessment_list_result.rb +104 -0
  120. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/proxy_resource.rb +62 -0
  121. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/resource.rb +80 -0
  122. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/security_alert_policy_state.rb +17 -0
  123. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/sensitivity_label.rb +121 -0
  124. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/sensitivity_label_list_result.rb +100 -0
  125. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/sensitivity_label_source.rb +16 -0
  126. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/server_vulnerability_assessment.rb +114 -0
  127. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/server_vulnerability_assessment_list_result.rb +101 -0
  128. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/sku.rb +97 -0
  129. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/tracked_resource.rb +92 -0
  130. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/models/vulnerability_assessment_recurring_scans_properties.rb +80 -0
  131. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/module_definition.rb +9 -0
  132. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/server_vulnerability_assessments.rb +554 -0
  133. data/lib/2018-06-01-preview/generated/azure_mgmt_sql/sql_management_client.rb +174 -0
  134. data/lib/azure_mgmt_sql.rb +1 -0
  135. data/lib/profiles/latest/modules/sql_profile_module.rb +467 -261
  136. data/lib/version.rb +1 -1
  137. metadata +82 -3
@@ -0,0 +1,500 @@
1
+ # encoding: utf-8
2
+ # Code generated by Microsoft (R) AutoRest Code Generator.
3
+ # Changes may cause incorrect behavior and will be lost if the code is
4
+ # regenerated.
5
+
6
+ module Azure::SQL::Mgmt::V2017_03_01_preview
7
+ #
8
+ # The Azure SQL Database management API provides a RESTful set of web
9
+ # services that interact with Azure SQL Database services to manage your
10
+ # databases. The API enables you to create, retrieve, update, and delete
11
+ # databases.
12
+ #
13
+ class ManagedServerSecurityAlertPolicies
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the ManagedServerSecurityAlertPolicies class.
18
+ # @param client service class for accessing basic functionality.
19
+ #
20
+ def initialize(client)
21
+ @client = client
22
+ end
23
+
24
+ # @return [SqlManagementClient] reference to the SqlManagementClient
25
+ attr_reader :client
26
+
27
+ #
28
+ # Get a managed server's threat detection policy.
29
+ #
30
+ # @param resource_group_name [String] The name of the resource group that
31
+ # contains the resource. You can obtain this value from the Azure Resource
32
+ # Manager API or the portal.
33
+ # @param managed_instance_name [String] The name of the managed instance.
34
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
35
+ # will be added to the HTTP request.
36
+ #
37
+ # @return [ManagedServerSecurityAlertPolicy] operation results.
38
+ #
39
+ def get(resource_group_name, managed_instance_name, custom_headers:nil)
40
+ response = get_async(resource_group_name, managed_instance_name, custom_headers:custom_headers).value!
41
+ response.body unless response.nil?
42
+ end
43
+
44
+ #
45
+ # Get a managed server's threat detection policy.
46
+ #
47
+ # @param resource_group_name [String] The name of the resource group that
48
+ # contains the resource. You can obtain this value from the Azure Resource
49
+ # Manager API or the portal.
50
+ # @param managed_instance_name [String] The name of the managed instance.
51
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
52
+ # will be added to the HTTP request.
53
+ #
54
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
55
+ #
56
+ def get_with_http_info(resource_group_name, managed_instance_name, custom_headers:nil)
57
+ get_async(resource_group_name, managed_instance_name, custom_headers:custom_headers).value!
58
+ end
59
+
60
+ #
61
+ # Get a managed server's threat detection policy.
62
+ #
63
+ # @param resource_group_name [String] The name of the resource group that
64
+ # contains the resource. You can obtain this value from the Azure Resource
65
+ # Manager API or the portal.
66
+ # @param managed_instance_name [String] The name of the managed instance.
67
+ # @param [Hash{String => String}] A hash of custom headers that will be added
68
+ # to the HTTP request.
69
+ #
70
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
71
+ #
72
+ def get_async(resource_group_name, managed_instance_name, custom_headers:nil)
73
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
74
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
75
+ security_alert_policy_name = 'Default'
76
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
77
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
78
+
79
+
80
+ request_headers = {}
81
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
82
+
83
+ # Set Headers
84
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
85
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
86
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies/{securityAlertPolicyName}'
87
+
88
+ request_url = @base_url || @client.base_url
89
+
90
+ options = {
91
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
92
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'securityAlertPolicyName' => security_alert_policy_name,'subscriptionId' => @client.subscription_id},
93
+ query_params: {'api-version' => @client.api_version},
94
+ headers: request_headers.merge(custom_headers || {}),
95
+ base_url: request_url
96
+ }
97
+ promise = @client.make_request_async(:get, path_template, options)
98
+
99
+ promise = promise.then do |result|
100
+ http_response = result.response
101
+ status_code = http_response.status
102
+ response_content = http_response.body
103
+ unless status_code == 200
104
+ error_model = JSON.load(response_content)
105
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
106
+ end
107
+
108
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
109
+ # Deserialize Response
110
+ if status_code == 200
111
+ begin
112
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
113
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedServerSecurityAlertPolicy.mapper()
114
+ result.body = @client.deserialize(result_mapper, parsed_response)
115
+ rescue Exception => e
116
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
117
+ end
118
+ end
119
+
120
+ result
121
+ end
122
+
123
+ promise.execute
124
+ end
125
+
126
+ #
127
+ # Creates or updates a threat detection policy.
128
+ #
129
+ # @param resource_group_name [String] The name of the resource group that
130
+ # contains the resource. You can obtain this value from the Azure Resource
131
+ # Manager API or the portal.
132
+ # @param managed_instance_name [String] The name of the managed instance.
133
+ # @param parameters [ManagedServerSecurityAlertPolicy] The managed server
134
+ # security alert policy.
135
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
136
+ # will be added to the HTTP request.
137
+ #
138
+ # @return [ManagedServerSecurityAlertPolicy] operation results.
139
+ #
140
+ def create_or_update(resource_group_name, managed_instance_name, parameters, custom_headers:nil)
141
+ response = create_or_update_async(resource_group_name, managed_instance_name, parameters, custom_headers:custom_headers).value!
142
+ response.body unless response.nil?
143
+ end
144
+
145
+ #
146
+ # @param resource_group_name [String] The name of the resource group that
147
+ # contains the resource. You can obtain this value from the Azure Resource
148
+ # Manager API or the portal.
149
+ # @param managed_instance_name [String] The name of the managed instance.
150
+ # @param parameters [ManagedServerSecurityAlertPolicy] The managed server
151
+ # security alert policy.
152
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
153
+ # will be added to the HTTP request.
154
+ #
155
+ # @return [Concurrent::Promise] promise which provides async access to http
156
+ # response.
157
+ #
158
+ def create_or_update_async(resource_group_name, managed_instance_name, parameters, custom_headers:nil)
159
+ # Send request
160
+ promise = begin_create_or_update_async(resource_group_name, managed_instance_name, parameters, custom_headers:custom_headers)
161
+
162
+ promise = promise.then do |response|
163
+ # Defining deserialization method.
164
+ deserialize_method = lambda do |parsed_response|
165
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedServerSecurityAlertPolicy.mapper()
166
+ parsed_response = @client.deserialize(result_mapper, parsed_response)
167
+ end
168
+
169
+ # Waiting for response.
170
+ @client.get_long_running_operation_result(response, deserialize_method)
171
+ end
172
+
173
+ promise
174
+ end
175
+
176
+ #
177
+ # Get the managed server's threat detection policies.
178
+ #
179
+ # @param resource_group_name [String] The name of the resource group that
180
+ # contains the resource. You can obtain this value from the Azure Resource
181
+ # Manager API or the portal.
182
+ # @param managed_instance_name [String] The name of the managed instance.
183
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
184
+ # will be added to the HTTP request.
185
+ #
186
+ # @return [Array<ManagedServerSecurityAlertPolicy>] operation results.
187
+ #
188
+ def list_by_instance(resource_group_name, managed_instance_name, custom_headers:nil)
189
+ first_page = list_by_instance_as_lazy(resource_group_name, managed_instance_name, custom_headers:custom_headers)
190
+ first_page.get_all_items
191
+ end
192
+
193
+ #
194
+ # Get the managed server's threat detection policies.
195
+ #
196
+ # @param resource_group_name [String] The name of the resource group that
197
+ # contains the resource. You can obtain this value from the Azure Resource
198
+ # Manager API or the portal.
199
+ # @param managed_instance_name [String] The name of the managed instance.
200
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
201
+ # will be added to the HTTP request.
202
+ #
203
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
204
+ #
205
+ def list_by_instance_with_http_info(resource_group_name, managed_instance_name, custom_headers:nil)
206
+ list_by_instance_async(resource_group_name, managed_instance_name, custom_headers:custom_headers).value!
207
+ end
208
+
209
+ #
210
+ # Get the managed server's threat detection policies.
211
+ #
212
+ # @param resource_group_name [String] The name of the resource group that
213
+ # contains the resource. You can obtain this value from the Azure Resource
214
+ # Manager API or the portal.
215
+ # @param managed_instance_name [String] The name of the managed instance.
216
+ # @param [Hash{String => String}] A hash of custom headers that will be added
217
+ # to the HTTP request.
218
+ #
219
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
220
+ #
221
+ def list_by_instance_async(resource_group_name, managed_instance_name, custom_headers:nil)
222
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
223
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
224
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
225
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
226
+
227
+
228
+ request_headers = {}
229
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
230
+
231
+ # Set Headers
232
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
233
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
234
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies'
235
+
236
+ request_url = @base_url || @client.base_url
237
+
238
+ options = {
239
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
240
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'subscriptionId' => @client.subscription_id},
241
+ query_params: {'api-version' => @client.api_version},
242
+ headers: request_headers.merge(custom_headers || {}),
243
+ base_url: request_url
244
+ }
245
+ promise = @client.make_request_async(:get, path_template, options)
246
+
247
+ promise = promise.then do |result|
248
+ http_response = result.response
249
+ status_code = http_response.status
250
+ response_content = http_response.body
251
+ unless status_code == 200
252
+ error_model = JSON.load(response_content)
253
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
254
+ end
255
+
256
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
257
+ # Deserialize Response
258
+ if status_code == 200
259
+ begin
260
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
261
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedServerSecurityAlertPolicyListResult.mapper()
262
+ result.body = @client.deserialize(result_mapper, parsed_response)
263
+ rescue Exception => e
264
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
265
+ end
266
+ end
267
+
268
+ result
269
+ end
270
+
271
+ promise.execute
272
+ end
273
+
274
+ #
275
+ # Creates or updates a threat detection policy.
276
+ #
277
+ # @param resource_group_name [String] The name of the resource group that
278
+ # contains the resource. You can obtain this value from the Azure Resource
279
+ # Manager API or the portal.
280
+ # @param managed_instance_name [String] The name of the managed instance.
281
+ # @param parameters [ManagedServerSecurityAlertPolicy] The managed server
282
+ # security alert policy.
283
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
284
+ # will be added to the HTTP request.
285
+ #
286
+ # @return [ManagedServerSecurityAlertPolicy] operation results.
287
+ #
288
+ def begin_create_or_update(resource_group_name, managed_instance_name, parameters, custom_headers:nil)
289
+ response = begin_create_or_update_async(resource_group_name, managed_instance_name, parameters, custom_headers:custom_headers).value!
290
+ response.body unless response.nil?
291
+ end
292
+
293
+ #
294
+ # Creates or updates a threat detection policy.
295
+ #
296
+ # @param resource_group_name [String] The name of the resource group that
297
+ # contains the resource. You can obtain this value from the Azure Resource
298
+ # Manager API or the portal.
299
+ # @param managed_instance_name [String] The name of the managed instance.
300
+ # @param parameters [ManagedServerSecurityAlertPolicy] The managed server
301
+ # security alert policy.
302
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
303
+ # will be added to the HTTP request.
304
+ #
305
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
306
+ #
307
+ def begin_create_or_update_with_http_info(resource_group_name, managed_instance_name, parameters, custom_headers:nil)
308
+ begin_create_or_update_async(resource_group_name, managed_instance_name, parameters, custom_headers:custom_headers).value!
309
+ end
310
+
311
+ #
312
+ # Creates or updates a threat detection policy.
313
+ #
314
+ # @param resource_group_name [String] The name of the resource group that
315
+ # contains the resource. You can obtain this value from the Azure Resource
316
+ # Manager API or the portal.
317
+ # @param managed_instance_name [String] The name of the managed instance.
318
+ # @param parameters [ManagedServerSecurityAlertPolicy] The managed server
319
+ # security alert policy.
320
+ # @param [Hash{String => String}] A hash of custom headers that will be added
321
+ # to the HTTP request.
322
+ #
323
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
324
+ #
325
+ def begin_create_or_update_async(resource_group_name, managed_instance_name, parameters, custom_headers:nil)
326
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
327
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
328
+ security_alert_policy_name = 'Default'
329
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
330
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
331
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
332
+
333
+
334
+ request_headers = {}
335
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
336
+
337
+ # Set Headers
338
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
339
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
340
+
341
+ # Serialize Request
342
+ request_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedServerSecurityAlertPolicy.mapper()
343
+ request_content = @client.serialize(request_mapper, parameters)
344
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
345
+
346
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/securityAlertPolicies/{securityAlertPolicyName}'
347
+
348
+ request_url = @base_url || @client.base_url
349
+
350
+ options = {
351
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
352
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'securityAlertPolicyName' => security_alert_policy_name,'subscriptionId' => @client.subscription_id},
353
+ query_params: {'api-version' => @client.api_version},
354
+ body: request_content,
355
+ headers: request_headers.merge(custom_headers || {}),
356
+ base_url: request_url
357
+ }
358
+ promise = @client.make_request_async(:put, path_template, options)
359
+
360
+ promise = promise.then do |result|
361
+ http_response = result.response
362
+ status_code = http_response.status
363
+ response_content = http_response.body
364
+ unless status_code == 200 || status_code == 202
365
+ error_model = JSON.load(response_content)
366
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
367
+ end
368
+
369
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
370
+ # Deserialize Response
371
+ if status_code == 200
372
+ begin
373
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
374
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedServerSecurityAlertPolicy.mapper()
375
+ result.body = @client.deserialize(result_mapper, parsed_response)
376
+ rescue Exception => e
377
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
378
+ end
379
+ end
380
+
381
+ result
382
+ end
383
+
384
+ promise.execute
385
+ end
386
+
387
+ #
388
+ # Get the managed server's threat detection policies.
389
+ #
390
+ # @param next_page_link [String] The NextLink from the previous successful call
391
+ # to List operation.
392
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
393
+ # will be added to the HTTP request.
394
+ #
395
+ # @return [ManagedServerSecurityAlertPolicyListResult] operation results.
396
+ #
397
+ def list_by_instance_next(next_page_link, custom_headers:nil)
398
+ response = list_by_instance_next_async(next_page_link, custom_headers:custom_headers).value!
399
+ response.body unless response.nil?
400
+ end
401
+
402
+ #
403
+ # Get the managed server's threat detection policies.
404
+ #
405
+ # @param next_page_link [String] The NextLink from the previous successful call
406
+ # to List operation.
407
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
408
+ # will be added to the HTTP request.
409
+ #
410
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
411
+ #
412
+ def list_by_instance_next_with_http_info(next_page_link, custom_headers:nil)
413
+ list_by_instance_next_async(next_page_link, custom_headers:custom_headers).value!
414
+ end
415
+
416
+ #
417
+ # Get the managed server's threat detection policies.
418
+ #
419
+ # @param next_page_link [String] The NextLink from the previous successful call
420
+ # to List operation.
421
+ # @param [Hash{String => String}] A hash of custom headers that will be added
422
+ # to the HTTP request.
423
+ #
424
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
425
+ #
426
+ def list_by_instance_next_async(next_page_link, custom_headers:nil)
427
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
428
+
429
+
430
+ request_headers = {}
431
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
432
+
433
+ # Set Headers
434
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
435
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
436
+ path_template = '{nextLink}'
437
+
438
+ request_url = @base_url || @client.base_url
439
+
440
+ options = {
441
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
442
+ skip_encoding_path_params: {'nextLink' => next_page_link},
443
+ headers: request_headers.merge(custom_headers || {}),
444
+ base_url: request_url
445
+ }
446
+ promise = @client.make_request_async(:get, path_template, options)
447
+
448
+ promise = promise.then do |result|
449
+ http_response = result.response
450
+ status_code = http_response.status
451
+ response_content = http_response.body
452
+ unless status_code == 200
453
+ error_model = JSON.load(response_content)
454
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
455
+ end
456
+
457
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
458
+ # Deserialize Response
459
+ if status_code == 200
460
+ begin
461
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
462
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedServerSecurityAlertPolicyListResult.mapper()
463
+ result.body = @client.deserialize(result_mapper, parsed_response)
464
+ rescue Exception => e
465
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
466
+ end
467
+ end
468
+
469
+ result
470
+ end
471
+
472
+ promise.execute
473
+ end
474
+
475
+ #
476
+ # Get the managed server's threat detection policies.
477
+ #
478
+ # @param resource_group_name [String] The name of the resource group that
479
+ # contains the resource. You can obtain this value from the Azure Resource
480
+ # Manager API or the portal.
481
+ # @param managed_instance_name [String] The name of the managed instance.
482
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
483
+ # will be added to the HTTP request.
484
+ #
485
+ # @return [ManagedServerSecurityAlertPolicyListResult] which provide lazy
486
+ # access to pages of the response.
487
+ #
488
+ def list_by_instance_as_lazy(resource_group_name, managed_instance_name, custom_headers:nil)
489
+ response = list_by_instance_async(resource_group_name, managed_instance_name, custom_headers:custom_headers).value!
490
+ unless response.nil?
491
+ page = response.body
492
+ page.next_method = Proc.new do |next_page_link|
493
+ list_by_instance_next_async(next_page_link, custom_headers:custom_headers)
494
+ end
495
+ page
496
+ end
497
+ end
498
+
499
+ end
500
+ end