azure_mgmt_security 0.18.2 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. checksums.yaml +4 -4
  2. data/lib/2015-06-01-preview/generated/azure_mgmt_security.rb +34 -29
  3. data/lib/2015-06-01-preview/generated/azure_mgmt_security/adaptive_application_controls.rb +81 -0
  4. data/lib/2015-06-01-preview/generated/azure_mgmt_security/alerts.rb +186 -28
  5. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/app_whitelisting_group.rb +13 -1
  6. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/app_whitelisting_put_group_data.rb +17 -1
  7. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  8. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/etag.rb +48 -0
  9. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_policy_initiate_request.rb +11 -0
  10. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/jit_network_access_request.rb +11 -0
  11. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/protection_mode.rb +80 -0
  12. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/tags.rb +55 -0
  13. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  14. data/lib/2015-06-01-preview/generated/azure_mgmt_security/models/vm_recommendation.rb +12 -0
  15. data/lib/2015-06-01-preview/generated/azure_mgmt_security/security_center.rb +1 -1
  16. data/lib/2017-08-01-preview/generated/azure_mgmt_security.rb +48 -23
  17. data/lib/2017-08-01-preview/generated/azure_mgmt_security/advanced_threat_protection.rb +4 -2
  18. data/lib/2017-08-01-preview/generated/azure_mgmt_security/compliances.rb +3 -2
  19. data/lib/2017-08-01-preview/generated/azure_mgmt_security/device_security_groups.rb +54 -38
  20. data/lib/2017-08-01-preview/generated/azure_mgmt_security/information_protection_policies.rb +24 -8
  21. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/active_connections_not_in_allowed_range.rb +100 -0
  22. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/allowlist_custom_alert_rule.rb +9 -2
  23. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/amqp_c2dmessages_not_in_allowed_range.rb +101 -0
  24. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/amqp_c2drejected_messages_not_in_allowed_range.rb +101 -0
  25. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/amqp_d2cmessages_not_in_allowed_range.rb +101 -0
  26. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  27. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/connection_to_ip_not_allowed.rb +102 -0
  28. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/custom_alert_rule.rb +36 -13
  29. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/denylist_custom_alert_rule.rb +9 -2
  30. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/device_security_group.rb +8 -8
  31. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/direct_method_invokes_not_in_allowed_range.rb +100 -0
  32. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/etag.rb +48 -0
  33. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/failed_local_logins_not_in_allowed_range.rb +100 -0
  34. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/file_uploads_not_in_allowed_range.rb +100 -0
  35. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/http_c2dmessages_not_in_allowed_range.rb +101 -0
  36. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/http_c2drejected_messages_not_in_allowed_range.rb +101 -0
  37. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/http_d2cmessages_not_in_allowed_range.rb +101 -0
  38. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/information_protection_policy.rb +12 -0
  39. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/information_type.rb +13 -2
  40. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/kind.rb +46 -0
  41. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/list_custom_alert_rule.rb +9 -2
  42. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/local_user_not_allowed.rb +102 -0
  43. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/mqtt_c2dmessages_not_in_allowed_range.rb +101 -0
  44. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/mqtt_c2drejected_messages_not_in_allowed_range.rb +101 -0
  45. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/mqtt_d2cmessages_not_in_allowed_range.rb +101 -0
  46. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/process_not_allowed.rb +102 -0
  47. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/queue_purges_not_in_allowed_range.rb +100 -0
  48. data/lib/{2019-01-01/generated/azure_mgmt_security/models/setting_kind.rb → 2017-08-01-preview/generated/azure_mgmt_security/models/rank.rb} +8 -5
  49. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/sensitivity_label.rb +26 -2
  50. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/tags.rb +55 -0
  51. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/threshold_custom_alert_rule.rb +8 -1
  52. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/time_window_custom_alert_rule.rb +6 -17
  53. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  54. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/twin_updates_not_in_allowed_range.rb +100 -0
  55. data/lib/2017-08-01-preview/generated/azure_mgmt_security/models/unauthorized_operations_not_in_allowed_range.rb +100 -0
  56. data/lib/2017-08-01-preview/generated/azure_mgmt_security/security_center.rb +1 -1
  57. data/lib/2017-08-01/generated/azure_mgmt_security.rb +5 -0
  58. data/lib/2017-08-01/generated/azure_mgmt_security/compliance_results.rb +3 -2
  59. data/lib/2017-08-01/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  60. data/lib/2017-08-01/generated/azure_mgmt_security/models/etag.rb +48 -0
  61. data/lib/2017-08-01/generated/azure_mgmt_security/models/kind.rb +46 -0
  62. data/lib/2017-08-01/generated/azure_mgmt_security/models/tags.rb +55 -0
  63. data/lib/2017-08-01/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  64. data/lib/2017-08-01/generated/azure_mgmt_security/security_center.rb +1 -1
  65. data/lib/2018-06-01/generated/azure_mgmt_security.rb +5 -0
  66. data/lib/2018-06-01/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  67. data/lib/2018-06-01/generated/azure_mgmt_security/models/etag.rb +48 -0
  68. data/lib/2018-06-01/generated/azure_mgmt_security/models/kind.rb +46 -0
  69. data/lib/2018-06-01/generated/azure_mgmt_security/models/pricing.rb +4 -1
  70. data/lib/2018-06-01/generated/azure_mgmt_security/models/pricing_list.rb +1 -1
  71. data/lib/2018-06-01/generated/azure_mgmt_security/models/tags.rb +55 -0
  72. data/lib/2018-06-01/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  73. data/lib/2018-06-01/generated/azure_mgmt_security/pricings.rb +9 -36
  74. data/lib/2018-06-01/generated/azure_mgmt_security/security_center.rb +1 -1
  75. data/lib/2019-01-01-preview/generated/azure_mgmt_security.rb +34 -5
  76. data/lib/2019-01-01-preview/generated/azure_mgmt_security/alerts_suppression_rules.rb +514 -0
  77. data/lib/2019-01-01-preview/generated/azure_mgmt_security/assessments.rb +555 -0
  78. data/lib/2019-01-01-preview/generated/azure_mgmt_security/assessments_metadata.rb +311 -0
  79. data/lib/2019-01-01-preview/generated/azure_mgmt_security/assessments_metadata_subscription.rb +513 -0
  80. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/alerts_suppression_rule.rb +146 -0
  81. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/alerts_suppression_rules_list.rb +99 -0
  82. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/assessment_links.rb +47 -0
  83. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/assessment_status.rb +71 -0
  84. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/assessment_status_code.rb +17 -0
  85. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/assessment_type.rb +17 -0
  86. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/azure_resource_details.rb +62 -0
  87. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  88. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/category.rb +19 -0
  89. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/etag.rb +48 -0
  90. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/expand_enum.rb +16 -0
  91. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/implementation_effort.rb +17 -0
  92. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/kind.rb +46 -0
  93. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/on_premise_resource_details.rb +95 -0
  94. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/on_premise_sql_resource_details.rb +104 -0
  95. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/resource_details.rb +48 -0
  96. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/rule_state.rb +17 -0
  97. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/scope_element.rb +65 -0
  98. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/security_assessment.rb +132 -0
  99. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/security_assessment_list.rb +101 -0
  100. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/security_assessment_metadata.rb +209 -0
  101. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/security_assessment_metadata_list.rb +100 -0
  102. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/severity.rb +17 -0
  103. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/suppression_alerts_scope.rb +57 -0
  104. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/tags.rb +55 -0
  105. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/threats.rb +22 -0
  106. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  107. data/lib/2019-01-01-preview/generated/azure_mgmt_security/models/user_impact.rb +17 -0
  108. data/lib/2019-01-01-preview/generated/azure_mgmt_security/security_center.rb +17 -5
  109. data/lib/2019-01-01/generated/azure_mgmt_security.rb +9 -5
  110. data/lib/2019-01-01/generated/azure_mgmt_security/alerts.rb +266 -60
  111. data/lib/2019-01-01/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  112. data/lib/2019-01-01/generated/azure_mgmt_security/models/{data_export_setting.rb → data_export_settings.rb} +11 -4
  113. data/lib/2019-01-01/generated/azure_mgmt_security/models/etag.rb +48 -0
  114. data/lib/2019-01-01/generated/azure_mgmt_security/models/kind.rb +46 -0
  115. data/lib/2019-01-01/generated/azure_mgmt_security/models/setting.rb +7 -0
  116. data/lib/2019-01-01/generated/azure_mgmt_security/models/setting_resource.rb +7 -11
  117. data/lib/2019-01-01/generated/azure_mgmt_security/models/tags.rb +55 -0
  118. data/lib/2019-01-01/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  119. data/lib/2019-01-01/generated/azure_mgmt_security/security_center.rb +1 -1
  120. data/lib/2019-08-01/generated/azure_mgmt_security.rb +36 -21
  121. data/lib/2019-08-01/generated/azure_mgmt_security/{io_tsecurity_solutions_analytics_aggregated_alert.rb → iot_alert_types.rb} +47 -40
  122. data/lib/2019-08-01/generated/azure_mgmt_security/iot_alerts.rb +375 -0
  123. data/lib/2019-08-01/generated/azure_mgmt_security/{io_tsecurity_solutions_analytics_recommendations.rb → iot_recommendation_types.rb} +52 -64
  124. data/lib/2019-08-01/generated/azure_mgmt_security/iot_recommendations.rb +360 -0
  125. data/lib/2019-08-01/generated/azure_mgmt_security/iot_security_solution.rb +464 -32
  126. data/lib/2019-08-01/generated/azure_mgmt_security/{io_tsecurity_solutions_analytics.rb → iot_security_solution_analytics.rb} +24 -24
  127. data/lib/{2019-01-01-preview/generated/azure_mgmt_security/server_vulnerability_assessment_operations.rb → 2019-08-01/generated/azure_mgmt_security/iot_security_solutions_analytics_aggregated_alert.rb} +133 -143
  128. data/lib/2019-08-01/generated/azure_mgmt_security/iot_security_solutions_analytics_recommendation.rb +364 -0
  129. data/lib/2019-08-01/generated/azure_mgmt_security/models/alert_intent.rb +30 -0
  130. data/lib/2019-08-01/generated/azure_mgmt_security/models/alert_severity.rb +18 -0
  131. data/lib/2019-08-01/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  132. data/lib/2019-08-01/generated/azure_mgmt_security/models/etag.rb +48 -0
  133. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_alert.rb +40 -16
  134. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_alert_list.rb +4 -3
  135. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_alert_properties_top_devices_list_item.rb +74 -0
  136. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_recommendation.rb +14 -12
  137. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_aggregated_recommendation_list.rb +4 -3
  138. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_alerted_device.rb +4 -4
  139. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_device_alert.rb +5 -5
  140. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_device_recommendation.rb +6 -6
  141. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model.rb +42 -16
  142. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model_list.rb +4 -3
  143. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solution_analytics_model_properties_devices_metrics_item.rb +3 -2
  144. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solution_model.rb +21 -6
  145. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_solutions_list.rb +3 -2
  146. data/lib/2019-08-01/generated/azure_mgmt_security/models/io_tseverity_metrics.rb +4 -4
  147. data/lib/2019-08-01/generated/azure_mgmt_security/models/iot_alert.rb +128 -0
  148. data/lib/2019-08-01/generated/azure_mgmt_security/models/iot_alert_list.rb +114 -0
  149. data/lib/2019-08-01/generated/azure_mgmt_security/models/iot_alert_type.rb +188 -0
  150. data/lib/2019-08-01/generated/azure_mgmt_security/models/{io_tsecurity_alerted_devices_list.rb → iot_alert_type_list.rb} +9 -10
  151. data/lib/2019-08-01/generated/azure_mgmt_security/models/iot_recommendation.rb +109 -0
  152. data/lib/2019-08-01/generated/azure_mgmt_security/models/iot_recommendation_list.rb +114 -0
  153. data/lib/2019-08-01/generated/azure_mgmt_security/models/iot_recommendation_type.rb +184 -0
  154. data/lib/{2019-01-01-preview/generated/azure_mgmt_security/models/server_vulnerability_assessments_list.rb → 2019-08-01/generated/azure_mgmt_security/models/iot_recommendation_type_list.rb} +9 -9
  155. data/lib/2019-08-01/generated/azure_mgmt_security/models/kind.rb +46 -0
  156. data/lib/2019-08-01/generated/azure_mgmt_security/models/recommendation_configuration_properties.rb +9 -7
  157. data/lib/2019-08-01/generated/azure_mgmt_security/models/recommendation_severity.rb +21 -0
  158. data/lib/2019-08-01/generated/azure_mgmt_security/models/tags.rb +55 -0
  159. data/lib/2019-08-01/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  160. data/lib/2019-08-01/generated/azure_mgmt_security/models/unmasked_ip_logging_status.rb +16 -0
  161. data/lib/2019-08-01/generated/azure_mgmt_security/models/update_iot_security_solution_data.rb +2 -2
  162. data/lib/2019-08-01/generated/azure_mgmt_security/models/user_defined_resources_properties.rb +1 -1
  163. data/lib/2019-08-01/generated/azure_mgmt_security/security_center.rb +26 -29
  164. data/lib/2020-01-01-preview/generated/azure_mgmt_security.rb +21 -7
  165. data/lib/2020-01-01-preview/generated/azure_mgmt_security/connectors.rb +504 -0
  166. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/authentication_details_properties.rb +83 -0
  167. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/authentication_provisioning_state.rb +18 -0
  168. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/auto_provision.rb +16 -0
  169. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/aw_assume_role_authentication_details_properties.rb +117 -0
  170. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/aws_creds_authentication_details_properties.rb +115 -0
  171. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/{location.rb → azure_tracked_resource_location.rb} +4 -5
  172. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/connector_setting.rb +91 -0
  173. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/connector_setting_list.rb +101 -0
  174. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/gcp_credentials_details_properties.rb +201 -0
  175. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/hybrid_compute_provisioning_state.rb +17 -0
  176. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/hybrid_compute_settings_properties.rb +112 -0
  177. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/permission_property.rb +18 -0
  178. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/proxy_server_properties.rb +58 -0
  179. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/secure_score_control_details.rb +34 -0
  180. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/secure_score_control_score.rb +17 -0
  181. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/secure_score_item.rb +33 -0
  182. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/service_principal_properties.rb +58 -0
  183. data/lib/2020-01-01-preview/generated/azure_mgmt_security/models/tracked_resource.rb +0 -1
  184. data/lib/2020-01-01-preview/generated/azure_mgmt_security/security_center.rb +5 -1
  185. data/lib/2020-01-01/generated/azure_mgmt_security.rb +57 -34
  186. data/lib/2020-01-01/generated/azure_mgmt_security/adaptive_application_controls.rb +28 -28
  187. data/lib/2020-01-01/generated/azure_mgmt_security/models/{app_whitelisting_group.rb → adaptive_application_control_group.rb} +7 -7
  188. data/lib/2020-01-01/generated/azure_mgmt_security/models/adaptive_application_control_groups.rb +56 -0
  189. data/lib/2020-01-01/generated/azure_mgmt_security/models/{app_whitelisting_issue_summary.rb → adaptive_application_control_issue_summary.rb} +7 -7
  190. data/lib/2020-01-01/generated/azure_mgmt_security/models/azure_resource_link.rb +47 -0
  191. data/lib/2020-01-01/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  192. data/lib/2020-01-01/generated/azure_mgmt_security/models/control_type.rb +16 -0
  193. data/lib/2020-01-01/generated/azure_mgmt_security/models/expand_controls_enum.rb +15 -0
  194. data/lib/2020-01-01/generated/azure_mgmt_security/models/on_premise_sql_resource_details.rb +104 -0
  195. data/lib/2020-01-01/generated/azure_mgmt_security/models/path_recommendation.rb +4 -2
  196. data/lib/2020-01-01/generated/azure_mgmt_security/models/provisioning_state.rb +17 -0
  197. data/lib/2020-01-01/generated/azure_mgmt_security/models/resource_details.rb +1 -0
  198. data/lib/2020-01-01/generated/azure_mgmt_security/models/secure_score_control_definition_item.rb +141 -0
  199. data/lib/2020-01-01/generated/azure_mgmt_security/models/secure_score_control_definition_list.rb +101 -0
  200. data/lib/2020-01-01/generated/azure_mgmt_security/models/secure_score_control_definition_source.rb +47 -0
  201. data/lib/2020-01-01/generated/azure_mgmt_security/models/secure_score_control_details.rb +187 -0
  202. data/lib/2020-01-01/generated/azure_mgmt_security/models/secure_score_control_list.rb +101 -0
  203. data/lib/2020-01-01/generated/azure_mgmt_security/models/secure_score_control_score.rb +86 -0
  204. data/lib/2020-01-01/generated/azure_mgmt_security/models/secure_score_item.rb +137 -0
  205. data/lib/2020-01-01/generated/azure_mgmt_security/models/secure_scores_list.rb +101 -0
  206. data/lib/2020-01-01/generated/azure_mgmt_security/models/security_solution.rb +130 -0
  207. data/lib/2020-01-01/generated/azure_mgmt_security/models/security_solution_list.rb +99 -0
  208. data/lib/2020-01-01/generated/azure_mgmt_security/models/security_solutions_reference_data.rb +162 -0
  209. data/lib/2020-01-01/generated/azure_mgmt_security/models/{app_whitelisting_groups.rb → security_solutions_reference_data_list.rb} +9 -9
  210. data/lib/2020-01-01/generated/azure_mgmt_security/models/tracked_resource.rb +0 -1
  211. data/lib/2020-01-01/generated/azure_mgmt_security/models/vm_recommendation.rb +1 -1
  212. data/lib/2020-01-01/generated/azure_mgmt_security/secure_score_control_definitions.rb +423 -0
  213. data/lib/2020-01-01/generated/azure_mgmt_security/secure_score_controls.rb +444 -0
  214. data/lib/2020-01-01/generated/azure_mgmt_security/secure_scores.rb +326 -0
  215. data/lib/2020-01-01/generated/azure_mgmt_security/security_center.rb +22 -1
  216. data/lib/{2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_aggregated_alerts.rb → 2020-01-01/generated/azure_mgmt_security/security_solutions.rb} +120 -39
  217. data/lib/2020-01-01/generated/azure_mgmt_security/security_solutions_reference_data_operations.rb +200 -0
  218. data/lib/2020-07-01-preview/generated/azure_mgmt_security.rb +59 -0
  219. data/lib/{2019-01-01-preview/generated/azure_mgmt_security/models/server_vulnerability_assessment.rb → 2020-07-01-preview/generated/azure_mgmt_security/models/asc_location.rb} +11 -14
  220. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  221. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/baseline.rb +73 -0
  222. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/baseline_adjusted_result.rb +113 -0
  223. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/benchmark_reference.rb +57 -0
  224. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/etag.rb +48 -0
  225. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/kind.rb +46 -0
  226. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/query_check.rb +92 -0
  227. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/remediation.rb +87 -0
  228. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/resource.rb +80 -0
  229. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/rule_results.rb +74 -0
  230. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/rule_results_input.rb +75 -0
  231. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/rule_results_properties.rb +62 -0
  232. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/rule_severity.rb +19 -0
  233. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/rule_status.rb +17 -0
  234. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/rule_type.rb +18 -0
  235. data/lib/{2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_device_recommendations_list.rb → 2020-07-01-preview/generated/azure_mgmt_security/models/rules_results.rb} +10 -11
  236. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/rules_results_input.rb +83 -0
  237. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/scan.rb +74 -0
  238. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/scan_properties.rb +192 -0
  239. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/scan_result.rb +74 -0
  240. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/scan_result_properties.rb +133 -0
  241. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/scan_results.rb +56 -0
  242. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/scan_state.rb +18 -0
  243. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/scan_trigger_type.rb +16 -0
  244. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/scans.rb +55 -0
  245. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/tags.rb +55 -0
  246. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  247. data/lib/2020-07-01-preview/generated/azure_mgmt_security/models/va_rule.rb +146 -0
  248. data/lib/2020-07-01-preview/generated/azure_mgmt_security/module_definition.rb +9 -0
  249. data/lib/2020-07-01-preview/generated/azure_mgmt_security/security_center.rb +135 -0
  250. data/lib/2020-07-01-preview/generated/azure_mgmt_security/sql_vulnerability_assessment_baseline_rules.rb +535 -0
  251. data/lib/2020-07-01-preview/generated/azure_mgmt_security/sql_vulnerability_assessment_scan_results.rb +237 -0
  252. data/lib/2020-07-01-preview/generated/azure_mgmt_security/sql_vulnerability_assessment_scans.rb +225 -0
  253. data/lib/2020-08-06-preview/generated/azure_mgmt_security.rb +89 -0
  254. data/lib/2020-08-06-preview/generated/azure_mgmt_security/device_operations.rb +119 -0
  255. data/lib/{2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_resource_group.rb → 2020-08-06-preview/generated/azure_mgmt_security/devices_for_hub.rb} +50 -48
  256. data/lib/{2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions.rb → 2020-08-06-preview/generated/azure_mgmt_security/devices_for_subscription.rb} +44 -33
  257. data/lib/2020-08-06-preview/generated/azure_mgmt_security/iot_alert_types.rb +203 -0
  258. data/lib/2020-08-06-preview/generated/azure_mgmt_security/iot_alerts.rb +377 -0
  259. data/lib/2020-08-06-preview/generated/azure_mgmt_security/iot_defender_settings.rb +473 -0
  260. data/lib/2020-08-06-preview/generated/azure_mgmt_security/iot_recommendation_types.rb +203 -0
  261. data/lib/2020-08-06-preview/generated/azure_mgmt_security/iot_recommendations.rb +349 -0
  262. data/lib/2020-08-06-preview/generated/azure_mgmt_security/iot_sensors.rb +511 -0
  263. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/alert_intent.rb +30 -0
  264. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/alert_severity.rb +18 -0
  265. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/asc_location.rb +73 -0
  266. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/authorization_state.rb +16 -0
  267. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/azure_tracked_resource_location.rb +46 -0
  268. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/device.rb +397 -0
  269. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/device_criticality.rb +16 -0
  270. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/device_list.rb +100 -0
  271. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/device_status.rb +16 -0
  272. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/etag.rb +48 -0
  273. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/firmware.rb +121 -0
  274. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_alert_list_model.rb +101 -0
  275. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_alert_model.rb +128 -0
  276. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_alert_type.rb +188 -0
  277. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_alert_type_list.rb +55 -0
  278. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_defender_settings_list.rb +56 -0
  279. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_defender_settings_model.rb +96 -0
  280. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_recommendation_list_model.rb +101 -0
  281. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_recommendation_model.rb +109 -0
  282. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_recommendation_type.rb +184 -0
  283. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_recommendation_type_list.rb +55 -0
  284. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_sensor.rb +73 -0
  285. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/iot_sensors_list.rb +56 -0
  286. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/ip_address.rb +95 -0
  287. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/kind.rb +46 -0
  288. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/mac_address.rb +87 -0
  289. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/mac_significance.rb +16 -0
  290. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/management_state.rb +16 -0
  291. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/network_interface.rb +79 -0
  292. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/on_premise_iot_sensor.rb +73 -0
  293. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/on_premise_iot_sensors_list.rb +56 -0
  294. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/package_download_info.rb +71 -0
  295. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/package_downloads.rb +76 -0
  296. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/package_downloads_central_manager.rb +71 -0
  297. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/package_downloads_central_manager_full.rb +71 -0
  298. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/package_downloads_central_manager_full_ovf.rb +121 -0
  299. data/lib/{2019-08-01/generated/azure_mgmt_security/models/io_tsecurity_device_alerts_list.rb → 2020-08-06-preview/generated/azure_mgmt_security/models/package_downloads_sensor.rb} +26 -24
  300. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/package_downloads_sensor_full.rb +70 -0
  301. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/package_downloads_sensor_full_ovf.rb +98 -0
  302. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/package_downloads_threat_intelligence.rb +46 -0
  303. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/programming_state.rb +16 -0
  304. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/protocol.rb +58 -0
  305. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/purdue_level.rb +17 -0
  306. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/recommendation_severity.rb +21 -0
  307. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/relation_to_ip_status.rb +16 -0
  308. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/resource.rb +80 -0
  309. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/scanning_functionality.rb +16 -0
  310. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/sensor.rb +59 -0
  311. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/site.rb +47 -0
  312. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/tags.rb +55 -0
  313. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/tracked_resource.rb +125 -0
  314. data/lib/2020-08-06-preview/generated/azure_mgmt_security/models/version_kind.rb +17 -0
  315. data/lib/2020-08-06-preview/generated/azure_mgmt_security/module_definition.rb +9 -0
  316. data/lib/2020-08-06-preview/generated/azure_mgmt_security/on_premise_iot_sensors.rb +482 -0
  317. data/lib/2020-08-06-preview/generated/azure_mgmt_security/security_center.rb +167 -0
  318. data/lib/azure_mgmt_security.rb +7 -5
  319. data/lib/profiles/latest/modules/security_profile_module.rb +851 -255
  320. data/lib/version.rb +1 -1
  321. metadata +247 -22
  322. data/lib/2019-08-01/generated/azure_mgmt_security/io_tsecurity_solutions_analytics_recommendation.rb +0 -133
@@ -7,11 +7,11 @@ module Azure::Security::Mgmt::V2019_08_01
7
7
  #
8
8
  # API spec for Microsoft.Security (Azure Security Center) resource provider
9
9
  #
10
- class IoTSecuritySolutionsAnalyticsAggregatedAlert
10
+ class IotAlertTypes
11
11
  include MsRestAzure
12
12
 
13
13
  #
14
- # Creates and initializes a new instance of the IoTSecuritySolutionsAnalyticsAggregatedAlert class.
14
+ # Creates and initializes a new instance of the IotAlertTypes class.
15
15
  # @param client service class for accessing basic functionality.
16
16
  #
17
17
  def initialize(client)
@@ -22,51 +22,48 @@ module Azure::Security::Mgmt::V2019_08_01
22
22
  attr_reader :client
23
23
 
24
24
  #
25
- # Security Analytics of a security solution
25
+ # List IoT alert types
26
26
  #
27
27
  # @param resource_group_name [String] The name of the resource group within the
28
28
  # user's subscription. The name is case insensitive.
29
- # @param solution_name [String] The solution manager name
30
- # @param aggregated_alert_name [String] Identifier of the aggregated alert
29
+ # @param solution_name [String] The name of the IoT Security solution.
31
30
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
32
31
  # will be added to the HTTP request.
33
32
  #
34
- # @return [IoTSecurityAggregatedAlert] operation results.
33
+ # @return [IotAlertTypeList] operation results.
35
34
  #
36
- def get(resource_group_name, solution_name, aggregated_alert_name, custom_headers:nil)
37
- response = get_async(resource_group_name, solution_name, aggregated_alert_name, custom_headers:custom_headers).value!
35
+ def list(resource_group_name, solution_name, custom_headers:nil)
36
+ response = list_async(resource_group_name, solution_name, custom_headers:custom_headers).value!
38
37
  response.body unless response.nil?
39
38
  end
40
39
 
41
40
  #
42
- # Security Analytics of a security solution
41
+ # List IoT alert types
43
42
  #
44
43
  # @param resource_group_name [String] The name of the resource group within the
45
44
  # user's subscription. The name is case insensitive.
46
- # @param solution_name [String] The solution manager name
47
- # @param aggregated_alert_name [String] Identifier of the aggregated alert
45
+ # @param solution_name [String] The name of the IoT Security solution.
48
46
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
49
47
  # will be added to the HTTP request.
50
48
  #
51
49
  # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
52
50
  #
53
- def get_with_http_info(resource_group_name, solution_name, aggregated_alert_name, custom_headers:nil)
54
- get_async(resource_group_name, solution_name, aggregated_alert_name, custom_headers:custom_headers).value!
51
+ def list_with_http_info(resource_group_name, solution_name, custom_headers:nil)
52
+ list_async(resource_group_name, solution_name, custom_headers:custom_headers).value!
55
53
  end
56
54
 
57
55
  #
58
- # Security Analytics of a security solution
56
+ # List IoT alert types
59
57
  #
60
58
  # @param resource_group_name [String] The name of the resource group within the
61
59
  # user's subscription. The name is case insensitive.
62
- # @param solution_name [String] The solution manager name
63
- # @param aggregated_alert_name [String] Identifier of the aggregated alert
60
+ # @param solution_name [String] The name of the IoT Security solution.
64
61
  # @param [Hash{String => String}] A hash of custom headers that will be added
65
62
  # to the HTTP request.
66
63
  #
67
64
  # @return [Concurrent::Promise] Promise object which holds the HTTP response.
68
65
  #
69
- def get_async(resource_group_name, solution_name, aggregated_alert_name, custom_headers:nil)
66
+ def list_async(resource_group_name, solution_name, custom_headers:nil)
70
67
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
71
68
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
72
69
  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?
@@ -75,7 +72,6 @@ module Azure::Security::Mgmt::V2019_08_01
75
72
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
76
73
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
77
74
  fail ArgumentError, 'solution_name is nil' if solution_name.nil?
78
- fail ArgumentError, 'aggregated_alert_name is nil' if aggregated_alert_name.nil?
79
75
 
80
76
 
81
77
  request_headers = {}
@@ -84,13 +80,13 @@ module Azure::Security::Mgmt::V2019_08_01
84
80
  # Set Headers
85
81
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
86
82
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
87
- path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels/default/aggregatedAlerts/{aggregatedAlertName}'
83
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/iotAlertTypes'
88
84
 
89
85
  request_url = @base_url || @client.base_url
90
86
 
91
87
  options = {
92
88
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
93
- path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'solutionName' => solution_name,'aggregatedAlertName' => aggregated_alert_name},
89
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'solutionName' => solution_name},
94
90
  query_params: {'api-version' => @client.api_version},
95
91
  headers: request_headers.merge(custom_headers || {}),
96
92
  base_url: request_url
@@ -113,7 +109,7 @@ module Azure::Security::Mgmt::V2019_08_01
113
109
  if status_code == 200
114
110
  begin
115
111
  parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
116
- result_mapper = Azure::Security::Mgmt::V2019_08_01::Models::IoTSecurityAggregatedAlert.mapper()
112
+ result_mapper = Azure::Security::Mgmt::V2019_08_01::Models::IotAlertTypeList.mapper()
117
113
  result.body = @client.deserialize(result_mapper, parsed_response)
118
114
  rescue Exception => e
119
115
  fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
@@ -127,50 +123,51 @@ module Azure::Security::Mgmt::V2019_08_01
127
123
  end
128
124
 
129
125
  #
130
- # Security Analytics of a security solution
126
+ # Get IoT alert type
131
127
  #
132
128
  # @param resource_group_name [String] The name of the resource group within the
133
129
  # user's subscription. The name is case insensitive.
134
- # @param solution_name [String] The solution manager name
135
- # @param aggregated_alert_name [String] Identifier of the aggregated alert
130
+ # @param solution_name [String] The name of the IoT Security solution.
131
+ # @param iot_alert_type_name [String] Name of the alert type
136
132
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
137
133
  # will be added to the HTTP request.
138
134
  #
135
+ # @return [IotAlertType] operation results.
139
136
  #
140
- def dismiss(resource_group_name, solution_name, aggregated_alert_name, custom_headers:nil)
141
- response = dismiss_async(resource_group_name, solution_name, aggregated_alert_name, custom_headers:custom_headers).value!
142
- nil
137
+ def get(resource_group_name, solution_name, iot_alert_type_name, custom_headers:nil)
138
+ response = get_async(resource_group_name, solution_name, iot_alert_type_name, custom_headers:custom_headers).value!
139
+ response.body unless response.nil?
143
140
  end
144
141
 
145
142
  #
146
- # Security Analytics of a security solution
143
+ # Get IoT alert type
147
144
  #
148
145
  # @param resource_group_name [String] The name of the resource group within the
149
146
  # user's subscription. The name is case insensitive.
150
- # @param solution_name [String] The solution manager name
151
- # @param aggregated_alert_name [String] Identifier of the aggregated alert
147
+ # @param solution_name [String] The name of the IoT Security solution.
148
+ # @param iot_alert_type_name [String] Name of the alert type
152
149
  # @param custom_headers [Hash{String => String}] A hash of custom headers that
153
150
  # will be added to the HTTP request.
154
151
  #
155
152
  # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
156
153
  #
157
- def dismiss_with_http_info(resource_group_name, solution_name, aggregated_alert_name, custom_headers:nil)
158
- dismiss_async(resource_group_name, solution_name, aggregated_alert_name, custom_headers:custom_headers).value!
154
+ def get_with_http_info(resource_group_name, solution_name, iot_alert_type_name, custom_headers:nil)
155
+ get_async(resource_group_name, solution_name, iot_alert_type_name, custom_headers:custom_headers).value!
159
156
  end
160
157
 
161
158
  #
162
- # Security Analytics of a security solution
159
+ # Get IoT alert type
163
160
  #
164
161
  # @param resource_group_name [String] The name of the resource group within the
165
162
  # user's subscription. The name is case insensitive.
166
- # @param solution_name [String] The solution manager name
167
- # @param aggregated_alert_name [String] Identifier of the aggregated alert
163
+ # @param solution_name [String] The name of the IoT Security solution.
164
+ # @param iot_alert_type_name [String] Name of the alert type
168
165
  # @param [Hash{String => String}] A hash of custom headers that will be added
169
166
  # to the HTTP request.
170
167
  #
171
168
  # @return [Concurrent::Promise] Promise object which holds the HTTP response.
172
169
  #
173
- def dismiss_async(resource_group_name, solution_name, aggregated_alert_name, custom_headers:nil)
170
+ def get_async(resource_group_name, solution_name, iot_alert_type_name, custom_headers:nil)
174
171
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
175
172
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
176
173
  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?
@@ -179,7 +176,7 @@ module Azure::Security::Mgmt::V2019_08_01
179
176
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
180
177
  fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
181
178
  fail ArgumentError, 'solution_name is nil' if solution_name.nil?
182
- fail ArgumentError, 'aggregated_alert_name is nil' if aggregated_alert_name.nil?
179
+ fail ArgumentError, 'iot_alert_type_name is nil' if iot_alert_type_name.nil?
183
180
 
184
181
 
185
182
  request_headers = {}
@@ -188,18 +185,18 @@ module Azure::Security::Mgmt::V2019_08_01
188
185
  # Set Headers
189
186
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
190
187
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
191
- path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels/default/aggregatedAlerts/{aggregatedAlertName}/dismiss'
188
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/iotAlertTypes/{iotAlertTypeName}'
192
189
 
193
190
  request_url = @base_url || @client.base_url
194
191
 
195
192
  options = {
196
193
  middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
197
- path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'solutionName' => solution_name,'aggregatedAlertName' => aggregated_alert_name},
194
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'solutionName' => solution_name,'iotAlertTypeName' => iot_alert_type_name},
198
195
  query_params: {'api-version' => @client.api_version},
199
196
  headers: request_headers.merge(custom_headers || {}),
200
197
  base_url: request_url
201
198
  }
202
- promise = @client.make_request_async(:post, path_template, options)
199
+ promise = @client.make_request_async(:get, path_template, options)
203
200
 
204
201
  promise = promise.then do |result|
205
202
  http_response = result.response
@@ -213,6 +210,16 @@ module Azure::Security::Mgmt::V2019_08_01
213
210
  result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
214
211
  result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
215
212
  result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
213
+ # Deserialize Response
214
+ if status_code == 200
215
+ begin
216
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
217
+ result_mapper = Azure::Security::Mgmt::V2019_08_01::Models::IotAlertType.mapper()
218
+ result.body = @client.deserialize(result_mapper, parsed_response)
219
+ rescue Exception => e
220
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
221
+ end
222
+ end
216
223
 
217
224
  result
218
225
  end
@@ -0,0 +1,375 @@
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_08_01
7
+ #
8
+ # API spec for Microsoft.Security (Azure Security Center) resource provider
9
+ #
10
+ class IotAlerts
11
+ include MsRestAzure
12
+
13
+ #
14
+ # Creates and initializes a new instance of the IotAlerts 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
+ # List IoT alerts
26
+ #
27
+ # @param resource_group_name [String] The name of the resource group within the
28
+ # user's subscription. The name is case insensitive.
29
+ # @param solution_name [String] The name of the IoT Security solution.
30
+ # @param min_start_time_utc [String] Filter by minimum startTimeUtc (ISO 8601
31
+ # format)
32
+ # @param max_start_time_utc [String] Filter by maximum startTimeUtc (ISO 8601
33
+ # format)
34
+ # @param alert_type [String] Filter by alert type
35
+ # @param compromised_entity [String] Filter by compromised device
36
+ # @param limit [Integer] Limit the number of items returned in a single page
37
+ # @param skip_token [String] Skip token used for pagination
38
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
39
+ # will be added to the HTTP request.
40
+ #
41
+ # @return [Array<IotAlert>] operation results.
42
+ #
43
+ def list(resource_group_name, solution_name, min_start_time_utc:nil, max_start_time_utc:nil, alert_type:nil, compromised_entity:nil, limit:nil, skip_token:nil, custom_headers:nil)
44
+ first_page = list_as_lazy(resource_group_name, solution_name, min_start_time_utc:min_start_time_utc, max_start_time_utc:max_start_time_utc, alert_type:alert_type, compromised_entity:compromised_entity, limit:limit, skip_token:skip_token, custom_headers:custom_headers)
45
+ first_page.get_all_items
46
+ end
47
+
48
+ #
49
+ # List IoT alerts
50
+ #
51
+ # @param resource_group_name [String] The name of the resource group within the
52
+ # user's subscription. The name is case insensitive.
53
+ # @param solution_name [String] The name of the IoT Security solution.
54
+ # @param min_start_time_utc [String] Filter by minimum startTimeUtc (ISO 8601
55
+ # format)
56
+ # @param max_start_time_utc [String] Filter by maximum startTimeUtc (ISO 8601
57
+ # format)
58
+ # @param alert_type [String] Filter by alert type
59
+ # @param compromised_entity [String] Filter by compromised device
60
+ # @param limit [Integer] Limit the number of items returned in a single page
61
+ # @param skip_token [String] Skip token used for pagination
62
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
63
+ # will be added to the HTTP request.
64
+ #
65
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
66
+ #
67
+ def list_with_http_info(resource_group_name, solution_name, min_start_time_utc:nil, max_start_time_utc:nil, alert_type:nil, compromised_entity:nil, limit:nil, skip_token:nil, custom_headers:nil)
68
+ list_async(resource_group_name, solution_name, min_start_time_utc:min_start_time_utc, max_start_time_utc:max_start_time_utc, alert_type:alert_type, compromised_entity:compromised_entity, limit:limit, skip_token:skip_token, custom_headers:custom_headers).value!
69
+ end
70
+
71
+ #
72
+ # List IoT alerts
73
+ #
74
+ # @param resource_group_name [String] The name of the resource group within the
75
+ # user's subscription. The name is case insensitive.
76
+ # @param solution_name [String] The name of the IoT Security solution.
77
+ # @param min_start_time_utc [String] Filter by minimum startTimeUtc (ISO 8601
78
+ # format)
79
+ # @param max_start_time_utc [String] Filter by maximum startTimeUtc (ISO 8601
80
+ # format)
81
+ # @param alert_type [String] Filter by alert type
82
+ # @param compromised_entity [String] Filter by compromised device
83
+ # @param limit [Integer] Limit the number of items returned in a single page
84
+ # @param skip_token [String] Skip token used for pagination
85
+ # @param [Hash{String => String}] A hash of custom headers that will be added
86
+ # to the HTTP request.
87
+ #
88
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
89
+ #
90
+ def list_async(resource_group_name, solution_name, min_start_time_utc:nil, max_start_time_utc:nil, alert_type:nil, compromised_entity:nil, limit:nil, skip_token:nil, custom_headers:nil)
91
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
92
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
93
+ 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?
94
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
95
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
96
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
97
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
98
+ fail ArgumentError, 'solution_name is nil' if solution_name.nil?
99
+
100
+
101
+ request_headers = {}
102
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
103
+
104
+ # Set Headers
105
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
106
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
107
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/iotAlerts'
108
+
109
+ request_url = @base_url || @client.base_url
110
+
111
+ options = {
112
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
113
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'solutionName' => solution_name},
114
+ query_params: {'api-version' => @client.api_version,'startTimeUtc>' => min_start_time_utc,'startTimeUtc<' => max_start_time_utc,'alertType' => alert_type,'compromisedEntity' => compromised_entity,'$limit' => limit,'$skipToken' => skip_token},
115
+ headers: request_headers.merge(custom_headers || {}),
116
+ base_url: request_url
117
+ }
118
+ promise = @client.make_request_async(:get, path_template, options)
119
+
120
+ promise = promise.then do |result|
121
+ http_response = result.response
122
+ status_code = http_response.status
123
+ response_content = http_response.body
124
+ unless status_code == 200
125
+ error_model = JSON.load(response_content)
126
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
127
+ end
128
+
129
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
130
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
131
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
132
+ # Deserialize Response
133
+ if status_code == 200
134
+ begin
135
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
136
+ result_mapper = Azure::Security::Mgmt::V2019_08_01::Models::IotAlertList.mapper()
137
+ result.body = @client.deserialize(result_mapper, parsed_response)
138
+ rescue Exception => e
139
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
140
+ end
141
+ end
142
+
143
+ result
144
+ end
145
+
146
+ promise.execute
147
+ end
148
+
149
+ #
150
+ # Get IoT alert
151
+ #
152
+ # @param resource_group_name [String] The name of the resource group within the
153
+ # user's subscription. The name is case insensitive.
154
+ # @param solution_name [String] The name of the IoT Security solution.
155
+ # @param iot_alert_id [String] Id of the alert
156
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
157
+ # will be added to the HTTP request.
158
+ #
159
+ # @return [IotAlert] operation results.
160
+ #
161
+ def get(resource_group_name, solution_name, iot_alert_id, custom_headers:nil)
162
+ response = get_async(resource_group_name, solution_name, iot_alert_id, custom_headers:custom_headers).value!
163
+ response.body unless response.nil?
164
+ end
165
+
166
+ #
167
+ # Get IoT alert
168
+ #
169
+ # @param resource_group_name [String] The name of the resource group within the
170
+ # user's subscription. The name is case insensitive.
171
+ # @param solution_name [String] The name of the IoT Security solution.
172
+ # @param iot_alert_id [String] Id of the alert
173
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
174
+ # will be added to the HTTP request.
175
+ #
176
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
177
+ #
178
+ def get_with_http_info(resource_group_name, solution_name, iot_alert_id, custom_headers:nil)
179
+ get_async(resource_group_name, solution_name, iot_alert_id, custom_headers:custom_headers).value!
180
+ end
181
+
182
+ #
183
+ # Get IoT alert
184
+ #
185
+ # @param resource_group_name [String] The name of the resource group within the
186
+ # user's subscription. The name is case insensitive.
187
+ # @param solution_name [String] The name of the IoT Security solution.
188
+ # @param iot_alert_id [String] Id of the alert
189
+ # @param [Hash{String => String}] A hash of custom headers that will be added
190
+ # to the HTTP request.
191
+ #
192
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
193
+ #
194
+ def get_async(resource_group_name, solution_name, iot_alert_id, custom_headers:nil)
195
+ fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
196
+ fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?
197
+ 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?
198
+ fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
199
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MaxLength': '90'" if !resource_group_name.nil? && resource_group_name.length > 90
200
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'MinLength': '1'" if !resource_group_name.nil? && resource_group_name.length < 1
201
+ fail ArgumentError, "'resource_group_name' should satisfy the constraint - 'Pattern': '^[-\w\._\(\)]+$'" if !resource_group_name.nil? && resource_group_name.match(Regexp.new('^^[-\w\._\(\)]+$$')).nil?
202
+ fail ArgumentError, 'solution_name is nil' if solution_name.nil?
203
+ fail ArgumentError, 'iot_alert_id is nil' if iot_alert_id.nil?
204
+
205
+
206
+ request_headers = {}
207
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
208
+
209
+ # Set Headers
210
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
211
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
212
+ path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/iotAlerts/{iotAlertId}'
213
+
214
+ request_url = @base_url || @client.base_url
215
+
216
+ options = {
217
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
218
+ path_params: {'subscriptionId' => @client.subscription_id,'resourceGroupName' => resource_group_name,'solutionName' => solution_name,'iotAlertId' => iot_alert_id},
219
+ query_params: {'api-version' => @client.api_version},
220
+ headers: request_headers.merge(custom_headers || {}),
221
+ base_url: request_url
222
+ }
223
+ promise = @client.make_request_async(:get, path_template, options)
224
+
225
+ promise = promise.then do |result|
226
+ http_response = result.response
227
+ status_code = http_response.status
228
+ response_content = http_response.body
229
+ unless status_code == 200
230
+ error_model = JSON.load(response_content)
231
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
232
+ end
233
+
234
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
235
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
236
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
237
+ # Deserialize Response
238
+ if status_code == 200
239
+ begin
240
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
241
+ result_mapper = Azure::Security::Mgmt::V2019_08_01::Models::IotAlert.mapper()
242
+ result.body = @client.deserialize(result_mapper, parsed_response)
243
+ rescue Exception => e
244
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
245
+ end
246
+ end
247
+
248
+ result
249
+ end
250
+
251
+ promise.execute
252
+ end
253
+
254
+ #
255
+ # List IoT alerts
256
+ #
257
+ # @param next_page_link [String] The NextLink from the previous successful call
258
+ # to List operation.
259
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
260
+ # will be added to the HTTP request.
261
+ #
262
+ # @return [IotAlertList] operation results.
263
+ #
264
+ def list_next(next_page_link, custom_headers:nil)
265
+ response = list_next_async(next_page_link, custom_headers:custom_headers).value!
266
+ response.body unless response.nil?
267
+ end
268
+
269
+ #
270
+ # List IoT alerts
271
+ #
272
+ # @param next_page_link [String] The NextLink from the previous successful call
273
+ # to List operation.
274
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
275
+ # will be added to the HTTP request.
276
+ #
277
+ # @return [MsRestAzure::AzureOperationResponse] HTTP response information.
278
+ #
279
+ def list_next_with_http_info(next_page_link, custom_headers:nil)
280
+ list_next_async(next_page_link, custom_headers:custom_headers).value!
281
+ end
282
+
283
+ #
284
+ # List IoT alerts
285
+ #
286
+ # @param next_page_link [String] The NextLink from the previous successful call
287
+ # to List operation.
288
+ # @param [Hash{String => String}] A hash of custom headers that will be added
289
+ # to the HTTP request.
290
+ #
291
+ # @return [Concurrent::Promise] Promise object which holds the HTTP response.
292
+ #
293
+ def list_next_async(next_page_link, custom_headers:nil)
294
+ fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?
295
+
296
+
297
+ request_headers = {}
298
+ request_headers['Content-Type'] = 'application/json; charset=utf-8'
299
+
300
+ # Set Headers
301
+ request_headers['x-ms-client-request-id'] = SecureRandom.uuid
302
+ request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
303
+ path_template = '{nextLink}'
304
+
305
+ request_url = @base_url || @client.base_url
306
+
307
+ options = {
308
+ middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
309
+ skip_encoding_path_params: {'nextLink' => next_page_link},
310
+ headers: request_headers.merge(custom_headers || {}),
311
+ base_url: request_url
312
+ }
313
+ promise = @client.make_request_async(:get, path_template, options)
314
+
315
+ promise = promise.then do |result|
316
+ http_response = result.response
317
+ status_code = http_response.status
318
+ response_content = http_response.body
319
+ unless status_code == 200
320
+ error_model = JSON.load(response_content)
321
+ fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
322
+ end
323
+
324
+ result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
325
+ result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
326
+ result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
327
+ # Deserialize Response
328
+ if status_code == 200
329
+ begin
330
+ parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
331
+ result_mapper = Azure::Security::Mgmt::V2019_08_01::Models::IotAlertList.mapper()
332
+ result.body = @client.deserialize(result_mapper, parsed_response)
333
+ rescue Exception => e
334
+ fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
335
+ end
336
+ end
337
+
338
+ result
339
+ end
340
+
341
+ promise.execute
342
+ end
343
+
344
+ #
345
+ # List IoT alerts
346
+ #
347
+ # @param resource_group_name [String] The name of the resource group within the
348
+ # user's subscription. The name is case insensitive.
349
+ # @param solution_name [String] The name of the IoT Security solution.
350
+ # @param min_start_time_utc [String] Filter by minimum startTimeUtc (ISO 8601
351
+ # format)
352
+ # @param max_start_time_utc [String] Filter by maximum startTimeUtc (ISO 8601
353
+ # format)
354
+ # @param alert_type [String] Filter by alert type
355
+ # @param compromised_entity [String] Filter by compromised device
356
+ # @param limit [Integer] Limit the number of items returned in a single page
357
+ # @param skip_token [String] Skip token used for pagination
358
+ # @param custom_headers [Hash{String => String}] A hash of custom headers that
359
+ # will be added to the HTTP request.
360
+ #
361
+ # @return [IotAlertList] which provide lazy access to pages of the response.
362
+ #
363
+ def list_as_lazy(resource_group_name, solution_name, min_start_time_utc:nil, max_start_time_utc:nil, alert_type:nil, compromised_entity:nil, limit:nil, skip_token:nil, custom_headers:nil)
364
+ response = list_async(resource_group_name, solution_name, min_start_time_utc:min_start_time_utc, max_start_time_utc:max_start_time_utc, alert_type:alert_type, compromised_entity:compromised_entity, limit:limit, skip_token:skip_token, custom_headers:custom_headers).value!
365
+ unless response.nil?
366
+ page = response.body
367
+ page.next_method = Proc.new do |next_page_link|
368
+ list_next_async(next_page_link, custom_headers:custom_headers)
369
+ end
370
+ page
371
+ end
372
+ end
373
+
374
+ end
375
+ end