azure_mgmt_sql 0.17.2 → 0.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,483 @@
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 ManagedDatabaseSecurityAlertPolicies
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the ManagedDatabaseSecurityAlertPolicies 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
+ # Gets a managed database's security alert 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 database_name [String] The name of the managed database for which the
35
+ # security alert policy is defined.
36
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
37
+ # will be added to the HTTP request.
38
+ #
39
+ # @return [ManagedDatabaseSecurityAlertPolicy] operation results.
40
+ #
41
+ def get(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
42
+ response = get_async(resource_group_name, managed_instance_name, database_name, custom_headers:custom_headers).value!
43
+ response.body unless response.nil?
44
+ end
45
+
46
+ #
47
+ # Gets a managed database's security alert policy.
48
+ #
49
+ # @param resource_group_name [String] The name of the resource group that
50
+ # contains the resource. You can obtain this value from the Azure Resource
51
+ # Manager API or the portal.
52
+ # @param managed_instance_name [String] The name of the managed instance.
53
+ # @param database_name [String] The name of the managed database for which the
54
+ # security alert policy is defined.
55
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
56
+ # will be added to the HTTP request.
57
+ #
58
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
59
+ #
60
+ def get_with_http_info(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
61
+ get_async(resource_group_name, managed_instance_name, database_name, custom_headers:custom_headers).value!
62
+ end
63
+
64
+ #
65
+ # Gets a managed database's security alert policy.
66
+ #
67
+ # @param resource_group_name [String] The name of the resource group that
68
+ # contains the resource. You can obtain this value from the Azure Resource
69
+ # Manager API or the portal.
70
+ # @param managed_instance_name [String] The name of the managed instance.
71
+ # @param database_name [String] The name of the managed database for which the
72
+ # security alert policy is defined.
73
+ # @param [Hash{String => String}] A hash of custom headers that will be added
74
+ # to the HTTP request.
75
+ #
76
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
77
+ #
78
+ def get_async(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
79
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
80
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
81
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
82
+ security_alert_policy_name = 'default'
83
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
84
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
85
+
86
+
87
+ request_headers = {}
88
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
89
+
90
+ # Set Headers
91
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
92
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
93
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}'
94
+
95
+ request_url = @base_url || @client.base_url
96
+
97
+ options = {
98
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
99
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'securityAlertPolicyName' => security_alert_policy_name,'subscriptionId' => @client.subscription_id},
100
+ query_params: {'api-version' => @client.api_version},
101
+ headers: request_headers.merge(custom_headers || {}),
102
+ base_url: request_url
103
+ }
104
+ promise = @client.make_request_async(:get, path_template, options)
105
+
106
+ promise = promise.then do |result|
107
+ http_response = result.response
108
+ status_code = http_response.status
109
+ response_content = http_response.body
110
+ unless status_code == 200
111
+ error_model = JSON.load(response_content)
112
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
113
+ end
114
+
115
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
116
+ # Deserialize Response
117
+ if status_code == 200
118
+ begin
119
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
120
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedDatabaseSecurityAlertPolicy.mapper()
121
+ result.body = @client.deserialize(result_mapper, parsed_response)
122
+ rescue Exception => e
123
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
124
+ end
125
+ end
126
+
127
+ result
128
+ end
129
+
130
+ promise.execute
131
+ end
132
+
133
+ #
134
+ # Creates or updates a database's security alert policy.
135
+ #
136
+ # @param resource_group_name [String] The name of the resource group that
137
+ # contains the resource. You can obtain this value from the Azure Resource
138
+ # Manager API or the portal.
139
+ # @param managed_instance_name [String] The name of the managed instance.
140
+ # @param database_name [String] The name of the managed database for which the
141
+ # security alert policy is defined.
142
+ # @param parameters [ManagedDatabaseSecurityAlertPolicy] The database security
143
+ # alert policy.
144
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
145
+ # will be added to the HTTP request.
146
+ #
147
+ # @return [ManagedDatabaseSecurityAlertPolicy] operation results.
148
+ #
149
+ def create_or_update(resource_group_name, managed_instance_name, database_name, parameters, custom_headers:nil)
150
+ response = create_or_update_async(resource_group_name, managed_instance_name, database_name, parameters, custom_headers:custom_headers).value!
151
+ response.body unless response.nil?
152
+ end
153
+
154
+ #
155
+ # Creates or updates a database's security alert policy.
156
+ #
157
+ # @param resource_group_name [String] The name of the resource group that
158
+ # contains the resource. You can obtain this value from the Azure Resource
159
+ # Manager API or the portal.
160
+ # @param managed_instance_name [String] The name of the managed instance.
161
+ # @param database_name [String] The name of the managed database for which the
162
+ # security alert policy is defined.
163
+ # @param parameters [ManagedDatabaseSecurityAlertPolicy] The database security
164
+ # alert policy.
165
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
166
+ # will be added to the HTTP request.
167
+ #
168
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
169
+ #
170
+ def create_or_update_with_http_info(resource_group_name, managed_instance_name, database_name, parameters, custom_headers:nil)
171
+ create_or_update_async(resource_group_name, managed_instance_name, database_name, parameters, custom_headers:custom_headers).value!
172
+ end
173
+
174
+ #
175
+ # Creates or updates a database's security alert policy.
176
+ #
177
+ # @param resource_group_name [String] The name of the resource group that
178
+ # contains the resource. You can obtain this value from the Azure Resource
179
+ # Manager API or the portal.
180
+ # @param managed_instance_name [String] The name of the managed instance.
181
+ # @param database_name [String] The name of the managed database for which the
182
+ # security alert policy is defined.
183
+ # @param parameters [ManagedDatabaseSecurityAlertPolicy] The database security
184
+ # alert policy.
185
+ # @param [Hash{String => String}] A hash of custom headers that will be added
186
+ # to the HTTP request.
187
+ #
188
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
189
+ #
190
+ def create_or_update_async(resource_group_name, managed_instance_name, database_name, parameters, custom_headers:nil)
191
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
192
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
193
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
194
+ security_alert_policy_name = 'default'
195
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
196
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
197
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
198
+
199
+
200
+ request_headers = {}
201
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
202
+
203
+ # Set Headers
204
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
205
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
206
+
207
+ # Serialize Request
208
+ request_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedDatabaseSecurityAlertPolicy.mapper()
209
+ request_content = @client.serialize(request_mapper, parameters)
210
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
211
+
212
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}'
213
+
214
+ request_url = @base_url || @client.base_url
215
+
216
+ options = {
217
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
218
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'securityAlertPolicyName' => security_alert_policy_name,'subscriptionId' => @client.subscription_id},
219
+ query_params: {'api-version' => @client.api_version},
220
+ body: request_content,
221
+ headers: request_headers.merge(custom_headers || {}),
222
+ base_url: request_url
223
+ }
224
+ promise = @client.make_request_async(:put, path_template, options)
225
+
226
+ promise = promise.then do |result|
227
+ http_response = result.response
228
+ status_code = http_response.status
229
+ response_content = http_response.body
230
+ unless status_code == 200 || status_code == 201
231
+ error_model = JSON.load(response_content)
232
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
233
+ end
234
+
235
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
236
+ # Deserialize Response
237
+ if status_code == 200
238
+ begin
239
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
240
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedDatabaseSecurityAlertPolicy.mapper()
241
+ result.body = @client.deserialize(result_mapper, parsed_response)
242
+ rescue Exception => e
243
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
244
+ end
245
+ end
246
+ # Deserialize Response
247
+ if status_code == 201
248
+ begin
249
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
250
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedDatabaseSecurityAlertPolicy.mapper()
251
+ result.body = @client.deserialize(result_mapper, parsed_response)
252
+ rescue Exception => e
253
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
254
+ end
255
+ end
256
+
257
+ result
258
+ end
259
+
260
+ promise.execute
261
+ end
262
+
263
+ #
264
+ # Gets a list of managed database's security alert policies.
265
+ #
266
+ # @param resource_group_name [String] The name of the resource group that
267
+ # contains the resource. You can obtain this value from the Azure Resource
268
+ # Manager API or the portal.
269
+ # @param managed_instance_name [String] The name of the managed instance.
270
+ # @param database_name [String] The name of the managed database for which the
271
+ # security alert policies are defined.
272
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
273
+ # will be added to the HTTP request.
274
+ #
275
+ # @return [Array<ManagedDatabaseSecurityAlertPolicy>] operation results.
276
+ #
277
+ def list_by_database(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
278
+ first_page = list_by_database_as_lazy(resource_group_name, managed_instance_name, database_name, custom_headers:custom_headers)
279
+ first_page.get_all_items
280
+ end
281
+
282
+ #
283
+ # Gets a list of managed database's security alert policies.
284
+ #
285
+ # @param resource_group_name [String] The name of the resource group that
286
+ # contains the resource. You can obtain this value from the Azure Resource
287
+ # Manager API or the portal.
288
+ # @param managed_instance_name [String] The name of the managed instance.
289
+ # @param database_name [String] The name of the managed database for which the
290
+ # security alert policies are defined.
291
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
292
+ # will be added to the HTTP request.
293
+ #
294
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
295
+ #
296
+ def list_by_database_with_http_info(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
297
+ list_by_database_async(resource_group_name, managed_instance_name, database_name, custom_headers:custom_headers).value!
298
+ end
299
+
300
+ #
301
+ # Gets a list of managed database's security alert policies.
302
+ #
303
+ # @param resource_group_name [String] The name of the resource group that
304
+ # contains the resource. You can obtain this value from the Azure Resource
305
+ # Manager API or the portal.
306
+ # @param managed_instance_name [String] The name of the managed instance.
307
+ # @param database_name [String] The name of the managed database for which the
308
+ # security alert policies are defined.
309
+ # @param [Hash{String => String}] A hash of custom headers that will be added
310
+ # to the HTTP request.
311
+ #
312
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
313
+ #
314
+ def list_by_database_async(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
315
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
316
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
317
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
318
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
319
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
320
+
321
+
322
+ request_headers = {}
323
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
324
+
325
+ # Set Headers
326
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
327
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
328
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/securityAlertPolicies'
329
+
330
+ request_url = @base_url || @client.base_url
331
+
332
+ options = {
333
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
334
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'subscriptionId' => @client.subscription_id},
335
+ query_params: {'api-version' => @client.api_version},
336
+ headers: request_headers.merge(custom_headers || {}),
337
+ base_url: request_url
338
+ }
339
+ promise = @client.make_request_async(:get, path_template, options)
340
+
341
+ promise = promise.then do |result|
342
+ http_response = result.response
343
+ status_code = http_response.status
344
+ response_content = http_response.body
345
+ unless status_code == 200
346
+ error_model = JSON.load(response_content)
347
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
348
+ end
349
+
350
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
351
+ # Deserialize Response
352
+ if status_code == 200
353
+ begin
354
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
355
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedDatabaseSecurityAlertPolicyListResult.mapper()
356
+ result.body = @client.deserialize(result_mapper, parsed_response)
357
+ rescue Exception => e
358
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
359
+ end
360
+ end
361
+
362
+ result
363
+ end
364
+
365
+ promise.execute
366
+ end
367
+
368
+ #
369
+ # Gets a list of managed database's security alert policies.
370
+ #
371
+ # @param next_page_link [String] The NextLink from the previous successful call
372
+ # to List operation.
373
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
374
+ # will be added to the HTTP request.
375
+ #
376
+ # @return [ManagedDatabaseSecurityAlertPolicyListResult] operation results.
377
+ #
378
+ def list_by_database_next(next_page_link, custom_headers:nil)
379
+ response = list_by_database_next_async(next_page_link, custom_headers:custom_headers).value!
380
+ response.body unless response.nil?
381
+ end
382
+
383
+ #
384
+ # Gets a list of managed database's security alert policies.
385
+ #
386
+ # @param next_page_link [String] The NextLink from the previous successful call
387
+ # to List operation.
388
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
389
+ # will be added to the HTTP request.
390
+ #
391
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
392
+ #
393
+ def list_by_database_next_with_http_info(next_page_link, custom_headers:nil)
394
+ list_by_database_next_async(next_page_link, custom_headers:custom_headers).value!
395
+ end
396
+
397
+ #
398
+ # Gets a list of managed database's security alert policies.
399
+ #
400
+ # @param next_page_link [String] The NextLink from the previous successful call
401
+ # to List operation.
402
+ # @param [Hash{String => String}] A hash of custom headers that will be added
403
+ # to the HTTP request.
404
+ #
405
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
406
+ #
407
+ def list_by_database_next_async(next_page_link, custom_headers:nil)
408
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
409
+
410
+
411
+ request_headers = {}
412
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
413
+
414
+ # Set Headers
415
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
416
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
417
+ path_template = '{nextLink}'
418
+
419
+ request_url = @base_url || @client.base_url
420
+
421
+ options = {
422
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
423
+ skip_encoding_path_params: {'nextLink' => next_page_link},
424
+ headers: request_headers.merge(custom_headers || {}),
425
+ base_url: request_url
426
+ }
427
+ promise = @client.make_request_async(:get, path_template, options)
428
+
429
+ promise = promise.then do |result|
430
+ http_response = result.response
431
+ status_code = http_response.status
432
+ response_content = http_response.body
433
+ unless status_code == 200
434
+ error_model = JSON.load(response_content)
435
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
436
+ end
437
+
438
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
439
+ # Deserialize Response
440
+ if status_code == 200
441
+ begin
442
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
443
+ result_mapper = Azure::SQL::Mgmt::V2017_03_01_preview::Models::ManagedDatabaseSecurityAlertPolicyListResult.mapper()
444
+ result.body = @client.deserialize(result_mapper, parsed_response)
445
+ rescue Exception => e
446
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
447
+ end
448
+ end
449
+
450
+ result
451
+ end
452
+
453
+ promise.execute
454
+ end
455
+
456
+ #
457
+ # Gets a list of managed database's security alert policies.
458
+ #
459
+ # @param resource_group_name [String] The name of the resource group that
460
+ # contains the resource. You can obtain this value from the Azure Resource
461
+ # Manager API or the portal.
462
+ # @param managed_instance_name [String] The name of the managed instance.
463
+ # @param database_name [String] The name of the managed database for which the
464
+ # security alert policies are defined.
465
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
466
+ # will be added to the HTTP request.
467
+ #
468
+ # @return [ManagedDatabaseSecurityAlertPolicyListResult] which provide lazy
469
+ # access to pages of the response.
470
+ #
471
+ def list_by_database_as_lazy(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
472
+ response = list_by_database_async(resource_group_name, managed_instance_name, database_name, custom_headers:custom_headers).value!
473
+ unless response.nil?
474
+ page = response.body
475
+ page.next_method = Proc.new do |next_page_link|
476
+ list_by_database_next_async(next_page_link, custom_headers:custom_headers)
477
+ end
478
+ page
479
+ end
480
+ end
481
+
482
+ end
483
+ end