azure_mgmt_security 0.17.2 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2015-06-01-preview/generated/azure_mgmt_security.rb +109 -0
  3. data/lib/2015-06-01-preview/generated/azure_mgmt_security/adaptive_application_controls.rb +313 -0
  4. data/lib/2015-06-01-preview/generated/azure_mgmt_security/adaptive_network_hardenings.rb +539 -0
  5. data/lib/2015-06-01-preview/generated/azure_mgmt_security/alerts.rb +1280 -0
  6. data/lib/2015-06-01-preview/generated/azure_mgmt_security/allowed_connections.rb +535 -0
  7. data/lib/2015-06-01-preview/generated/azure_mgmt_security/discovered_security_solutions.rb +532 -0
  8. data/lib/2015-06-01-preview/generated/azure_mgmt_security/external_security_solutions.rb +525 -0
  9. data/lib/2015-06-01-preview/generated/azure_mgmt_security/jit_network_access_policies.rb +1295 -0
  10. data/lib/2015-06-01-preview/generated/azure_mgmt_security/locations.rb +330 -0
  11. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/aad_connectivity_state.rb +17 -0
  12. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/aad_connectivity_state1.rb +48 -0
  13. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/aad_external_security_solution.rb +99 -0
  14. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/aad_solution_properties.rb +83 -0
  15. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/adaptive_network_hardening.rb +116 -0
  16. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/adaptive_network_hardening_enforce_request.rb +77 -0
  17. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/adaptive_network_hardenings_list.rb +99 -0
  18. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/alert.rb +375 -0
  19. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/alert_confidence_reason.rb +59 -0
  20. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/alert_entity.rb +66 -0
  21. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/alert_list.rb +99 -0
  22. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/allowed_connections_list.rb +100 -0
  23. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/allowed_connections_resource.rb +118 -0
  24. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/app_whitelisting_group.rb +191 -0
  25. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/app_whitelisting_groups.rb +56 -0
  26. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/app_whitelisting_issue_summary.rb +61 -0
  27. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/app_whitelisting_put_group_data.rb +86 -0
  28. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/asc_location.rb +73 -0
  29. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/asc_location_list.rb +100 -0
  30. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/ata_external_security_solution.rb +98 -0
  31. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/ata_solution_properties.rb +87 -0
  32. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/cef_external_security_solution.rb +98 -0
  33. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/cef_solution_properties.rb +109 -0
  34. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/connectable_resource.rb +91 -0
  35. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/connected_resource.rb +71 -0
  36. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/connected_workspace.rb +47 -0
  37. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/connection_type.rb +16 -0
  38. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/direction.rb +16 -0
  39. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/discovered_security_solution.rb +129 -0
  40. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/discovered_security_solution_list.rb +99 -0
  41. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/effective_network_security_groups.rb +66 -0
  42. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/external_security_solution.rb +98 -0
  43. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/external_security_solution_kind.rb +17 -0
  44. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/external_security_solution_kind1.rb +47 -0
  45. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/external_security_solution_list.rb +101 -0
  46. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/external_security_solution_properties.rb +88 -0
  47. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_policies_list.rb +99 -0
  48. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_policy.rb +149 -0
  49. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_policy_initiate_port.rb +70 -0
  50. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_policy_initiate_request.rb +57 -0
  51. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_policy_initiate_virtual_machine.rb +70 -0
  52. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_policy_virtual_machine.rb +81 -0
  53. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_port_rule.rb +103 -0
  54. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_request.rb +78 -0
  55. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_request_port.rb +128 -0
  56. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_request_virtual_machine.rb +69 -0
  57. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/kind.rb +46 -0
  58. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/location.rb +47 -0
  59. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/operation.rb +71 -0
  60. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/operation_display.rb +84 -0
  61. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/operation_list.rb +99 -0
  62. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/path_recommendation.rb +156 -0
  63. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/protocol.rb +17 -0
  64. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/publisher_info.rb +84 -0
  65. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/reported_severity.rb +18 -0
  66. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/resource.rb +80 -0
  67. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/rule.rb +111 -0
  68. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/security_family.rb +18 -0
  69. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/security_task.rb +123 -0
  70. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/security_task_list.rb +100 -0
  71. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/security_task_parameters.rb +67 -0
  72. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/status.rb +16 -0
  73. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/status_reason.rb +17 -0
  74. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/topology_list.rb +100 -0
  75. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/topology_resource.rb +118 -0
  76. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/topology_single_resource.rb +154 -0
  77. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/topology_single_resource_child.rb +49 -0
  78. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/topology_single_resource_parent.rb +49 -0
  79. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/transport_protocol.rb +16 -0
  80. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/user_recommendation.rb +58 -0
  81. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/vm_recommendation.rb +69 -0
  82. data/lib/2015-06-01-preview/generated/azure_mgmt_security/module_definition.rb +9 -0
  83. data/lib/2015-06-01-preview/generated/azure_mgmt_security/operations.rb +218 -0
  84. data/lib/2015-06-01-preview/generated/azure_mgmt_security/security_center.rb +175 -0
  85. data/lib/2015-06-01-preview/generated/azure_mgmt_security/tasks.rb +1055 -0
  86. data/lib/2015-06-01-preview/generated/azure_mgmt_security/topology.rb +530 -0
  87. data/lib/2017-08-01-preview/generated/azure_mgmt_security.rb +72 -13
  88. data/lib/2017-08-01-preview/generated/azure_mgmt_security/advanced_threat_protection.rb +222 -0
  89. data/lib/2017-08-01-preview/generated/azure_mgmt_security/auto_provisioning_settings.rb +12 -4
  90. data/lib/2017-08-01-preview/generated/azure_mgmt_security/compliances.rb +9 -3
  91. data/lib/2017-08-01-preview/generated/azure_mgmt_security/device_security_groups.rb +523 -0
  92. data/lib/2017-08-01-preview/generated/azure_mgmt_security/information_protection_policies.rb +447 -0
  93. data/lib/2017-08-01-preview/generated/azure_mgmt_security/io_tsecurity_solutions.rb +230 -0
  94. data/lib/2017-08-01-preview/generated/azure_mgmt_security/io_tsecurity_solutions_analytics.rb +227 -0
  95. data/lib/2017-08-01-preview/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_aggregated_alert.rb +224 -0
  96. data/lib/2017-08-01-preview/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_aggregated_alerts.rb +243 -0
  97. data/lib/2017-08-01-preview/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_recommendation.rb +133 -0
  98. data/lib/2017-08-01-preview/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_recommendations.rb +243 -0
  99. data/lib/2017-08-01-preview/generated/azure_mgmt_security/io_tsecurity_solutions_resource_group.rb +242 -0
  100. data/lib/2017-08-01-preview/generated/azure_mgmt_security/iot_security_solution.rb +459 -0
  101. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/advanced_threat_protection_setting.rb +74 -0
  102. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/allowlist_custom_alert_rule.rb +99 -0
  103. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/asc_location.rb +73 -0
  104. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/custom_alert_rule.rb +81 -0
  105. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/data_export_setting.rb +81 -0
  106. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/data_source.rb +15 -0
  107. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/denylist_custom_alert_rule.rb +99 -0
  108. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/device_security_group.rb +146 -0
  109. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/device_security_group_list.rb +100 -0
  110. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/export_data.rb +15 -0
  111. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/information_protection_keyword.rb +80 -0
  112. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/information_protection_policy.rb +116 -0
  113. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/information_protection_policy_list.rb +100 -0
  114. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/information_type.rb +114 -0
  115. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_aggregated_alert.rb +238 -0
  116. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_aggregated_alert_list.rb +100 -0
  117. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_aggregated_recommendation.rb +212 -0
  118. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_aggregated_recommendation_list.rb +101 -0
  119. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_alerted_device.rb +60 -0
  120. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_alerted_devices_list.rb +68 -0
  121. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_device_alert.rb +73 -0
  122. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_device_alerts_list.rb +67 -0
  123. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_device_recommendation.rb +73 -0
  124. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_device_recommendations_list.rb +68 -0
  125. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model.rb +149 -0
  126. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model_list.rb +68 -0
  127. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model_properties_devices_metrics_item.rb +61 -0
  128. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_solution_model.rb +248 -0
  129. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tsecurity_solutions_list.rb +99 -0
  130. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/io_tseverity_metrics.rb +68 -0
  131. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/list_custom_alert_rule.rb +82 -0
  132. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/recommendation_config_status.rb +16 -0
  133. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/recommendation_configuration_properties.rb +79 -0
  134. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/recommendation_type.rb +30 -0
  135. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/reported_severity.rb +18 -0
  136. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/security_contact.rb +1 -1
  137. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/security_solution_status.rb +16 -0
  138. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/sensitivity_label.rb +68 -0
  139. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/setting.rb +70 -0
  140. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/setting_kind.rb +16 -0
  141. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/setting_resource.rb +75 -0
  142. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/settings_list.rb +99 -0
  143. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/tags_resource.rb +55 -0
  144. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/threshold_custom_alert_rule.rb +92 -0
  145. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/time_window_custom_alert_rule.rb +115 -0
  146. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/update_iot_security_solution_data.rb +84 -0
  147. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/user_defined_resources_properties.rb +68 -0
  148. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/value_type.rb +16 -0
  149. data/lib/2017-08-01-preview/generated/azure_mgmt_security/pricings.rb +23 -7
  150. data/lib/2017-08-01-preview/generated/azure_mgmt_security/security_center.rb +200 -0
  151. data/lib/2017-08-01-preview/generated/azure_mgmt_security/security_contacts.rb +18 -6
  152. data/lib/2017-08-01-preview/generated/azure_mgmt_security/settings.rb +420 -0
  153. data/lib/2017-08-01-preview/generated/azure_mgmt_security/workspace_settings.rb +38 -16
  154. data/lib/2017-08-01/generated/azure_mgmt_security.rb +33 -0
  155. data/lib/2017-08-01/generated/azure_mgmt_security/compliance_results.rb +329 -0
  156. data/lib/2017-08-01/generated/azure_mgmt_security/models/asc_location.rb +73 -0
  157. data/lib/2017-08-01/generated/azure_mgmt_security/models/compliance_result.rb +76 -0
  158. data/lib/2017-08-01/generated/azure_mgmt_security/models/compliance_result_list.rb +99 -0
  159. data/lib/2017-08-01/generated/azure_mgmt_security/models/resource.rb +80 -0
  160. data/lib/2017-08-01/generated/azure_mgmt_security/models/resource_status.rb +18 -0
  161. data/lib/2017-08-01/generated/azure_mgmt_security/module_definition.rb +9 -0
  162. data/lib/2017-08-01/generated/azure_mgmt_security/security_center.rb +128 -0
  163. data/lib/2018-06-01/generated/azure_mgmt_security.rb +33 -0
  164. data/lib/2018-06-01/generated/azure_mgmt_security/models/asc_location.rb +73 -0
  165. data/lib/2018-06-01/generated/azure_mgmt_security/models/pricing.rb +90 -0
  166. data/lib/2018-06-01/generated/azure_mgmt_security/models/pricing_list.rb +55 -0
  167. data/lib/2018-06-01/generated/azure_mgmt_security/models/pricing_tier.rb +16 -0
  168. data/lib/2018-06-01/generated/azure_mgmt_security/models/resource.rb +80 -0
  169. data/lib/2018-06-01/generated/azure_mgmt_security/module_definition.rb +9 -0
  170. data/lib/2018-06-01/generated/azure_mgmt_security/pricings.rb +332 -0
  171. data/lib/{2017-08-01-preview/generated/azure_mgmt_security/security_management_client.rb → 2018-06-01/generated/azure_mgmt_security/security_center.rb} +5 -21
  172. data/lib/2019-01-01-preview/generated/azure_mgmt_security.rb +42 -0
  173. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/asc_location.rb +73 -0
  174. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/regulatory_compliance_assessment.rb +166 -0
  175. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/regulatory_compliance_assessment_list.rb +99 -0
  176. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/regulatory_compliance_control.rb +126 -0
  177. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/regulatory_compliance_control_list.rb +100 -0
  178. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/regulatory_compliance_standard.rb +127 -0
  179. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/regulatory_compliance_standard_list.rb +99 -0
  180. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/resource.rb +80 -0
  181. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/server_vulnerability_assessment.rb +76 -0
  182. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/server_vulnerability_assessments_list.rb +55 -0
  183. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/state.rb +18 -0
  184. data/lib/2019-01-01-preview/generated/azure_mgmt_security/module_definition.rb +9 -0
  185. data/lib/2019-01-01-preview/generated/azure_mgmt_security/regulatory_compliance_assessments.rb +359 -0
  186. data/lib/2019-01-01-preview/generated/azure_mgmt_security/regulatory_compliance_controls.rb +343 -0
  187. data/lib/2019-01-01-preview/generated/azure_mgmt_security/regulatory_compliance_standards.rb +320 -0
  188. data/lib/2019-01-01-preview/generated/azure_mgmt_security/security_center.rb +145 -0
  189. data/lib/2019-01-01-preview/generated/azure_mgmt_security/server_vulnerability_assessment_operations.rb +462 -0
  190. data/lib/2019-01-01/generated/azure_mgmt_security.rb +41 -0
  191. data/lib/2019-01-01/generated/azure_mgmt_security/alerts.rb +1280 -0
  192. data/lib/2019-01-01/generated/azure_mgmt_security/models/alert.rb +375 -0
  193. data/lib/2019-01-01/generated/azure_mgmt_security/models/alert_confidence_reason.rb +59 -0
  194. data/lib/2019-01-01/generated/azure_mgmt_security/models/alert_entity.rb +66 -0
  195. data/lib/2019-01-01/generated/azure_mgmt_security/models/alert_list.rb +99 -0
  196. data/lib/2019-01-01/generated/azure_mgmt_security/models/asc_location.rb +73 -0
  197. data/lib/2019-01-01/generated/azure_mgmt_security/models/data_export_setting.rb +81 -0
  198. data/lib/2019-01-01/generated/azure_mgmt_security/models/reported_severity.rb +18 -0
  199. data/lib/2019-01-01/generated/azure_mgmt_security/models/resource.rb +80 -0
  200. data/lib/2019-01-01/generated/azure_mgmt_security/models/setting.rb +70 -0
  201. data/lib/2019-01-01/generated/azure_mgmt_security/models/setting_kind.rb +16 -0
  202. data/lib/2019-01-01/generated/azure_mgmt_security/models/setting_resource.rb +75 -0
  203. data/lib/2019-01-01/generated/azure_mgmt_security/models/settings_list.rb +99 -0
  204. data/lib/2019-01-01/generated/azure_mgmt_security/module_definition.rb +9 -0
  205. data/lib/2019-01-01/generated/azure_mgmt_security/security_center.rb +139 -0
  206. data/lib/2019-01-01/generated/azure_mgmt_security/settings.rb +420 -0
  207. data/lib/2019-08-01/generated/azure_mgmt_security.rb +63 -0
  208. data/lib/2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions.rb +230 -0
  209. data/lib/2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_analytics.rb +227 -0
  210. data/lib/2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_aggregated_alert.rb +224 -0
  211. data/lib/2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_aggregated_alerts.rb +243 -0
  212. data/lib/2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_recommendation.rb +133 -0
  213. data/lib/2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_recommendations.rb +243 -0
  214. data/lib/2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_resource_group.rb +242 -0
  215. data/lib/2019-08-01/generated/azure_mgmt_security/iot_security_solution.rb +459 -0
  216. data/lib/2019-08-01/generated/azure_mgmt_security/models/asc_location.rb +73 -0
  217. data/lib/2019-08-01/generated/azure_mgmt_security/models/data_source.rb +15 -0
  218. data/lib/2019-08-01/generated/azure_mgmt_security/models/export_data.rb +15 -0
  219. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_alert.rb +238 -0
  220. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_alert_list.rb +100 -0
  221. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_recommendation.rb +212 -0
  222. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_recommendation_list.rb +101 -0
  223. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_alerted_device.rb +60 -0
  224. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_alerted_devices_list.rb +56 -0
  225. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_device_alert.rb +73 -0
  226. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_device_alerts_list.rb +67 -0
  227. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_device_recommendation.rb +73 -0
  228. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_device_recommendations_list.rb +56 -0
  229. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model.rb +149 -0
  230. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model_list.rb +68 -0
  231. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model_properties_devices_metrics_item.rb +61 -0
  232. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solution_model.rb +248 -0
  233. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solutions_list.rb +99 -0
  234. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tseverity_metrics.rb +68 -0
  235. data/lib/2019-08-01/generated/azure_mgmt_security/models/recommendation_config_status.rb +16 -0
  236. data/lib/2019-08-01/generated/azure_mgmt_security/models/recommendation_configuration_properties.rb +79 -0
  237. data/lib/2019-08-01/generated/azure_mgmt_security/models/recommendation_type.rb +30 -0
  238. data/lib/2019-08-01/generated/azure_mgmt_security/models/reported_severity.rb +18 -0
  239. data/lib/2019-08-01/generated/azure_mgmt_security/models/resource.rb +80 -0
  240. data/lib/2019-08-01/generated/azure_mgmt_security/models/security_solution_status.rb +16 -0
  241. data/lib/2019-08-01/generated/azure_mgmt_security/models/tags_resource.rb +55 -0
  242. data/lib/2019-08-01/generated/azure_mgmt_security/models/update_iot_security_solution_data.rb +84 -0
  243. data/lib/2019-08-01/generated/azure_mgmt_security/models/user_defined_resources_properties.rb +68 -0
  244. data/lib/2019-08-01/generated/azure_mgmt_security/module_definition.rb +9 -0
  245. data/lib/2019-08-01/generated/azure_mgmt_security/security_center.rb +164 -0
  246. data/lib/azure_mgmt_security.rb +6 -0
  247. data/lib/profiles/latest/modules/security_profile_module.rb +652 -40
  248. data/lib/version.rb +1 -1
  249. metadata +242 -6
@@ -0,0 +1,99 @@
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::Security::Mgmt::V2019_01_01
7
+ module Models
8
+ #
9
+ # Subscription settings list.
10
+ #
11
+ class SettingsList
12
+
13
+ include MsRestAzure
14
+
15
+ include MsRest::JSONable
16
+ # @return [Array<Setting>] The settings list.
17
+ attr_accessor :value
18
+
19
+ # @return [String] The URI to fetch the next page.
20
+ attr_accessor :next_link
21
+
22
+ # return [Proc] with next page method call.
23
+ attr_accessor :next_method
24
+
25
+ #
26
+ # Gets the rest of the items for the request, enabling auto-pagination.
27
+ #
28
+ # @return [Array<Setting>] operation results.
29
+ #
30
+ def get_all_items
31
+ items = @value
32
+ page = self
33
+ while page.next_link != nil && !page.next_link.strip.empty? do
34
+ page = page.get_next_page
35
+ items.concat(page.value)
36
+ end
37
+ items
38
+ end
39
+
40
+ #
41
+ # Gets the next page of results.
42
+ #
43
+ # @return [SettingsList] with next page content.
44
+ #
45
+ def get_next_page
46
+ response = @next_method.call(@next_link).value! unless @next_method.nil?
47
+ unless response.nil?
48
+ @next_link = response.body.next_link
49
+ @value = response.body.value
50
+ self
51
+ end
52
+ end
53
+
54
+ #
55
+ # Mapper for SettingsList class as Ruby Hash.
56
+ # This will be used for serialization/deserialization.
57
+ #
58
+ def self.mapper()
59
+ {
60
+ client_side_validation: true,
61
+ required: false,
62
+ serialized_name: 'SettingsList',
63
+ type: {
64
+ name: 'Composite',
65
+ class_name: 'SettingsList',
66
+ model_properties: {
67
+ value: {
68
+ client_side_validation: true,
69
+ required: false,
70
+ serialized_name: 'value',
71
+ type: {
72
+ name: 'Sequence',
73
+ element: {
74
+ client_side_validation: true,
75
+ required: false,
76
+ serialized_name: 'SettingElementType',
77
+ type: {
78
+ name: 'Composite',
79
+ class_name: 'Setting'
80
+ }
81
+ }
82
+ }
83
+ },
84
+ next_link: {
85
+ client_side_validation: true,
86
+ required: false,
87
+ read_only: true,
88
+ serialized_name: 'nextLink',
89
+ type: {
90
+ name: 'String'
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,9 @@
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 end
7
+ module Azure::Security end
8
+ module Azure::Security::Mgmt end
9
+ module Azure::Security::Mgmt::V2019_01_01 end
@@ -0,0 +1,139 @@
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::Security::Mgmt::V2019_01_01
7
+ #
8
+ # A service client - single point of access to the REST API.
9
+ #
10
+ class SecurityCenter < MsRestAzure::AzureServiceClient
11
+ include MsRestAzure
12
+ include MsRestAzure::Serialization
13
+
14
+ # @return [String] the base URI of the service.
15
+ attr_accessor :base_url
16
+
17
+ # @return Credentials needed for the client to connect to Azure.
18
+ attr_reader :credentials
19
+
20
+ # @return [String] The location where ASC stores the data of the
21
+ # subscription. can be retrieved from Get locations
22
+ attr_accessor :asc_location
23
+
24
+ # @return [String] Azure subscription ID
25
+ attr_accessor :subscription_id
26
+
27
+ # @return [String] API version for the operation
28
+ attr_reader :api_version
29
+
30
+ # @return [String] The preferred language for the response.
31
+ attr_accessor :accept_language
32
+
33
+ # @return [Integer] The retry timeout in seconds for Long Running
34
+ # Operations. Default value is 30.
35
+ attr_accessor :long_running_operation_retry_timeout
36
+
37
+ # @return [Boolean] Whether a unique x-ms-client-request-id should be
38
+ # generated. When set to true a unique x-ms-client-request-id value is
39
+ # generated and included in each request. Default is true.
40
+ attr_accessor :generate_client_request_id
41
+
42
+ # @return [Alerts] alerts
43
+ attr_reader :alerts
44
+
45
+ # @return [Settings] settings
46
+ attr_reader :settings
47
+
48
+ #
49
+ # Creates initializes a new instance of the SecurityCenter class.
50
+ # @param credentials [MsRest::ServiceClientCredentials] credentials to authorize HTTP requests made by the service client.
51
+ # @param base_url [String] the base URI of the service.
52
+ # @param options [Array] filters to be applied to the HTTP requests.
53
+ #
54
+ def initialize(credentials = nil, base_url = nil, options = nil)
55
+ super(credentials, options)
56
+ @base_url = base_url || 'https://management.azure.com'
57
+
58
+ fail ArgumentError, 'invalid type of credentials input parameter' unless credentials.is_a?(MsRest::ServiceClientCredentials) unless credentials.nil?
59
+ @credentials = credentials
60
+
61
+ @alerts = Alerts.new(self)
62
+ @settings = Settings.new(self)
63
+ @api_version = '2019-01-01'
64
+ @accept_language = 'en-US'
65
+ @long_running_operation_retry_timeout = 30
66
+ @generate_client_request_id = true
67
+ add_telemetry
68
+ end
69
+
70
+ #
71
+ # Makes a request and returns the body of the response.
72
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
73
+ # @param path [String] the path, relative to {base_url}.
74
+ # @param options [Hash{String=>String}] specifying any request options like :body.
75
+ # @return [Hash{String=>String}] containing the body of the response.
76
+ # Example:
77
+ #
78
+ # request_content = "{'location':'westus','tags':{'tag1':'val1','tag2':'val2'}}"
79
+ # path = "/path"
80
+ # options = {
81
+ # body: request_content,
82
+ # query_params: {'api-version' => '2016-02-01'}
83
+ # }
84
+ # result = @client.make_request(:put, path, options)
85
+ #
86
+ def make_request(method, path, options = {})
87
+ result = make_request_with_http_info(method, path, options)
88
+ result.body unless result.nil?
89
+ end
90
+
91
+ #
92
+ # Makes a request and returns the operation response.
93
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
94
+ # @param path [String] the path, relative to {base_url}.
95
+ # @param options [Hash{String=>String}] specifying any request options like :body.
96
+ # @return [MsRestAzure::AzureOperationResponse] Operation response containing the request, response and status.
97
+ #
98
+ def make_request_with_http_info(method, path, options = {})
99
+ result = make_request_async(method, path, options).value!
100
+ result.body = result.response.body.to_s.empty? ? nil : JSON.load(result.response.body)
101
+ result
102
+ end
103
+
104
+ #
105
+ # Makes a request asynchronously.
106
+ # @param method [Symbol] with any of the following values :get, :put, :post, :patch, :delete.
107
+ # @param path [String] the path, relative to {base_url}.
108
+ # @param options [Hash{String=>String}] specifying any request options like :body.
109
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
110
+ #
111
+ def make_request_async(method, path, options = {})
112
+ fail ArgumentError, 'method is nil' if method.nil?
113
+ fail ArgumentError, 'path is nil' if path.nil?
114
+
115
+ request_url = options[:base_url] || @base_url
116
+ if(!options[:headers].nil? && !options[:headers]['Content-Type'].nil?)
117
+ @request_headers['Content-Type'] = options[:headers]['Content-Type']
118
+ end
119
+
120
+ request_headers = @request_headers
121
+ request_headers.merge!({'accept-language' => @accept_language}) unless @accept_language.nil?
122
+ options.merge!({headers: request_headers.merge(options[:headers] || {})})
123
+ options.merge!({credentials: @credentials}) unless @credentials.nil?
124
+
125
+ super(request_url, method, path, options)
126
+ end
127
+
128
+
129
+ private
130
+ #
131
+ # Adds telemetry information.
132
+ #
133
+ def add_telemetry
134
+ sdk_information = 'azure_mgmt_security'
135
+ sdk_information = "#{sdk_information}/0.18.0"
136
+ add_user_agent_information(sdk_information)
137
+ end
138
+ end
139
+ end
@@ -0,0 +1,420 @@
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::Security::Mgmt::V2019_01_01
7
+ #
8
+ # API spec for Microsoft.Security (Azure Security Center) resource provider
9
+ #
10
+ class Settings
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the Settings class.
15
+ # @param client service class for accessing basic functionality.
16
+ #
17
+ def initialize(client)
18
+ @client = client
19
+ end
20
+
21
+ # @return [SecurityCenter] reference to the SecurityCenter
22
+ attr_reader :client
23
+
24
+ #
25
+ # Settings about different configurations in security center
26
+ #
27
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
28
+ # will be added to the HTTP request.
29
+ #
30
+ # @return [Array<Setting>] operation results.
31
+ #
32
+ def list(custom_headers:nil)
33
+ first_page = list_as_lazy(custom_headers:custom_headers)
34
+ first_page.get_all_items
35
+ end
36
+
37
+ #
38
+ # Settings about different configurations in security center
39
+ #
40
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
41
+ # will be added to the HTTP request.
42
+ #
43
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
44
+ #
45
+ def list_with_http_info(custom_headers:nil)
46
+ list_async(custom_headers:custom_headers).value!
47
+ end
48
+
49
+ #
50
+ # Settings about different configurations in security center
51
+ #
52
+ # @param [Hash{String => String}] A hash of custom headers that will be added
53
+ # to the HTTP request.
54
+ #
55
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
56
+ #
57
+ def list_async(custom_headers:nil)
58
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
59
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
60
+ fail ArgumentError, "'@client.subscription_id' should satisfy the constraint - 'Pattern': '^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$'" if !@client.subscription_id.nil? && @client.subscription_id.match(Regexp.new('^^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$$')).nil?
61
+
62
+
63
+ request_headers = {}
64
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
65
+
66
+ # Set Headers
67
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
68
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
69
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Security/settings'
70
+
71
+ request_url = @base_url || @client.base_url
72
+
73
+ options = {
74
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
75
+ path_params: {'subscriptionId' => @client.subscription_id},
76
+ query_params: {'api-version' => @client.api_version},
77
+ headers: request_headers.merge(custom_headers || {}),
78
+ base_url: request_url
79
+ }
80
+ promise = @client.make_request_async(:get, path_template, options)
81
+
82
+ promise = promise.then do |result|
83
+ http_response = result.response
84
+ status_code = http_response.status
85
+ response_content = http_response.body
86
+ unless status_code == 200
87
+ error_model = JSON.load(response_content)
88
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
89
+ end
90
+
91
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
92
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
93
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
94
+ # Deserialize Response
95
+ if status_code == 200
96
+ begin
97
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
98
+ result_mapper = Azure::Security::Mgmt::V2019_01_01::Models::SettingsList.mapper()
99
+ result.body = @client.deserialize(result_mapper, parsed_response)
100
+ rescue Exception => e
101
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
102
+ end
103
+ end
104
+
105
+ result
106
+ end
107
+
108
+ promise.execute
109
+ end
110
+
111
+ #
112
+ # Settings of different configurations in security center
113
+ #
114
+ # @param setting_name [Enum] Name of setting: (MCAS/WDATP). Possible values
115
+ # include: 'MCAS', 'WDATP'
116
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
117
+ # will be added to the HTTP request.
118
+ #
119
+ # @return [Setting] operation results.
120
+ #
121
+ def get(setting_name, custom_headers:nil)
122
+ response = get_async(setting_name, custom_headers:custom_headers).value!
123
+ response.body unless response.nil?
124
+ end
125
+
126
+ #
127
+ # Settings of different configurations in security center
128
+ #
129
+ # @param setting_name [Enum] Name of setting: (MCAS/WDATP). Possible values
130
+ # include: 'MCAS', 'WDATP'
131
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
132
+ # will be added to the HTTP request.
133
+ #
134
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
135
+ #
136
+ def get_with_http_info(setting_name, custom_headers:nil)
137
+ get_async(setting_name, custom_headers:custom_headers).value!
138
+ end
139
+
140
+ #
141
+ # Settings of different configurations in security center
142
+ #
143
+ # @param setting_name [Enum] Name of setting: (MCAS/WDATP). Possible values
144
+ # include: 'MCAS', 'WDATP'
145
+ # @param [Hash{String => String}] A hash of custom headers that will be added
146
+ # to the HTTP request.
147
+ #
148
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
149
+ #
150
+ def get_async(setting_name, custom_headers:nil)
151
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
152
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
153
+ fail ArgumentError, "'@client.subscription_id' should satisfy the constraint - 'Pattern': '^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$'" if !@client.subscription_id.nil? && @client.subscription_id.match(Regexp.new('^^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$$')).nil?
154
+ fail ArgumentError, 'setting_name is nil' if setting_name.nil?
155
+
156
+
157
+ request_headers = {}
158
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
159
+
160
+ # Set Headers
161
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
162
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
163
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}'
164
+
165
+ request_url = @base_url || @client.base_url
166
+
167
+ options = {
168
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
169
+ path_params: {'subscriptionId' => @client.subscription_id,'settingName' => setting_name},
170
+ query_params: {'api-version' => @client.api_version},
171
+ headers: request_headers.merge(custom_headers || {}),
172
+ base_url: request_url
173
+ }
174
+ promise = @client.make_request_async(:get, path_template, options)
175
+
176
+ promise = promise.then do |result|
177
+ http_response = result.response
178
+ status_code = http_response.status
179
+ response_content = http_response.body
180
+ unless status_code == 200
181
+ error_model = JSON.load(response_content)
182
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
183
+ end
184
+
185
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
186
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
187
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
188
+ # Deserialize Response
189
+ if status_code == 200
190
+ begin
191
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
192
+ result_mapper = Azure::Security::Mgmt::V2019_01_01::Models::Setting.mapper()
193
+ result.body = @client.deserialize(result_mapper, parsed_response)
194
+ rescue Exception => e
195
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
196
+ end
197
+ end
198
+
199
+ result
200
+ end
201
+
202
+ promise.execute
203
+ end
204
+
205
+ #
206
+ # updating settings about different configurations in security center
207
+ #
208
+ # @param setting_name [Enum] Name of setting: (MCAS/WDATP). Possible values
209
+ # include: 'MCAS', 'WDATP'
210
+ # @param setting [Setting] Setting object
211
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
212
+ # will be added to the HTTP request.
213
+ #
214
+ # @return [Setting] operation results.
215
+ #
216
+ def update(setting_name, setting, custom_headers:nil)
217
+ response = update_async(setting_name, setting, custom_headers:custom_headers).value!
218
+ response.body unless response.nil?
219
+ end
220
+
221
+ #
222
+ # updating settings about different configurations in security center
223
+ #
224
+ # @param setting_name [Enum] Name of setting: (MCAS/WDATP). Possible values
225
+ # include: 'MCAS', 'WDATP'
226
+ # @param setting [Setting] Setting object
227
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
228
+ # will be added to the HTTP request.
229
+ #
230
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
231
+ #
232
+ def update_with_http_info(setting_name, setting, custom_headers:nil)
233
+ update_async(setting_name, setting, custom_headers:custom_headers).value!
234
+ end
235
+
236
+ #
237
+ # updating settings about different configurations in security center
238
+ #
239
+ # @param setting_name [Enum] Name of setting: (MCAS/WDATP). Possible values
240
+ # include: 'MCAS', 'WDATP'
241
+ # @param setting [Setting] Setting object
242
+ # @param [Hash{String => String}] A hash of custom headers that will be added
243
+ # to the HTTP request.
244
+ #
245
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
246
+ #
247
+ def update_async(setting_name, setting, custom_headers:nil)
248
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
249
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
250
+ fail ArgumentError, "'@client.subscription_id' should satisfy the constraint - 'Pattern': '^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$'" if !@client.subscription_id.nil? && @client.subscription_id.match(Regexp.new('^^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$$')).nil?
251
+ fail ArgumentError, 'setting_name is nil' if setting_name.nil?
252
+ fail ArgumentError, 'setting is nil' if setting.nil?
253
+
254
+
255
+ request_headers = {}
256
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
257
+
258
+ # Set Headers
259
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
260
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
261
+
262
+ # Serialize Request
263
+ request_mapper = Azure::Security::Mgmt::V2019_01_01::Models::Setting.mapper()
264
+ request_content = @client.serialize(request_mapper, setting)
265
+ request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil
266
+
267
+ path_template = 'subscriptions/{subscriptionId}/providers/Microsoft.Security/settings/{settingName}'
268
+
269
+ request_url = @base_url || @client.base_url
270
+
271
+ options = {
272
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
273
+ path_params: {'subscriptionId' => @client.subscription_id,'settingName' => setting_name},
274
+ query_params: {'api-version' => @client.api_version},
275
+ body: request_content,
276
+ headers: request_headers.merge(custom_headers || {}),
277
+ base_url: request_url
278
+ }
279
+ promise = @client.make_request_async(:put, path_template, options)
280
+
281
+ promise = promise.then do |result|
282
+ http_response = result.response
283
+ status_code = http_response.status
284
+ response_content = http_response.body
285
+ unless status_code == 200
286
+ error_model = JSON.load(response_content)
287
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
288
+ end
289
+
290
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
291
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
292
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
293
+ # Deserialize Response
294
+ if status_code == 200
295
+ begin
296
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
297
+ result_mapper = Azure::Security::Mgmt::V2019_01_01::Models::Setting.mapper()
298
+ result.body = @client.deserialize(result_mapper, parsed_response)
299
+ rescue Exception => e
300
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
301
+ end
302
+ end
303
+
304
+ result
305
+ end
306
+
307
+ promise.execute
308
+ end
309
+
310
+ #
311
+ # Settings about different configurations in security center
312
+ #
313
+ # @param next_page_link [String] The NextLink from the previous successful call
314
+ # to List operation.
315
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
316
+ # will be added to the HTTP request.
317
+ #
318
+ # @return [SettingsList] operation results.
319
+ #
320
+ def list_next(next_page_link, custom_headers:nil)
321
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
322
+ response.body unless response.nil?
323
+ end
324
+
325
+ #
326
+ # Settings about different configurations in security center
327
+ #
328
+ # @param next_page_link [String] The NextLink from the previous successful call
329
+ # to List operation.
330
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
331
+ # will be added to the HTTP request.
332
+ #
333
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
334
+ #
335
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
336
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
337
+ end
338
+
339
+ #
340
+ # Settings about different configurations in security center
341
+ #
342
+ # @param next_page_link [String] The NextLink from the previous successful call
343
+ # to List operation.
344
+ # @param [Hash{String => String}] A hash of custom headers that will be added
345
+ # to the HTTP request.
346
+ #
347
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
348
+ #
349
+ def list_next_async(next_page_link, custom_headers:nil)
350
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
351
+
352
+
353
+ request_headers = {}
354
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
355
+
356
+ # Set Headers
357
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
358
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
359
+ path_template = '{nextLink}'
360
+
361
+ request_url = @base_url || @client.base_url
362
+
363
+ options = {
364
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
365
+ skip_encoding_path_params: {'nextLink' => next_page_link},
366
+ headers: request_headers.merge(custom_headers || {}),
367
+ base_url: request_url
368
+ }
369
+ promise = @client.make_request_async(:get, 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
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
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
382
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
383
+ # Deserialize Response
384
+ if status_code == 200
385
+ begin
386
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
387
+ result_mapper = Azure::Security::Mgmt::V2019_01_01::Models::SettingsList.mapper()
388
+ result.body = @client.deserialize(result_mapper, parsed_response)
389
+ rescue Exception => e
390
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
391
+ end
392
+ end
393
+
394
+ result
395
+ end
396
+
397
+ promise.execute
398
+ end
399
+
400
+ #
401
+ # Settings about different configurations in security center
402
+ #
403
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
404
+ # will be added to the HTTP request.
405
+ #
406
+ # @return [SettingsList] which provide lazy access to pages of the response.
407
+ #
408
+ def list_as_lazy(custom_headers:nil)
409
+ response = list_async(custom_headers:custom_headers).value!
410
+ unless response.nil?
411
+ page = response.body
412
+ page.next_method = Proc.new do |next_page_link|
413
+ list_next_async(next_page_link, custom_headers:custom_headers)
414
+ end
415
+ page
416
+ end
417
+ end
418
+
419
+ end
420
+ end