diff --git a/src/acat/azext_acat/aaz/latest/app_compliance_automation/_trigger_evaluation.py b/src/acat/azext_acat/aaz/latest/app_compliance_automation/_trigger_evaluation.py new file mode 100644 index 00000000000..afc4c004aff --- /dev/null +++ b/src/acat/azext_acat/aaz/latest/app_compliance_automation/_trigger_evaluation.py @@ -0,0 +1,229 @@ +# -------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# +# Code generated by aaz-dev-tools +# -------------------------------------------------------------------------------------------- + +# pylint: skip-file +# flake8: noqa + +from azure.cli.core.aaz import * + + +@register_command( + "app-compliance-automation trigger-evaluation", +) +class TriggerEvaluation(AAZCommand): + """Trigger quick evaluation for the given subscriptions. + """ + + _aaz_info = { + "version": "2024-06-27", + "resources": [ + ["mgmt-plane", "/providers/microsoft.appcomplianceautomation/triggerevaluation", "2024-06-27"], + ] + } + + AZ_SUPPORT_NO_WAIT = True + + def _handler(self, command_args): + super()._handler(command_args) + return self.build_lro_poller(self._execute_operations, self._output) + + _args_schema = None + + @classmethod + def _build_arguments_schema(cls, *args, **kwargs): + if cls._args_schema is not None: + return cls._args_schema + cls._args_schema = super()._build_arguments_schema(*args, **kwargs) + + # define Arg Group "Parameters" + + _args_schema = cls._args_schema + _args_schema.resource_ids = AAZListArg( + options=["--resource-ids"], + arg_group="Parameters", + help="List of resource ids to be evaluated", + required=True, + ) + + resource_ids = cls._args_schema.resource_ids + resource_ids.Element = AAZStrArg() + return cls._args_schema + + def _execute_operations(self): + self.pre_operations() + yield self.ProviderActionsTriggerEvaluation(ctx=self.ctx)() + self.post_operations() + + @register_callback + def pre_operations(self): + pass + + @register_callback + def post_operations(self): + pass + + def _output(self, *args, **kwargs): + result = self.deserialize_output(self.ctx.vars.instance, client_flatten=True) + return result + + class ProviderActionsTriggerEvaluation(AAZHttpOperation): + CLIENT_TYPE = "MgmtClient" + + def __call__(self, *args, **kwargs): + request = self.make_request() + session = self.client.send_request(request=request, stream=False, **kwargs) + if session.http_response.status_code in [202]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + if session.http_response.status_code in [200]: + return self.client.build_lro_polling( + self.ctx.args.no_wait, + session, + self.on_200, + self.on_error, + lro_options={"final-state-via": "location"}, + path_format_arguments=self.url_parameters, + ) + + return self.on_error(session.http_response) + + @property + def url(self): + return self.client.format_url( + "/providers/Microsoft.AppComplianceAutomation/triggerEvaluation", + **self.url_parameters + ) + + @property + def method(self): + return "POST" + + @property + def error_format(self): + return "MgmtErrorFormat" + + @property + def query_parameters(self): + parameters = { + **self.serialize_query_param( + "api-version", "2024-06-27", + required=True, + ), + } + return parameters + + @property + def header_parameters(self): + parameters = { + **self.serialize_header_param( + "Content-Type", "application/json", + ), + **self.serialize_header_param( + "Accept", "application/json", + ), + } + return parameters + + @property + def content(self): + _content_value, _builder = self.new_content_builder( + self.ctx.args, + typ=AAZObjectType, + typ_kwargs={"flags": {"required": True, "client_flatten": True}} + ) + _builder.set_prop("resourceIds", AAZListType, ".resource_ids", typ_kwargs={"flags": {"required": True}}) + + resource_ids = _builder.get(".resourceIds") + if resource_ids is not None: + resource_ids.set_elements(AAZStrType, ".") + + return self.serialize_content(_content_value) + + def on_200(self, session): + data = self.deserialize_http_content(session) + self.ctx.set_var( + "instance", + data, + schema_builder=self._build_schema_on_200 + ) + + _schema_on_200 = None + + @classmethod + def _build_schema_on_200(cls): + if cls._schema_on_200 is not None: + return cls._schema_on_200 + + cls._schema_on_200 = AAZObjectType() + + _schema_on_200 = cls._schema_on_200 + _schema_on_200.properties = AAZObjectType() + + properties = cls._schema_on_200.properties + properties.evaluation_end_time = AAZStrType( + serialized_name="evaluationEndTime", + flags={"read_only": True}, + ) + properties.quick_assessments = AAZListType( + serialized_name="quickAssessments", + ) + properties.resource_ids = AAZListType( + serialized_name="resourceIds", + ) + properties.trigger_time = AAZStrType( + serialized_name="triggerTime", + flags={"read_only": True}, + ) + + quick_assessments = cls._schema_on_200.properties.quick_assessments + quick_assessments.Element = AAZObjectType() + + _element = cls._schema_on_200.properties.quick_assessments.Element + _element.description = AAZStrType( + flags={"read_only": True}, + ) + _element.display_name = AAZStrType( + serialized_name="displayName", + flags={"read_only": True}, + ) + _element.remediation_link = AAZStrType( + serialized_name="remediationLink", + flags={"read_only": True}, + ) + _element.resource_id = AAZStrType( + serialized_name="resourceId", + flags={"read_only": True}, + ) + _element.resource_status = AAZStrType( + serialized_name="resourceStatus", + flags={"read_only": True}, + ) + _element.responsibility_id = AAZStrType( + serialized_name="responsibilityId", + flags={"read_only": True}, + ) + _element.timestamp = AAZStrType( + flags={"read_only": True}, + ) + + resource_ids = cls._schema_on_200.properties.resource_ids + resource_ids.Element = AAZStrType() + + return cls._schema_on_200 + + +class _TriggerEvaluationHelper: + """Helper class for TriggerEvaluation""" + + +__all__ = ["TriggerEvaluation"] diff --git a/src/acat/azext_acat/aaz/latest/app_compliance_automation/report/snapshot/__init__.py b/src/acat/azext_acat/aaz/latest/app_compliance_automation/report/snapshot/__init__.py index bce92930eb8..4325c1aa0c0 100644 --- a/src/acat/azext_acat/aaz/latest/app_compliance_automation/report/snapshot/__init__.py +++ b/src/acat/azext_acat/aaz/latest/app_compliance_automation/report/snapshot/__init__.py @@ -11,4 +11,3 @@ from .__cmd_group import * from ._download import * from ._list import * -from ._show import *