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,400 @@
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_10_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 ManagedDatabaseVulnerabilityAssessmentRuleBaselines
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the ManagedDatabaseVulnerabilityAssessmentRuleBaselines 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 database's vulnerability assessment rule baseline.
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 database for which the
35
+ # vulnerability assessment rule baseline is defined.
36
+ # @param rule_id [String] The vulnerability assessment rule ID.
37
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
38
+ # the vulnerability assessment rule baseline (default implies a baseline on a
39
+ # database level rule and master for server level rule). Possible values
40
+ # include: 'master', 'default'
41
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
42
+ # will be added to the HTTP request.
43
+ #
44
+ # @return [DatabaseVulnerabilityAssessmentRuleBaseline] operation results.
45
+ #
46
+ def get(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:nil)
47
+ response = get_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:custom_headers).value!
48
+ response.body unless response.nil?
49
+ end
50
+
51
+ #
52
+ # Gets a database's vulnerability assessment rule baseline.
53
+ #
54
+ # @param resource_group_name [String] The name of the resource group that
55
+ # contains the resource. You can obtain this value from the Azure Resource
56
+ # Manager API or the portal.
57
+ # @param managed_instance_name [String] The name of the managed instance.
58
+ # @param database_name [String] The name of the database for which the
59
+ # vulnerability assessment rule baseline is defined.
60
+ # @param rule_id [String] The vulnerability assessment rule ID.
61
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
62
+ # the vulnerability assessment rule baseline (default implies a baseline on a
63
+ # database level rule and master for server level rule). Possible values
64
+ # include: 'master', 'default'
65
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
66
+ # will be added to the HTTP request.
67
+ #
68
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
69
+ #
70
+ def get_with_http_info(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:nil)
71
+ get_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:custom_headers).value!
72
+ end
73
+
74
+ #
75
+ # Gets a database's vulnerability assessment rule baseline.
76
+ #
77
+ # @param resource_group_name [String] The name of the resource group that
78
+ # contains the resource. You can obtain this value from the Azure Resource
79
+ # Manager API or the portal.
80
+ # @param managed_instance_name [String] The name of the managed instance.
81
+ # @param database_name [String] The name of the database for which the
82
+ # vulnerability assessment rule baseline is defined.
83
+ # @param rule_id [String] The vulnerability assessment rule ID.
84
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
85
+ # the vulnerability assessment rule baseline (default implies a baseline on a
86
+ # database level rule and master for server level rule). Possible values
87
+ # include: 'master', 'default'
88
+ # @param [Hash{String => String}] A hash of custom headers that will be added
89
+ # to the HTTP request.
90
+ #
91
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
92
+ #
93
+ def get_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:nil)
94
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
95
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
96
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
97
+ vulnerability_assessment_name = 'default'
98
+ fail ArgumentError, 'rule_id is nil' if rule_id.nil?
99
+ fail ArgumentError, 'baseline_name is nil' if baseline_name.nil?
100
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
101
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
102
+
103
+
104
+ request_headers = {}
105
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
106
+
107
+ # Set Headers
108
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
109
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
110
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}'
111
+
112
+ request_url = @base_url || @client.base_url
113
+
114
+ options = {
115
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
116
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'vulnerabilityAssessmentName' => vulnerability_assessment_name,'ruleId' => rule_id,'baselineName' => baseline_name,'subscriptionId' => @client.subscription_id},
117
+ query_params: {'api-version' => @client.api_version},
118
+ headers: request_headers.merge(custom_headers || {}),
119
+ base_url: request_url
120
+ }
121
+ promise = @client.make_request_async(:get, path_template, options)
122
+
123
+ promise = promise.then do |result|
124
+ http_response = result.response
125
+ status_code = http_response.status
126
+ response_content = http_response.body
127
+ unless status_code == 200
128
+ error_model = JSON.load(response_content)
129
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
130
+ end
131
+
132
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
133
+ # Deserialize Response
134
+ if status_code == 200
135
+ begin
136
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
137
+ result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::DatabaseVulnerabilityAssessmentRuleBaseline.mapper()
138
+ result.body = @client.deserialize(result_mapper, parsed_response)
139
+ rescue Exception => e
140
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
141
+ end
142
+ end
143
+
144
+ result
145
+ end
146
+
147
+ promise.execute
148
+ end
149
+
150
+ #
151
+ # Creates or updates a database's vulnerability assessment rule baseline.
152
+ #
153
+ # @param resource_group_name [String] The name of the resource group that
154
+ # contains the resource. You can obtain this value from the Azure Resource
155
+ # Manager API or the portal.
156
+ # @param managed_instance_name [String] The name of the managed instance.
157
+ # @param database_name [String] The name of the database for which the
158
+ # vulnerability assessment rule baseline is defined.
159
+ # @param rule_id [String] The vulnerability assessment rule ID.
160
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
161
+ # the vulnerability assessment rule baseline (default implies a baseline on a
162
+ # database level rule and master for server level rule). Possible values
163
+ # include: 'master', 'default'
164
+ # @param parameters [DatabaseVulnerabilityAssessmentRuleBaseline] The requested
165
+ # rule baseline resource.
166
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
167
+ # will be added to the HTTP request.
168
+ #
169
+ # @return [DatabaseVulnerabilityAssessmentRuleBaseline] operation results.
170
+ #
171
+ def create_or_update(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, parameters, custom_headers:nil)
172
+ response = create_or_update_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, parameters, custom_headers:custom_headers).value!
173
+ response.body unless response.nil?
174
+ end
175
+
176
+ #
177
+ # Creates or updates a database's vulnerability assessment rule baseline.
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 database_name [String] The name of the database for which the
184
+ # vulnerability assessment rule baseline is defined.
185
+ # @param rule_id [String] The vulnerability assessment rule ID.
186
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
187
+ # the vulnerability assessment rule baseline (default implies a baseline on a
188
+ # database level rule and master for server level rule). Possible values
189
+ # include: 'master', 'default'
190
+ # @param parameters [DatabaseVulnerabilityAssessmentRuleBaseline] The requested
191
+ # rule baseline resource.
192
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
193
+ # will be added to the HTTP request.
194
+ #
195
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
196
+ #
197
+ def create_or_update_with_http_info(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, parameters, custom_headers:nil)
198
+ create_or_update_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, parameters, custom_headers:custom_headers).value!
199
+ end
200
+
201
+ #
202
+ # Creates or updates a database's vulnerability assessment rule baseline.
203
+ #
204
+ # @param resource_group_name [String] The name of the resource group that
205
+ # contains the resource. You can obtain this value from the Azure Resource
206
+ # Manager API or the portal.
207
+ # @param managed_instance_name [String] The name of the managed instance.
208
+ # @param database_name [String] The name of the database for which the
209
+ # vulnerability assessment rule baseline is defined.
210
+ # @param rule_id [String] The vulnerability assessment rule ID.
211
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
212
+ # the vulnerability assessment rule baseline (default implies a baseline on a
213
+ # database level rule and master for server level rule). Possible values
214
+ # include: 'master', 'default'
215
+ # @param parameters [DatabaseVulnerabilityAssessmentRuleBaseline] The requested
216
+ # rule baseline resource.
217
+ # @param [Hash{String => String}] A hash of custom headers that will be added
218
+ # to the HTTP request.
219
+ #
220
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
221
+ #
222
+ def create_or_update_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, parameters, custom_headers:nil)
223
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
224
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
225
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
226
+ vulnerability_assessment_name = 'default'
227
+ fail ArgumentError, 'rule_id is nil' if rule_id.nil?
228
+ fail ArgumentError, 'baseline_name is nil' if baseline_name.nil?
229
+ fail ArgumentError, 'parameters is nil' if parameters.nil?
230
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
231
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
232
+
233
+
234
+ request_headers = {}
235
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
236
+
237
+ # Set Headers
238
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
239
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
240
+
241
+ # Serialize Request
242
+ request_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::DatabaseVulnerabilityAssessmentRuleBaseline.mapper()
243
+ request_content = @client.serialize(request_mapper, parameters)
244
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
245
+
246
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}'
247
+
248
+ request_url = @base_url || @client.base_url
249
+
250
+ options = {
251
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
252
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'vulnerabilityAssessmentName' => vulnerability_assessment_name,'ruleId' => rule_id,'baselineName' => baseline_name,'subscriptionId' => @client.subscription_id},
253
+ query_params: {'api-version' => @client.api_version},
254
+ body: request_content,
255
+ headers: request_headers.merge(custom_headers || {}),
256
+ base_url: request_url
257
+ }
258
+ promise = @client.make_request_async(:put, path_template, options)
259
+
260
+ promise = promise.then do |result|
261
+ http_response = result.response
262
+ status_code = http_response.status
263
+ response_content = http_response.body
264
+ unless status_code == 200
265
+ error_model = JSON.load(response_content)
266
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
267
+ end
268
+
269
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
270
+ # Deserialize Response
271
+ if status_code == 200
272
+ begin
273
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
274
+ result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::DatabaseVulnerabilityAssessmentRuleBaseline.mapper()
275
+ result.body = @client.deserialize(result_mapper, parsed_response)
276
+ rescue Exception => e
277
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
278
+ end
279
+ end
280
+
281
+ result
282
+ end
283
+
284
+ promise.execute
285
+ end
286
+
287
+ #
288
+ # Removes the database's vulnerability assessment rule baseline.
289
+ #
290
+ # @param resource_group_name [String] The name of the resource group that
291
+ # contains the resource. You can obtain this value from the Azure Resource
292
+ # Manager API or the portal.
293
+ # @param managed_instance_name [String] The name of the managed instance.
294
+ # @param database_name [String] The name of the database for which the
295
+ # vulnerability assessment rule baseline is defined.
296
+ # @param rule_id [String] The vulnerability assessment rule ID.
297
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
298
+ # the vulnerability assessment rule baseline (default implies a baseline on a
299
+ # database level rule and master for server level rule). Possible values
300
+ # include: 'master', 'default'
301
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
302
+ # will be added to the HTTP request.
303
+ #
304
+ #
305
+ def delete(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:nil)
306
+ response = delete_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:custom_headers).value!
307
+ nil
308
+ end
309
+
310
+ #
311
+ # Removes the database's vulnerability assessment rule baseline.
312
+ #
313
+ # @param resource_group_name [String] The name of the resource group that
314
+ # contains the resource. You can obtain this value from the Azure Resource
315
+ # Manager API or the portal.
316
+ # @param managed_instance_name [String] The name of the managed instance.
317
+ # @param database_name [String] The name of the database for which the
318
+ # vulnerability assessment rule baseline is defined.
319
+ # @param rule_id [String] The vulnerability assessment rule ID.
320
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
321
+ # the vulnerability assessment rule baseline (default implies a baseline on a
322
+ # database level rule and master for server level rule). Possible values
323
+ # include: 'master', 'default'
324
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
325
+ # will be added to the HTTP request.
326
+ #
327
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
328
+ #
329
+ def delete_with_http_info(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:nil)
330
+ delete_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:custom_headers).value!
331
+ end
332
+
333
+ #
334
+ # Removes the database's vulnerability assessment rule baseline.
335
+ #
336
+ # @param resource_group_name [String] The name of the resource group that
337
+ # contains the resource. You can obtain this value from the Azure Resource
338
+ # Manager API or the portal.
339
+ # @param managed_instance_name [String] The name of the managed instance.
340
+ # @param database_name [String] The name of the database for which the
341
+ # vulnerability assessment rule baseline is defined.
342
+ # @param rule_id [String] The vulnerability assessment rule ID.
343
+ # @param baseline_name [VulnerabilityAssessmentPolicyBaselineName] The name of
344
+ # the vulnerability assessment rule baseline (default implies a baseline on a
345
+ # database level rule and master for server level rule). Possible values
346
+ # include: 'master', 'default'
347
+ # @param [Hash{String => String}] A hash of custom headers that will be added
348
+ # to the HTTP request.
349
+ #
350
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
351
+ #
352
+ def delete_async(resource_group_name, managed_instance_name, database_name, rule_id, baseline_name, custom_headers:nil)
353
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
354
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
355
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
356
+ vulnerability_assessment_name = 'default'
357
+ fail ArgumentError, 'rule_id is nil' if rule_id.nil?
358
+ fail ArgumentError, 'baseline_name is nil' if baseline_name.nil?
359
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
360
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
361
+
362
+
363
+ request_headers = {}
364
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
365
+
366
+ # Set Headers
367
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
368
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
369
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/rules/{ruleId}/baselines/{baselineName}'
370
+
371
+ request_url = @base_url || @client.base_url
372
+
373
+ options = {
374
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
375
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'vulnerabilityAssessmentName' => vulnerability_assessment_name,'ruleId' => rule_id,'baselineName' => baseline_name,'subscriptionId' => @client.subscription_id},
376
+ query_params: {'api-version' => @client.api_version},
377
+ headers: request_headers.merge(custom_headers || {}),
378
+ base_url: request_url
379
+ }
380
+ promise = @client.make_request_async(:delete, path_template, options)
381
+
382
+ promise = promise.then do |result|
383
+ http_response = result.response
384
+ status_code = http_response.status
385
+ response_content = http_response.body
386
+ unless status_code == 200
387
+ error_model = JSON.load(response_content)
388
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
389
+ end
390
+
391
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
392
+
393
+ result
394
+ end
395
+
396
+ promise.execute
397
+ end
398
+
399
+ end
400
+ end
@@ -0,0 +1,621 @@
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_10_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 ManagedDatabaseVulnerabilityAssessmentScans
14
+ include MsRestAzure
15
+
16
+ #
17
+ # Creates and initializes a new instance of the ManagedDatabaseVulnerabilityAssessmentScans 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
+ # Lists the vulnerability assessment scans of a database.
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 database.
35
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
36
+ # will be added to the HTTP request.
37
+ #
38
+ # @return [Array<VulnerabilityAssessmentScanRecord>] operation results.
39
+ #
40
+ def list_by_database(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
41
+ first_page = list_by_database_as_lazy(resource_group_name, managed_instance_name, database_name, custom_headers:custom_headers)
42
+ first_page.get_all_items
43
+ end
44
+
45
+ #
46
+ # Lists the vulnerability assessment scans of a database.
47
+ #
48
+ # @param resource_group_name [String] The name of the resource group that
49
+ # contains the resource. You can obtain this value from the Azure Resource
50
+ # Manager API or the portal.
51
+ # @param managed_instance_name [String] The name of the managed instance.
52
+ # @param database_name [String] The name of the database.
53
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
54
+ # will be added to the HTTP request.
55
+ #
56
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
57
+ #
58
+ def list_by_database_with_http_info(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
59
+ list_by_database_async(resource_group_name, managed_instance_name, database_name, custom_headers:custom_headers).value!
60
+ end
61
+
62
+ #
63
+ # Lists the vulnerability assessment scans of a database.
64
+ #
65
+ # @param resource_group_name [String] The name of the resource group that
66
+ # contains the resource. You can obtain this value from the Azure Resource
67
+ # Manager API or the portal.
68
+ # @param managed_instance_name [String] The name of the managed instance.
69
+ # @param database_name [String] The name of the database.
70
+ # @param [Hash{String => String}] A hash of custom headers that will be added
71
+ # to the HTTP request.
72
+ #
73
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
74
+ #
75
+ def list_by_database_async(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
76
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
77
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
78
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
79
+ vulnerability_assessment_name = 'default'
80
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
81
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
82
+
83
+
84
+ request_headers = {}
85
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
86
+
87
+ # Set Headers
88
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
89
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
90
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans'
91
+
92
+ request_url = @base_url || @client.base_url
93
+
94
+ options = {
95
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
96
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'vulnerabilityAssessmentName' => vulnerability_assessment_name,'subscriptionId' => @client.subscription_id},
97
+ query_params: {'api-version' => @client.api_version},
98
+ headers: request_headers.merge(custom_headers || {}),
99
+ base_url: request_url
100
+ }
101
+ promise = @client.make_request_async(:get, path_template, options)
102
+
103
+ promise = promise.then do |result|
104
+ http_response = result.response
105
+ status_code = http_response.status
106
+ response_content = http_response.body
107
+ unless status_code == 200
108
+ error_model = JSON.load(response_content)
109
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
110
+ end
111
+
112
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
113
+ # Deserialize Response
114
+ if status_code == 200
115
+ begin
116
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
117
+ result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::VulnerabilityAssessmentScanRecordListResult.mapper()
118
+ result.body = @client.deserialize(result_mapper, parsed_response)
119
+ rescue Exception => e
120
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
121
+ end
122
+ end
123
+
124
+ result
125
+ end
126
+
127
+ promise.execute
128
+ end
129
+
130
+ #
131
+ # Gets a vulnerability assessment scan record of a database.
132
+ #
133
+ # @param resource_group_name [String] The name of the resource group that
134
+ # contains the resource. You can obtain this value from the Azure Resource
135
+ # Manager API or the portal.
136
+ # @param managed_instance_name [String] The name of the managed instance.
137
+ # @param database_name [String] The name of the database.
138
+ # @param scan_id [String] The vulnerability assessment scan Id of the scan to
139
+ # retrieve.
140
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
141
+ # will be added to the HTTP request.
142
+ #
143
+ # @return [VulnerabilityAssessmentScanRecord] operation results.
144
+ #
145
+ def get(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
146
+ response = get_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:custom_headers).value!
147
+ response.body unless response.nil?
148
+ end
149
+
150
+ #
151
+ # Gets a vulnerability assessment scan record of a database.
152
+ #
153
+ # @param resource_group_name [String] The name of the resource group that
154
+ # contains the resource. You can obtain this value from the Azure Resource
155
+ # Manager API or the portal.
156
+ # @param managed_instance_name [String] The name of the managed instance.
157
+ # @param database_name [String] The name of the database.
158
+ # @param scan_id [String] The vulnerability assessment scan Id of the scan to
159
+ # retrieve.
160
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
161
+ # will be added to the HTTP request.
162
+ #
163
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
164
+ #
165
+ def get_with_http_info(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
166
+ get_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:custom_headers).value!
167
+ end
168
+
169
+ #
170
+ # Gets a vulnerability assessment scan record of a database.
171
+ #
172
+ # @param resource_group_name [String] The name of the resource group that
173
+ # contains the resource. You can obtain this value from the Azure Resource
174
+ # Manager API or the portal.
175
+ # @param managed_instance_name [String] The name of the managed instance.
176
+ # @param database_name [String] The name of the database.
177
+ # @param scan_id [String] The vulnerability assessment scan Id of the scan to
178
+ # retrieve.
179
+ # @param [Hash{String => String}] A hash of custom headers that will be added
180
+ # to the HTTP request.
181
+ #
182
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
183
+ #
184
+ def get_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
185
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
186
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
187
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
188
+ vulnerability_assessment_name = 'default'
189
+ fail ArgumentError, 'scan_id is nil' if scan_id.nil?
190
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
191
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
192
+
193
+
194
+ request_headers = {}
195
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
196
+
197
+ # Set Headers
198
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
199
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
200
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}'
201
+
202
+ request_url = @base_url || @client.base_url
203
+
204
+ options = {
205
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
206
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'vulnerabilityAssessmentName' => vulnerability_assessment_name,'scanId' => scan_id,'subscriptionId' => @client.subscription_id},
207
+ query_params: {'api-version' => @client.api_version},
208
+ headers: request_headers.merge(custom_headers || {}),
209
+ base_url: request_url
210
+ }
211
+ promise = @client.make_request_async(:get, path_template, options)
212
+
213
+ promise = promise.then do |result|
214
+ http_response = result.response
215
+ status_code = http_response.status
216
+ response_content = http_response.body
217
+ unless status_code == 200
218
+ error_model = JSON.load(response_content)
219
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
220
+ end
221
+
222
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
223
+ # Deserialize Response
224
+ if status_code == 200
225
+ begin
226
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
227
+ result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::VulnerabilityAssessmentScanRecord.mapper()
228
+ result.body = @client.deserialize(result_mapper, parsed_response)
229
+ rescue Exception => e
230
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
231
+ end
232
+ end
233
+
234
+ result
235
+ end
236
+
237
+ promise.execute
238
+ end
239
+
240
+ #
241
+ # Executes a Vulnerability Assessment database scan.
242
+ #
243
+ # @param resource_group_name [String] The name of the resource group that
244
+ # contains the resource. You can obtain this value from the Azure Resource
245
+ # Manager API or the portal.
246
+ # @param managed_instance_name [String] The name of the managed instance.
247
+ # @param database_name [String] The name of the database.
248
+ # @param scan_id [String] The vulnerability assessment scan Id of the scan to
249
+ # retrieve.
250
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
251
+ # will be added to the HTTP request.
252
+ #
253
+ def initiate_scan(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
254
+ response = initiate_scan_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:custom_headers).value!
255
+ nil
256
+ end
257
+
258
+ #
259
+ # @param resource_group_name [String] The name of the resource group that
260
+ # contains the resource. You can obtain this value from the Azure Resource
261
+ # Manager API or the portal.
262
+ # @param managed_instance_name [String] The name of the managed instance.
263
+ # @param database_name [String] The name of the database.
264
+ # @param scan_id [String] The vulnerability assessment scan Id of the scan to
265
+ # retrieve.
266
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
267
+ # will be added to the HTTP request.
268
+ #
269
+ # @return [Concurrent::Promise] promise which provides async access to http
270
+ # response.
271
+ #
272
+ def initiate_scan_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
273
+ # Send request
274
+ promise = begin_initiate_scan_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:custom_headers)
275
+
276
+ promise = promise.then do |response|
277
+ # Defining deserialization method.
278
+ deserialize_method = lambda do |parsed_response|
279
+ end
280
+
281
+ # Waiting for response.
282
+ @client.get_long_running_operation_result(response, deserialize_method)
283
+ end
284
+
285
+ promise
286
+ end
287
+
288
+ #
289
+ # Convert an existing scan result to a human readable format. If already exists
290
+ # nothing happens
291
+ #
292
+ # @param resource_group_name [String] The name of the resource group that
293
+ # contains the resource. You can obtain this value from the Azure Resource
294
+ # Manager API or the portal.
295
+ # @param managed_instance_name [String] The name of the managed instance.
296
+ # @param database_name [String] The name of the scanned database.
297
+ # @param scan_id [String] The vulnerability assessment scan Id.
298
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
299
+ # will be added to the HTTP request.
300
+ #
301
+ # @return [DatabaseVulnerabilityAssessmentScansExport] operation results.
302
+ #
303
+ def export(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
304
+ response = export_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:custom_headers).value!
305
+ response.body unless response.nil?
306
+ end
307
+
308
+ #
309
+ # Convert an existing scan result to a human readable format. If already exists
310
+ # nothing happens
311
+ #
312
+ # @param resource_group_name [String] The name of the resource group that
313
+ # contains the resource. You can obtain this value from the Azure Resource
314
+ # Manager API or the portal.
315
+ # @param managed_instance_name [String] The name of the managed instance.
316
+ # @param database_name [String] The name of the scanned database.
317
+ # @param scan_id [String] The vulnerability assessment scan Id.
318
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
319
+ # will be added to the HTTP request.
320
+ #
321
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
322
+ #
323
+ def export_with_http_info(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
324
+ export_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:custom_headers).value!
325
+ end
326
+
327
+ #
328
+ # Convert an existing scan result to a human readable format. If already exists
329
+ # nothing happens
330
+ #
331
+ # @param resource_group_name [String] The name of the resource group that
332
+ # contains the resource. You can obtain this value from the Azure Resource
333
+ # Manager API or the portal.
334
+ # @param managed_instance_name [String] The name of the managed instance.
335
+ # @param database_name [String] The name of the scanned database.
336
+ # @param scan_id [String] The vulnerability assessment scan Id.
337
+ # @param [Hash{String => String}] A hash of custom headers that will be added
338
+ # to the HTTP request.
339
+ #
340
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
341
+ #
342
+ def export_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
343
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
344
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
345
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
346
+ vulnerability_assessment_name = 'default'
347
+ fail ArgumentError, 'scan_id is nil' if scan_id.nil?
348
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
349
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
350
+
351
+
352
+ request_headers = {}
353
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
354
+
355
+ # Set Headers
356
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
357
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
358
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/export'
359
+
360
+ request_url = @base_url || @client.base_url
361
+
362
+ options = {
363
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
364
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'vulnerabilityAssessmentName' => vulnerability_assessment_name,'scanId' => scan_id,'subscriptionId' => @client.subscription_id},
365
+ query_params: {'api-version' => @client.api_version},
366
+ headers: request_headers.merge(custom_headers || {}),
367
+ base_url: request_url
368
+ }
369
+ promise = @client.make_request_async(:post, path_template, options)
370
+
371
+ promise = promise.then do |result|
372
+ http_response = result.response
373
+ status_code = http_response.status
374
+ response_content = http_response.body
375
+ unless status_code == 200 || status_code == 201
376
+ error_model = JSON.load(response_content)
377
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
378
+ end
379
+
380
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
381
+ # Deserialize Response
382
+ if status_code == 200
383
+ begin
384
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
385
+ result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::DatabaseVulnerabilityAssessmentScansExport.mapper()
386
+ result.body = @client.deserialize(result_mapper, parsed_response)
387
+ rescue Exception => e
388
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
389
+ end
390
+ end
391
+ # Deserialize Response
392
+ if status_code == 201
393
+ begin
394
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
395
+ result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::DatabaseVulnerabilityAssessmentScansExport.mapper()
396
+ result.body = @client.deserialize(result_mapper, parsed_response)
397
+ rescue Exception => e
398
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
399
+ end
400
+ end
401
+
402
+ result
403
+ end
404
+
405
+ promise.execute
406
+ end
407
+
408
+ #
409
+ # Executes a Vulnerability Assessment database scan.
410
+ #
411
+ # @param resource_group_name [String] The name of the resource group that
412
+ # contains the resource. You can obtain this value from the Azure Resource
413
+ # Manager API or the portal.
414
+ # @param managed_instance_name [String] The name of the managed instance.
415
+ # @param database_name [String] The name of the database.
416
+ # @param scan_id [String] The vulnerability assessment scan Id of the scan to
417
+ # retrieve.
418
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
419
+ # will be added to the HTTP request.
420
+ #
421
+ #
422
+ def begin_initiate_scan(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
423
+ response = begin_initiate_scan_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:custom_headers).value!
424
+ nil
425
+ end
426
+
427
+ #
428
+ # Executes a Vulnerability Assessment database scan.
429
+ #
430
+ # @param resource_group_name [String] The name of the resource group that
431
+ # contains the resource. You can obtain this value from the Azure Resource
432
+ # Manager API or the portal.
433
+ # @param managed_instance_name [String] The name of the managed instance.
434
+ # @param database_name [String] The name of the database.
435
+ # @param scan_id [String] The vulnerability assessment scan Id of the scan to
436
+ # retrieve.
437
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
438
+ # will be added to the HTTP request.
439
+ #
440
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
441
+ #
442
+ def begin_initiate_scan_with_http_info(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
443
+ begin_initiate_scan_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:custom_headers).value!
444
+ end
445
+
446
+ #
447
+ # Executes a Vulnerability Assessment database scan.
448
+ #
449
+ # @param resource_group_name [String] The name of the resource group that
450
+ # contains the resource. You can obtain this value from the Azure Resource
451
+ # Manager API or the portal.
452
+ # @param managed_instance_name [String] The name of the managed instance.
453
+ # @param database_name [String] The name of the database.
454
+ # @param scan_id [String] The vulnerability assessment scan Id of the scan to
455
+ # retrieve.
456
+ # @param [Hash{String => String}] A hash of custom headers that will be added
457
+ # to the HTTP request.
458
+ #
459
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
460
+ #
461
+ def begin_initiate_scan_async(resource_group_name, managed_instance_name, database_name, scan_id, custom_headers:nil)
462
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
463
+ fail ArgumentError, 'managed_instance_name is nil' if managed_instance_name.nil?
464
+ fail ArgumentError, 'database_name is nil' if database_name.nil?
465
+ vulnerability_assessment_name = 'default'
466
+ fail ArgumentError, 'scan_id is nil' if scan_id.nil?
467
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
468
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
469
+
470
+
471
+ request_headers = {}
472
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
473
+
474
+ # Set Headers
475
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
476
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
477
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}/scans/{scanId}/initiateScan'
478
+
479
+ request_url = @base_url || @client.base_url
480
+
481
+ options = {
482
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
483
+ path_params: {'resourceGroupName' => resource_group_name,'managedInstanceName' => managed_instance_name,'databaseName' => database_name,'vulnerabilityAssessmentName' => vulnerability_assessment_name,'scanId' => scan_id,'subscriptionId' => @client.subscription_id},
484
+ query_params: {'api-version' => @client.api_version},
485
+ headers: request_headers.merge(custom_headers || {}),
486
+ base_url: request_url
487
+ }
488
+ promise = @client.make_request_async(:post, path_template, options)
489
+
490
+ promise = promise.then do |result|
491
+ http_response = result.response
492
+ status_code = http_response.status
493
+ response_content = http_response.body
494
+ unless status_code == 200 || status_code == 202
495
+ error_model = JSON.load(response_content)
496
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
497
+ end
498
+
499
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
500
+
501
+ result
502
+ end
503
+
504
+ promise.execute
505
+ end
506
+
507
+ #
508
+ # Lists the vulnerability assessment scans of a database.
509
+ #
510
+ # @param next_page_link [String] The NextLink from the previous successful call
511
+ # to List operation.
512
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
513
+ # will be added to the HTTP request.
514
+ #
515
+ # @return [VulnerabilityAssessmentScanRecordListResult] operation results.
516
+ #
517
+ def list_by_database_next(next_page_link, custom_headers:nil)
518
+ response = list_by_database_next_async(next_page_link, custom_headers:custom_headers).value!
519
+ response.body unless response.nil?
520
+ end
521
+
522
+ #
523
+ # Lists the vulnerability assessment scans of a database.
524
+ #
525
+ # @param next_page_link [String] The NextLink from the previous successful call
526
+ # to List operation.
527
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
528
+ # will be added to the HTTP request.
529
+ #
530
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
531
+ #
532
+ def list_by_database_next_with_http_info(next_page_link, custom_headers:nil)
533
+ list_by_database_next_async(next_page_link, custom_headers:custom_headers).value!
534
+ end
535
+
536
+ #
537
+ # Lists the vulnerability assessment scans of a database.
538
+ #
539
+ # @param next_page_link [String] The NextLink from the previous successful call
540
+ # to List operation.
541
+ # @param [Hash{String => String}] A hash of custom headers that will be added
542
+ # to the HTTP request.
543
+ #
544
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
545
+ #
546
+ def list_by_database_next_async(next_page_link, custom_headers:nil)
547
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
548
+
549
+
550
+ request_headers = {}
551
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
552
+
553
+ # Set Headers
554
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
555
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
556
+ path_template = '{nextLink}'
557
+
558
+ request_url = @base_url || @client.base_url
559
+
560
+ options = {
561
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
562
+ skip_encoding_path_params: {'nextLink' => next_page_link},
563
+ headers: request_headers.merge(custom_headers || {}),
564
+ base_url: request_url
565
+ }
566
+ promise = @client.make_request_async(:get, path_template, options)
567
+
568
+ promise = promise.then do |result|
569
+ http_response = result.response
570
+ status_code = http_response.status
571
+ response_content = http_response.body
572
+ unless status_code == 200
573
+ error_model = JSON.load(response_content)
574
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
575
+ end
576
+
577
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
578
+ # Deserialize Response
579
+ if status_code == 200
580
+ begin
581
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
582
+ result_mapper = Azure::SQL::Mgmt::V2017_10_01_preview::Models::VulnerabilityAssessmentScanRecordListResult.mapper()
583
+ result.body = @client.deserialize(result_mapper, parsed_response)
584
+ rescue Exception => e
585
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
586
+ end
587
+ end
588
+
589
+ result
590
+ end
591
+
592
+ promise.execute
593
+ end
594
+
595
+ #
596
+ # Lists the vulnerability assessment scans of a database.
597
+ #
598
+ # @param resource_group_name [String] The name of the resource group that
599
+ # contains the resource. You can obtain this value from the Azure Resource
600
+ # Manager API or the portal.
601
+ # @param managed_instance_name [String] The name of the managed instance.
602
+ # @param database_name [String] The name of the database.
603
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
604
+ # will be added to the HTTP request.
605
+ #
606
+ # @return [VulnerabilityAssessmentScanRecordListResult] which provide lazy
607
+ # access to pages of the response.
608
+ #
609
+ def list_by_database_as_lazy(resource_group_name, managed_instance_name, database_name, custom_headers:nil)
610
+ response = list_by_database_async(resource_group_name, managed_instance_name, database_name, custom_headers:custom_headers).value!
611
+ unless response.nil?
612
+ page = response.body
613
+ page.next_method = Proc.new do |next_page_link|
614
+ list_by_database_next_async(next_page_link, custom_headers:custom_headers)
615
+ end
616
+ page
617
+ end
618
+ end
619
+
620
+ end
621
+ end