def _build_arguments_schema()

in src/providerhub/azext_providerhub/aaz/latest/providerhub/resource_type_registration/_update.py [0:0]


    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 ""

        _args_schema = cls._args_schema
        _args_schema.provider_namespace = AAZStrArg(
            options=["--provider-namespace"],
            help="The name of the resource provider hosted within ProviderHub.",
            required=True,
            id_part="name",
        )
        _args_schema.resource_type = AAZStrArg(
            options=["-n", "--name", "--resource-type"],
            help="The resource type.",
            required=True,
            id_part="child_name_1",
        )

        # define Arg Group "ExtensionOptions"

        _args_schema = cls._args_schema
        _args_schema.resource_creation_begin = AAZObjectArg(
            options=["--creation-begin", "--resource-creation-begin"],
            arg_group="ExtensionOptions",
            help="Extension options for handling the resource creation begin extension request.",
            nullable=True,
        )

        resource_creation_begin = cls._args_schema.resource_creation_begin
        resource_creation_begin.request = AAZListArg(
            options=["request"],
            nullable=True,
        )
        resource_creation_begin.response = AAZListArg(
            options=["response"],
            nullable=True,
        )

        request = cls._args_schema.resource_creation_begin.request
        request.Element = AAZStrArg(
            nullable=True,
            enum={"DoNotMergeExistingReadOnlyAndSecretProperties": "DoNotMergeExistingReadOnlyAndSecretProperties", "IncludeInternalMetadata": "IncludeInternalMetadata", "NotSpecified": "NotSpecified"},
        )

        response = cls._args_schema.resource_creation_begin.response
        response.Element = AAZStrArg(
            nullable=True,
            enum={"DoNotMergeExistingReadOnlyAndSecretProperties": "DoNotMergeExistingReadOnlyAndSecretProperties", "IncludeInternalMetadata": "IncludeInternalMetadata", "NotSpecified": "NotSpecified"},
        )

        # define Arg Group "FeaturesRule"

        _args_schema = cls._args_schema
        _args_schema.required_features_policy = AAZStrArg(
            options=["--req-features-policy", "--required-features-policy"],
            arg_group="FeaturesRule",
            help="The accepted values are \"Any\" or \"All\".",
            enum={"All": "All", "Any": "Any"},
        )

        # define Arg Group "Properties"

        _args_schema = cls._args_schema
        _args_schema.kind = AAZStrArg(
            options=["--kind"],
            arg_group="Properties",
            help="Resource type registration kind. This Metadata is also used by portal/tooling/etc to render different UX experiences for resources of the same type.",
            nullable=True,
            enum={"Direct": "Direct", "Hybrid": "Hybrid", "Managed": "Managed"},
        )
        _args_schema.add_resource_list_target_locations = AAZBoolArg(
            options=["--add-target-locations", "--add-resource-list-target-locations"],
            arg_group="Properties",
            help="Add resource list target locations?",
            nullable=True,
        )
        _args_schema.additional_options = AAZStrArg(
            options=["--additional-options"],
            arg_group="Properties",
            help="The additional options.",
            nullable=True,
            enum={"ProtectedAsyncOperationPolling": "ProtectedAsyncOperationPolling", "ProtectedAsyncOperationPollingAuditOnly": "ProtectedAsyncOperationPollingAuditOnly"},
        )
        _args_schema.allow_empty_role_assignments = AAZBoolArg(
            options=["--allow-empty-role", "--allow-empty-role-assignments"],
            arg_group="Properties",
            help="Determines if empty role assignments are allowed.",
            nullable=True,
        )
        _args_schema.allowed_resource_names = AAZListArg(
            options=["--allowed-resource-names"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.allowed_template_deployment_reference_actions = AAZListArg(
            options=["--allowed-templ-actions", "--allowed-template-deployment-reference-actions"],
            arg_group="Properties",
            help="Allowed template deployment reference actions.",
            nullable=True,
        )
        _args_schema.allowed_unauthorized_actions = AAZListArg(
            options=["--aua", "--allowed-unauthorized-actions"],
            arg_group="Properties",
            help="The allowed unauthorized actions.",
            nullable=True,
        )
        _args_schema.api_profiles = AAZListArg(
            options=["--api-profiles"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.async_operation_resource_type_name = AAZStrArg(
            options=["--async-op-rt-name", "--async-operation-resource-type-name"],
            arg_group="Properties",
            help="The async operation resource type name.",
            nullable=True,
        )
        _args_schema.async_timeout_rules = AAZListArg(
            options=["--async-timeout-rules"],
            arg_group="Properties",
            help="Async timeout rules",
            nullable=True,
        )
        _args_schema.authorization_action_mappings = AAZListArg(
            options=["--auth-mappings", "--authorization-action-mappings"],
            singular_options=["--auth-mapping", "--auth-mappings"],
            arg_group="Properties",
            help="Allows RP to override action verb for RBAC purposes at ARM.",
            nullable=True,
        )
        _args_schema.availability_zone_rule = AAZObjectArg(
            options=["--availability-zone-rule"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.capacity_rule = AAZObjectArg(
            options=["--capacity-rule"],
            arg_group="Properties",
            help="Capacity rule.",
            nullable=True,
        )
        _args_schema.category = AAZStrArg(
            options=["--category"],
            arg_group="Properties",
            help="The category.",
            nullable=True,
            enum={"FreeForm": "FreeForm", "Internal": "Internal", "None": "None", "PureProxy": "PureProxy"},
        )
        _args_schema.check_name_availability_specifications = AAZObjectArg(
            options=["--checkname-specs", "--check-name-availability-specifications"],
            arg_group="Properties",
            help="Name availability checks feature at the platform level.",
            nullable=True,
        )
        _args_schema.common_api_versions = AAZListArg(
            options=["--common-api-versions"],
            arg_group="Properties",
            help="Common API versions for the resource type.",
            nullable=True,
        )
        _args_schema.cross_tenant_token_validation = AAZStrArg(
            options=["--token-validation", "--cross-tenant-token-validation"],
            arg_group="Properties",
            help="The cross tenant token validation.",
            nullable=True,
            enum={"EnsureSecureValidation": "EnsureSecureValidation", "PassthroughInsecureToken": "PassthroughInsecureToken"},
        )
        _args_schema.default_api_version = AAZStrArg(
            options=["--default-api-version"],
            arg_group="Properties",
            help="The default API version for the endpoint.",
            nullable=True,
        )
        _args_schema.disallowed_action_verbs = AAZListArg(
            options=["--dav", "--disallowed-action-verbs"],
            arg_group="Properties",
            help="The disallowed action verbs.",
            nullable=True,
        )
        _args_schema.disallowed_end_user_operations = AAZListArg(
            options=["--disallowed-ops", "--disallowed-end-user-operations"],
            arg_group="Properties",
            help="The disallowed end user operations.",
            nullable=True,
        )
        _args_schema.dsts_configuration = AAZObjectArg(
            options=["--dsts-configuration"],
            arg_group="Properties",
            help="The DSTS configuration.",
            nullable=True,
        )
        _args_schema.enable_async_operation = AAZBoolArg(
            options=["--enable-async-operation"],
            arg_group="Properties",
            help="Indicates whether the async operation is enabled for this resource type.",
            nullable=True,
        )
        _args_schema.enable_third_party_s2_s = AAZBoolArg(
            options=["--enable-3p-s2s", "--enable-third-party-s2-s"],
            arg_group="Properties",
            help="Indicates whether third party s2s is enabled for this resource type.",
            nullable=True,
        )
        _args_schema.endpoints = AAZListArg(
            options=["--endpoints"],
            singular_options=["--endpoint"],
            arg_group="Properties",
            help="The resource type endpoints.",
            nullable=True,
        )
        _args_schema.extended_locations = AAZListArg(
            options=["--extended-locations"],
            arg_group="Properties",
            help="The extended location options.",
            nullable=True,
        )
        _args_schema.frontdoor_request_mode = AAZStrArg(
            options=["--frontdoor-request-mode"],
            arg_group="Properties",
            help="The frontdoor request mode.",
            nullable=True,
            enum={"NotSpecified": "NotSpecified", "UseManifest": "UseManifest"},
        )
        _args_schema.grouping_tag = AAZStrArg(
            options=["--grouping-tag"],
            arg_group="Properties",
            help="Grouping tag.",
            nullable=True,
        )
        _args_schema.identity_management = AAZObjectArg(
            options=["--identity-management"],
            arg_group="Properties",
            help="MSI related settings.",
            nullable=True,
        )
        _args_schema.is_pure_proxy = AAZBoolArg(
            options=["--is-pure-proxy"],
            arg_group="Properties",
            help="Indicates whether this is a PureProxy resource type.",
            nullable=True,
        )
        _args_schema.legacy_name = AAZStrArg(
            options=["--legacy-name"],
            arg_group="Properties",
            help="The legacy name.",
            nullable=True,
        )
        _args_schema.legacy_names = AAZListArg(
            options=["--legacy-names"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.legacy_policy = AAZObjectArg(
            options=["--legacy-policy"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.linked_access_checks = AAZListArg(
            options=["--linked-access-checks"],
            singular_options=["--linked-access-check", "--linked-access-checks"],
            arg_group="Properties",
            help="Enables additional Role Based Access Control (RBAC) checks on related resources.",
            nullable=True,
        )
        _args_schema.linked_notification_rules = AAZListArg(
            options=["--linked-notif-rules", "--linked-notification-rules"],
            arg_group="Properties",
            help="The linked notification rules.",
            nullable=True,
        )
        _args_schema.linked_operation_rules = AAZListArg(
            options=["--linked-operation-rules"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.logging_rules = AAZListArg(
            options=["--logging-rules"],
            arg_group="Properties",
            help="The logging rules.",
            nullable=True,
        )
        _args_schema.managed_resource_group_configuration = AAZObjectArg(
            options=["--managed-rg-config", "--managed-resource-group-configuration"],
            arg_group="Properties",
            help="The managed resource group configuration.",
            nullable=True,
        )
        _args_schema.management = AAZObjectArg(
            options=["--management"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.manifest_link = AAZStrArg(
            options=["--manifest-link"],
            arg_group="Properties",
            help="Manifest link.",
            nullable=True,
        )
        _args_schema.marketplace_options = AAZObjectArg(
            options=["--marketplace-options"],
            arg_group="Properties",
            help="Marketplace options.",
            nullable=True,
        )
        _args_schema.marketplace_type = AAZStrArg(
            options=["--marketplace-type"],
            arg_group="Properties",
            help="The type of marketplace behavior for the resource type.",
            nullable=True,
            enum={"AddOn": "AddOn", "Bypass": "Bypass", "NotSpecified": "NotSpecified", "Store": "Store"},
        )
        _args_schema.metadata = AAZDictArg(
            options=["--metadata"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.notifications = AAZListArg(
            options=["--notifications"],
            arg_group="Properties",
            help="The notifications object.",
            nullable=True,
        )
        _args_schema.on_behalf_of_tokens = AAZObjectArg(
            options=["--on-behalf-of-tokens"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.open_api_configuration = AAZObjectArg(
            options=["--open-api-configuration"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.policy_execution_type = AAZStrArg(
            options=["--policy-execution-type"],
            arg_group="Properties",
            help="The policy execution type.",
            nullable=True,
            enum={"BypassPolicies": "BypassPolicies", "ExecutePolicies": "ExecutePolicies", "ExpectPartialPutRequests": "ExpectPartialPutRequests", "NotSpecified": "NotSpecified"},
        )
        _args_schema.private_endpoint_configuration = AAZObjectArg(
            options=["--priv-endpoint-config", "--private-endpoint-configuration"],
            arg_group="Properties",
            help="The private endpoint config.",
            nullable=True,
        )
        _args_schema.quota_rule = AAZObjectArg(
            options=["--quota-rule"],
            arg_group="Properties",
            nullable=True,
        )
        _args_schema.regionality = AAZStrArg(
            options=["--regionality"],
            arg_group="Properties",
            help="The regionality of the resource type. Allowed values: Global, NotSpecified, Regional.",
            nullable=True,
            enum={"Global": "Global", "NotSpecified": "NotSpecified", "Regional": "Regional"},
        )
        _args_schema.required_features = AAZListArg(
            options=["--required-features"],
            arg_group="Properties",
            help="The required features.",
            nullable=True,
        )
        _args_schema.resource_cache = AAZObjectArg(
            options=["--resource-cache"],
            arg_group="Properties",
            help="Resource cache options.",
            nullable=True,
        )
        _args_schema.resource_concurrency_control_options = AAZDictArg(
            options=["--concurrency-options", "--resource-concurrency-control-options"],
            arg_group="Properties",
            help="The resource concurrency control options.",
            nullable=True,
        )
        _args_schema.resource_deletion_policy = AAZStrArg(
            options=["--deletion-policy", "--resource-deletion-policy"],
            arg_group="Properties",
            help="The resource deletion policy.",
            nullable=True,
            enum={"CascadeDeleteAll": "CascadeDeleteAll", "CascadeDeleteProxyOnlyChildren": "CascadeDeleteProxyOnlyChildren", "NotSpecified": "NotSpecified"},
        )
        _args_schema.resource_graph_configuration = AAZObjectArg(
            options=["--resource-graph-config", "--resource-graph-configuration"],
            arg_group="Properties",
            help="The resource graph configuration.",
            nullable=True,
        )
        _args_schema.resource_management_options = AAZObjectArg(
            options=["--resource-mgmt-options", "--resource-management-options"],
            arg_group="Properties",
            help="Resource management options.",
            nullable=True,
        )
        _args_schema.resource_move_policy = AAZObjectArg(
            options=["--resource-move-policy"],
            arg_group="Properties",
            help="The resource move policy.",
            nullable=True,
        )
        _args_schema.resource_provider_authorization_rules = AAZObjectArg(
            options=["--rp-auth-rules", "--resource-provider-authorization-rules"],
            arg_group="Properties",
            help="The resource provider authorization rules.",
            nullable=True,
        )
        _args_schema.resource_query_management = AAZObjectArg(
            options=["--resource-query-mgmt", "--resource-query-management"],
            arg_group="Properties",
            help="Resource query management options.",
            nullable=True,
        )
        _args_schema.resource_sub_type = AAZStrArg(
            options=["--resource-sub-type"],
            arg_group="Properties",
            help="The resource sub type.",
            nullable=True,
            enum={"AsyncOperation": "AsyncOperation", "NotSpecified": "NotSpecified"},
        )
        _args_schema.resource_type_common_attribute_management = AAZObjectArg(
            options=["--rt-common-mgmt", "--resource-type-common-attribute-management"],
            arg_group="Properties",
            help="Resource type common attribute management.",
            nullable=True,
        )
        _args_schema.resource_validation = AAZStrArg(
            options=["--resource-validation"],
            arg_group="Properties",
            help="The resource validation.",
            nullable=True,
            enum={"NotSpecified": "NotSpecified", "ProfaneWords": "ProfaneWords", "ReservedWords": "ReservedWords"},
        )
        _args_schema.routing_rule = AAZObjectArg(
            options=["--routing-rule"],
            arg_group="Properties",
            help="Routing rule.",
            nullable=True,
        )
        _args_schema.routing_type = AAZStrArg(
            options=["--routing-type"],
            arg_group="Properties",
            help="The resource routing type. The options are: CascadeExtension, Default, Extension, Failover, Fanout, HostBased, LocationBased, ProxyOnly, Tenant. Select multiple with a comma separated string.",
            nullable=True,
        )
        _args_schema.service_tree_infos = AAZListArg(
            options=["--service-tree-infos"],
            singular_options=["--service-tree-info", "--service-tree-infos"],
            arg_group="Properties",
            help="The ServiceTree information for the resource provider.",
            nullable=True,
        )
        _args_schema.sku_link = AAZStrArg(
            options=["--sku-link"],
            arg_group="Properties",
            help="The sku link.",
            nullable=True,
        )
        _args_schema.subscription_state_rules = AAZListArg(
            options=["--sub-state-rules", "--subscription-state-rules"],
            singular_options=["--sub-state-rule", "--sub-state-rules"],
            arg_group="Properties",
            help="The subscription state rules.",
            nullable=True,
        )
        _args_schema.supports_tags = AAZBoolArg(
            options=["--supports-tags"],
            arg_group="Properties",
            help="Determines if tags are supported.",
            nullable=True,
        )
        _args_schema.swagger_specifications = AAZListArg(
            options=["--swagger-specifications"],
            singular_options=["--swagger-specification", "--swagger-specifications"],
            arg_group="Properties",
            help="The swagger spec of the resource type.",
            nullable=True,
        )
        _args_schema.template_deployment_options = AAZObjectArg(
            options=["--tmplt-deploy-opt", "--template-deployment-options"],
            arg_group="Properties",
            help="The template deployment options.",
            nullable=True,
        )
        _args_schema.template_deployment_policy = AAZObjectArg(
            options=["--tmplt-deploy-policy", "--template-deployment-policy"],
            arg_group="Properties",
            help="The template deployment policy.",
            nullable=True,
        )
        _args_schema.throttling_rules = AAZListArg(
            options=["--throttling-rules"],
            singular_options=["--throttling-rule", "--throttling-rules"],
            arg_group="Properties",
            help="Enables setting individual limits for different actions in terms of number of requests or number of resources (for collection read requests only).",
            nullable=True,
        )
        _args_schema.token_auth_configuration = AAZObjectArg(
            options=["--token-auth-config", "--token-auth-configuration"],
            arg_group="Properties",
            help="The token auth configuration.",
            nullable=True,
        )
        cls._build_args_token_auth_configuration_update(_args_schema.token_auth_configuration)

        allowed_resource_names = cls._args_schema.allowed_resource_names
        allowed_resource_names.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.allowed_resource_names.Element
        _element.get_action_verb = AAZStrArg(
            options=["get-action-verb"],
            help="Get action verb.",
            nullable=True,
        )
        _element.name = AAZStrArg(
            options=["name"],
            help="Resource name.",
            nullable=True,
        )

        allowed_template_deployment_reference_actions = cls._args_schema.allowed_template_deployment_reference_actions
        allowed_template_deployment_reference_actions.Element = AAZStrArg(
            nullable=True,
        )

        allowed_unauthorized_actions = cls._args_schema.allowed_unauthorized_actions
        allowed_unauthorized_actions.Element = AAZStrArg(
            nullable=True,
        )

        api_profiles = cls._args_schema.api_profiles
        api_profiles.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.api_profiles.Element
        _element.api_version = AAZStrArg(
            options=["api-version"],
            help="Api version.",
            nullable=True,
        )
        _element.profile_version = AAZStrArg(
            options=["profile-version"],
            help="Profile version.",
            nullable=True,
        )

        async_timeout_rules = cls._args_schema.async_timeout_rules
        async_timeout_rules.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.async_timeout_rules.Element
        _element.action_name = AAZStrArg(
            options=["action-name"],
            nullable=True,
        )
        _element.timeout = AAZStrArg(
            options=["timeout"],
            nullable=True,
        )

        authorization_action_mappings = cls._args_schema.authorization_action_mappings
        authorization_action_mappings.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.authorization_action_mappings.Element
        _element.desired = AAZStrArg(
            options=["desired"],
            nullable=True,
        )
        _element.original = AAZStrArg(
            options=["original"],
            nullable=True,
        )

        availability_zone_rule = cls._args_schema.availability_zone_rule
        availability_zone_rule.availability_zone_policy = AAZStrArg(
            options=["availability-zone-policy"],
            nullable=True,
            enum={"MultiZoned": "MultiZoned", "NotSpecified": "NotSpecified", "SingleZoned": "SingleZoned"},
        )

        capacity_rule = cls._args_schema.capacity_rule
        capacity_rule.capacity_policy = AAZStrArg(
            options=["capacity-policy"],
            help="Capacity policy.",
            nullable=True,
            enum={"Default": "Default", "Restricted": "Restricted"},
        )
        capacity_rule.sku_alias = AAZStrArg(
            options=["sku-alias"],
            help="Sku alias",
            nullable=True,
        )

        check_name_availability_specifications = cls._args_schema.check_name_availability_specifications
        check_name_availability_specifications.enable_default_validation = AAZBoolArg(
            options=["enable-default-validation"],
            nullable=True,
        )
        check_name_availability_specifications.resource_types_with_custom_validation = AAZListArg(
            options=["resource-types-with-custom-validation"],
            nullable=True,
        )

        resource_types_with_custom_validation = cls._args_schema.check_name_availability_specifications.resource_types_with_custom_validation
        resource_types_with_custom_validation.Element = AAZStrArg(
            nullable=True,
        )

        common_api_versions = cls._args_schema.common_api_versions
        common_api_versions.Element = AAZStrArg(
            nullable=True,
        )

        disallowed_action_verbs = cls._args_schema.disallowed_action_verbs
        disallowed_action_verbs.Element = AAZStrArg(
            nullable=True,
        )

        disallowed_end_user_operations = cls._args_schema.disallowed_end_user_operations
        disallowed_end_user_operations.Element = AAZStrArg(
            nullable=True,
        )

        dsts_configuration = cls._args_schema.dsts_configuration
        dsts_configuration.service_dns_name = AAZStrArg(
            options=["service-dns-name"],
            nullable=True,
        )
        dsts_configuration.service_name = AAZStrArg(
            options=["service-name"],
        )

        endpoints = cls._args_schema.endpoints
        endpoints.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.endpoints.Element
        _element.api_version = AAZStrArg(
            options=["api-version"],
            help="Api version.",
            nullable=True,
        )
        _element.api_versions = AAZListArg(
            options=["api-versions"],
            nullable=True,
        )
        _element.data_boundary = AAZStrArg(
            options=["data-boundary"],
            nullable=True,
            enum={"EU": "EU", "Global": "Global", "NotDefined": "NotDefined", "US": "US"},
        )
        _element.dsts_configuration = AAZObjectArg(
            options=["dsts-configuration"],
            nullable=True,
        )
        _element.enabled = AAZBoolArg(
            options=["enabled"],
            nullable=True,
        )
        _element.endpoint_type = AAZStrArg(
            options=["endpoint-type"],
            nullable=True,
            enum={"Canary": "Canary", "NotSpecified": "NotSpecified", "Production": "Production", "TestInProduction": "TestInProduction"},
        )
        _element.endpoint_uri = AAZStrArg(
            options=["endpoint-uri"],
            nullable=True,
        )
        _element.extensions = AAZListArg(
            options=["extensions"],
            nullable=True,
        )
        _element.features_rule = AAZObjectArg(
            options=["features-rule"],
            nullable=True,
        )
        _element.kind = AAZStrArg(
            options=["kind"],
            help="Resource type endpoint kind. This Metadata is also used by portal/tooling/etc to render different UX experiences for resources of the same type.",
            nullable=True,
            enum={"Direct": "Direct", "Managed": "Managed"},
        )
        _element.locations = AAZListArg(
            options=["locations"],
            singular_options=["location"],
            help="The location.",
            nullable=True,
        )
        _element.required_features = AAZListArg(
            options=["required-features"],
            singular_options=["required-feature", "required-features"],
            help="The required features.",
            nullable=True,
        )
        _element.sku_link = AAZStrArg(
            options=["sku-link"],
            nullable=True,
        )
        _element.timeout = AAZDurationArg(
            options=["timeout"],
            nullable=True,
        )
        _element.token_auth_configuration = AAZObjectArg(
            options=["token-auth-configuration"],
            nullable=True,
        )
        cls._build_args_token_auth_configuration_update(_element.token_auth_configuration)
        _element.zones = AAZListArg(
            options=["zones"],
            help="List of zones.",
            nullable=True,
        )

        api_versions = cls._args_schema.endpoints.Element.api_versions
        api_versions.Element = AAZStrArg(
            nullable=True,
        )

        dsts_configuration = cls._args_schema.endpoints.Element.dsts_configuration
        dsts_configuration.service_dns_name = AAZStrArg(
            options=["service-dns-name"],
            nullable=True,
        )
        dsts_configuration.service_name = AAZStrArg(
            options=["service-name"],
        )

        extensions = cls._args_schema.endpoints.Element.extensions
        extensions.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.endpoints.Element.extensions.Element
        _element.endpoint_uri = AAZStrArg(
            options=["endpoint-uri"],
            nullable=True,
        )
        _element.extension_categories = AAZListArg(
            options=["extension-categories"],
            nullable=True,
        )
        _element.timeout = AAZDurationArg(
            options=["timeout"],
            nullable=True,
        )

        extension_categories = cls._args_schema.endpoints.Element.extensions.Element.extension_categories
        extension_categories.Element = AAZStrArg(
            nullable=True,
            enum={"BestMatchOperationBegin": "BestMatchOperationBegin", "NotSpecified": "NotSpecified", "ResourceCreationBegin": "ResourceCreationBegin", "ResourceCreationCompleted": "ResourceCreationCompleted", "ResourceCreationValidate": "ResourceCreationValidate", "ResourceDeletionBegin": "ResourceDeletionBegin", "ResourceDeletionCompleted": "ResourceDeletionCompleted", "ResourceDeletionValidate": "ResourceDeletionValidate", "ResourceMoveBegin": "ResourceMoveBegin", "ResourceMoveCompleted": "ResourceMoveCompleted", "ResourcePatchBegin": "ResourcePatchBegin", "ResourcePatchCompleted": "ResourcePatchCompleted", "ResourcePatchValidate": "ResourcePatchValidate", "ResourcePostAction": "ResourcePostAction", "ResourceReadBegin": "ResourceReadBegin", "ResourceReadValidate": "ResourceReadValidate", "SubscriptionLifecycleNotification": "SubscriptionLifecycleNotification", "SubscriptionLifecycleNotificationDeletion": "SubscriptionLifecycleNotificationDeletion"},
        )

        features_rule = cls._args_schema.endpoints.Element.features_rule
        features_rule.required_features_policy = AAZStrArg(
            options=["required-features-policy"],
            enum={"All": "All", "Any": "Any"},
        )

        locations = cls._args_schema.endpoints.Element.locations
        locations.Element = AAZStrArg(
            nullable=True,
        )

        required_features = cls._args_schema.endpoints.Element.required_features
        required_features.Element = AAZStrArg(
            nullable=True,
        )

        zones = cls._args_schema.endpoints.Element.zones
        zones.Element = AAZStrArg(
            nullable=True,
        )

        extended_locations = cls._args_schema.extended_locations
        extended_locations.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.extended_locations.Element
        _element.supported_policy = AAZStrArg(
            options=["supported-policy"],
            nullable=True,
        )
        _element.type = AAZStrArg(
            options=["type"],
            nullable=True,
        )

        identity_management = cls._args_schema.identity_management
        identity_management.application_id = AAZStrArg(
            options=["application-id"],
            help="The application ID that handles the identity.",
            nullable=True,
        )
        identity_management.application_ids = AAZListArg(
            options=["application-ids"],
            nullable=True,
        )
        identity_management.delegation_app_ids = AAZListArg(
            options=["delegation-app-ids"],
            nullable=True,
        )
        identity_management.type = AAZStrArg(
            options=["type"],
            nullable=True,
            enum={"Actor": "Actor", "DelegatedResourceIdentity": "DelegatedResourceIdentity", "NotSpecified": "NotSpecified", "SystemAssigned": "SystemAssigned", "UserAssigned": "UserAssigned"},
        )

        application_ids = cls._args_schema.identity_management.application_ids
        application_ids.Element = AAZStrArg(
            nullable=True,
        )

        delegation_app_ids = cls._args_schema.identity_management.delegation_app_ids
        delegation_app_ids.Element = AAZStrArg(
            nullable=True,
        )

        legacy_names = cls._args_schema.legacy_names
        legacy_names.Element = AAZStrArg(
            nullable=True,
        )

        legacy_policy = cls._args_schema.legacy_policy
        legacy_policy.disallowed_conditions = AAZListArg(
            options=["disallowed-conditions"],
            nullable=True,
        )
        legacy_policy.disallowed_legacy_operations = AAZListArg(
            options=["disallowed-legacy-operations"],
            nullable=True,
        )

        disallowed_conditions = cls._args_schema.legacy_policy.disallowed_conditions
        disallowed_conditions.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.legacy_policy.disallowed_conditions.Element
        _element.disallowed_legacy_operations = AAZListArg(
            options=["disallowed-legacy-operations"],
            nullable=True,
        )
        _element.feature = AAZStrArg(
            options=["feature"],
            help="Feature string.",
            nullable=True,
        )

        disallowed_legacy_operations = cls._args_schema.legacy_policy.disallowed_conditions.Element.disallowed_legacy_operations
        disallowed_legacy_operations.Element = AAZStrArg(
            nullable=True,
            enum={"Action": "Action", "AzureAsyncOperationWaiting": "AzureAsyncOperationWaiting", "Create": "Create", "Delete": "Delete", "DeploymentCleanup": "DeploymentCleanup", "EvaluateDeploymentOutput": "EvaluateDeploymentOutput", "NotSpecified": "NotSpecified", "Read": "Read", "ResourceCacheWaiting": "ResourceCacheWaiting", "Waiting": "Waiting"},
        )

        disallowed_legacy_operations = cls._args_schema.legacy_policy.disallowed_legacy_operations
        disallowed_legacy_operations.Element = AAZStrArg(
            nullable=True,
            enum={"Action": "Action", "AzureAsyncOperationWaiting": "AzureAsyncOperationWaiting", "Create": "Create", "Delete": "Delete", "DeploymentCleanup": "DeploymentCleanup", "EvaluateDeploymentOutput": "EvaluateDeploymentOutput", "NotSpecified": "NotSpecified", "Read": "Read", "ResourceCacheWaiting": "ResourceCacheWaiting", "Waiting": "Waiting"},
        )

        linked_access_checks = cls._args_schema.linked_access_checks
        linked_access_checks.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.linked_access_checks.Element
        _element.action_name = AAZStrArg(
            options=["action-name"],
            help="The action name.",
            nullable=True,
        )
        _element.linked_action = AAZStrArg(
            options=["linked-action"],
            help="The linked action.",
            nullable=True,
        )
        _element.linked_action_verb = AAZStrArg(
            options=["linked-action-verb"],
            help="The linked action verb.",
            nullable=True,
        )
        _element.linked_property = AAZStrArg(
            options=["linked-property"],
            help="The linked property.",
            nullable=True,
        )
        _element.linked_type = AAZStrArg(
            options=["linked-type"],
            help="The linked type.",
            nullable=True,
        )

        linked_notification_rules = cls._args_schema.linked_notification_rules
        linked_notification_rules.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.linked_notification_rules.Element
        _element.actions = AAZListArg(
            options=["actions"],
            nullable=True,
        )
        _element.actions_on_failed_operation = AAZListArg(
            options=["actions-on-failed-operation"],
            nullable=True,
        )
        _element.fast_path_actions = AAZListArg(
            options=["fast-path-actions"],
            nullable=True,
        )
        _element.fast_path_actions_on_failed_operation = AAZListArg(
            options=["fast-path-actions-on-failed-operation"],
            nullable=True,
        )
        _element.linked_notification_timeout = AAZDurationArg(
            options=["linked-notification-timeout"],
            nullable=True,
        )

        actions = cls._args_schema.linked_notification_rules.Element.actions
        actions.Element = AAZStrArg(
            nullable=True,
        )

        actions_on_failed_operation = cls._args_schema.linked_notification_rules.Element.actions_on_failed_operation
        actions_on_failed_operation.Element = AAZStrArg(
            nullable=True,
        )

        fast_path_actions = cls._args_schema.linked_notification_rules.Element.fast_path_actions
        fast_path_actions.Element = AAZStrArg(
            nullable=True,
        )

        fast_path_actions_on_failed_operation = cls._args_schema.linked_notification_rules.Element.fast_path_actions_on_failed_operation
        fast_path_actions_on_failed_operation.Element = AAZStrArg(
            nullable=True,
        )

        linked_operation_rules = cls._args_schema.linked_operation_rules
        linked_operation_rules.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.linked_operation_rules.Element
        _element.depends_on_types = AAZListArg(
            options=["depends-on-types"],
            help="Depends on types.",
            nullable=True,
        )
        _element.linked_action = AAZStrArg(
            options=["linked-action"],
            enum={"Blocked": "Blocked", "Enabled": "Enabled", "NotSpecified": "NotSpecified", "Validate": "Validate"},
        )
        _element.linked_operation = AAZStrArg(
            options=["linked-operation"],
            enum={"CrossResourceGroupResourceMove": "CrossResourceGroupResourceMove", "CrossSubscriptionResourceMove": "CrossSubscriptionResourceMove", "None": "None"},
        )

        depends_on_types = cls._args_schema.linked_operation_rules.Element.depends_on_types
        depends_on_types.Element = AAZStrArg(
            nullable=True,
        )

        logging_rules = cls._args_schema.logging_rules
        logging_rules.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.logging_rules.Element
        _element.action = AAZStrArg(
            options=["action"],
        )
        _element.detail_level = AAZStrArg(
            options=["detail-level"],
            enum={"Body": "Body", "None": "None"},
        )
        _element.direction = AAZStrArg(
            options=["direction"],
            enum={"None": "None", "Request": "Request", "Response": "Response"},
        )
        _element.hidden_property_paths = AAZObjectArg(
            options=["hidden-property-paths"],
            nullable=True,
        )

        hidden_property_paths = cls._args_schema.logging_rules.Element.hidden_property_paths
        hidden_property_paths.hidden_paths_on_request = AAZListArg(
            options=["hidden-paths-on-request"],
            nullable=True,
        )
        hidden_property_paths.hidden_paths_on_response = AAZListArg(
            options=["hidden-paths-on-response"],
            nullable=True,
        )

        hidden_paths_on_request = cls._args_schema.logging_rules.Element.hidden_property_paths.hidden_paths_on_request
        hidden_paths_on_request.Element = AAZStrArg(
            nullable=True,
        )

        hidden_paths_on_response = cls._args_schema.logging_rules.Element.hidden_property_paths.hidden_paths_on_response
        hidden_paths_on_response.Element = AAZStrArg(
            nullable=True,
        )

        managed_resource_group_configuration = cls._args_schema.managed_resource_group_configuration
        managed_resource_group_configuration.application_ids = AAZListArg(
            options=["application-ids"],
            nullable=True,
        )
        managed_resource_group_configuration.deny_assignment_configuration = AAZObjectArg(
            options=["deny-assignment-configuration"],
            nullable=True,
        )
        managed_resource_group_configuration.enabled = AAZBoolArg(
            options=["enabled"],
            nullable=True,
        )
        managed_resource_group_configuration.resource_group_location_override = AAZStrArg(
            options=["resource-group-location-override"],
            nullable=True,
        )

        application_ids = cls._args_schema.managed_resource_group_configuration.application_ids
        application_ids.Element = AAZStrArg(
            nullable=True,
        )

        deny_assignment_configuration = cls._args_schema.managed_resource_group_configuration.deny_assignment_configuration
        deny_assignment_configuration.enabled = AAZBoolArg(
            options=["enabled"],
            nullable=True,
        )
        deny_assignment_configuration.not_actions = AAZListArg(
            options=["not-actions"],
            nullable=True,
        )

        not_actions = cls._args_schema.managed_resource_group_configuration.deny_assignment_configuration.not_actions
        not_actions.Element = AAZStrArg(
            nullable=True,
        )

        management = cls._args_schema.management
        management.authorization_owners = AAZListArg(
            options=["authorization-owners"],
            help="The authorization owners.",
            nullable=True,
        )
        management.canary_manifest_owners = AAZListArg(
            options=["canary-manifest-owners"],
            help="List of manifest owners for canary.",
            nullable=True,
        )
        management.error_response_message_options = AAZObjectArg(
            options=["message-options", "error-response-message-options"],
            help="Options for error response messages.",
            nullable=True,
        )
        management.expedited_rollout_metadata = AAZObjectArg(
            options=["rollout-metadata", "expedited-rollout-metadata"],
            help="Metadata for expedited rollout.",
            nullable=True,
        )
        management.expedited_rollout_submitters = AAZListArg(
            options=["rollout-submitters", "expedited-rollout-submitters"],
            help="List of expedited rollout submitters.",
            nullable=True,
        )
        management.incident_contact_email = AAZStrArg(
            options=["incident-contact-email"],
            help="The email address of contacts for incidents related to the RP.",
            nullable=True,
        )
        management.incident_routing_service = AAZStrArg(
            options=["incident-service", "incident-routing-service"],
            help="The service in IcM when creating or transferring incidents to the RP.",
            nullable=True,
        )
        management.incident_routing_team = AAZStrArg(
            options=["incident-team", "incident-routing-team"],
            help="The team in IcM when creating or transferring incidents to the RP.",
            nullable=True,
        )
        management.manifest_owners = AAZListArg(
            options=["manifest-owners"],
            singular_options=["manifest-owner"],
            help="Specifies an array of required ACIS claims to modify the resource provider's manifest content via ACIS.",
            nullable=True,
        )
        management.pc_code = AAZStrArg(
            options=["pc-code"],
            help="The profit center code for the subscription.",
            nullable=True,
        )
        management.profit_center_program_id = AAZStrArg(
            options=["pc-program-id", "profit-center-program-id"],
            help="The profit center program id for the subscription.",
            nullable=True,
        )
        management.resource_access_policy = AAZStrArg(
            options=["resource-access-policy"],
            help="The resource access policy.",
            nullable=True,
            enum={"AcisActionAllowed": "AcisActionAllowed", "AcisReadAllowed": "AcisReadAllowed", "NotSpecified": "NotSpecified"},
        )
        management.resource_access_roles = AAZListArg(
            options=["resource-access-roles"],
            help="The resource access roles.",
            nullable=True,
        )
        management.schema_owners = AAZListArg(
            options=["schema-owners"],
            singular_options=["schema-owner", "schema-owners"],
            help="Specifies an array of needed ACIS claims to modify the resource provider schema via ACIS.",
            nullable=True,
        )
        management.service_tree_infos = AAZListArg(
            options=["service-tree-infos"],
            nullable=True,
        )

        authorization_owners = cls._args_schema.management.authorization_owners
        authorization_owners.Element = AAZStrArg(
            nullable=True,
        )

        canary_manifest_owners = cls._args_schema.management.canary_manifest_owners
        canary_manifest_owners.Element = AAZStrArg(
            nullable=True,
        )

        error_response_message_options = cls._args_schema.management.error_response_message_options
        error_response_message_options.server_failure_response_message_type = AAZStrArg(
            options=["server-failure-response-message-type"],
            help="Type of server failure response message.",
            nullable=True,
            enum={"NotSpecified": "NotSpecified", "OutageReporting": "OutageReporting"},
        )

        expedited_rollout_metadata = cls._args_schema.management.expedited_rollout_metadata
        expedited_rollout_metadata.enabled = AAZBoolArg(
            options=["enabled"],
            help="Expedited rollout enabled?",
            nullable=True,
        )
        expedited_rollout_metadata.expedited_rollout_intent = AAZStrArg(
            options=["expedited-rollout-intent"],
            help="Expedited rollout intent.",
            nullable=True,
            enum={"Hotfix": "Hotfix", "NotSpecified": "NotSpecified"},
        )

        expedited_rollout_submitters = cls._args_schema.management.expedited_rollout_submitters
        expedited_rollout_submitters.Element = AAZStrArg(
            nullable=True,
        )

        manifest_owners = cls._args_schema.management.manifest_owners
        manifest_owners.Element = AAZStrArg(
            nullable=True,
        )

        resource_access_roles = cls._args_schema.management.resource_access_roles
        resource_access_roles.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.management.resource_access_roles.Element
        _element.actions = AAZListArg(
            options=["actions"],
            nullable=True,
        )
        _element.allowed_group_claims = AAZListArg(
            options=["allowed-group-claims"],
            nullable=True,
        )

        actions = cls._args_schema.management.resource_access_roles.Element.actions
        actions.Element = AAZStrArg(
            nullable=True,
        )

        allowed_group_claims = cls._args_schema.management.resource_access_roles.Element.allowed_group_claims
        allowed_group_claims.Element = AAZStrArg(
            nullable=True,
        )

        schema_owners = cls._args_schema.management.schema_owners
        schema_owners.Element = AAZStrArg(
            nullable=True,
        )

        service_tree_infos = cls._args_schema.management.service_tree_infos
        service_tree_infos.Element = AAZObjectArg(
            nullable=True,
        )
        cls._build_args_service_tree_info_update(service_tree_infos.Element)

        marketplace_options = cls._args_schema.marketplace_options
        marketplace_options.add_on_plan_conversion_allowed = AAZBoolArg(
            options=["add-on-plan-conversion-allowed"],
            help="Add-on plan conversion allowed.",
            nullable=True,
        )

        metadata = cls._args_schema.metadata
        metadata.Element = AAZFreeFormDictArg(
            nullable=True,
            blank={},
        )

        notifications = cls._args_schema.notifications
        notifications.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.notifications.Element
        _element.notification_type = AAZStrArg(
            options=["notification-type"],
            nullable=True,
            enum={"SubscriptionNotification": "SubscriptionNotification", "Unspecified": "Unspecified"},
        )
        _element.skip_notifications = AAZStrArg(
            options=["skip-notifications"],
            nullable=True,
            enum={"Disabled": "Disabled", "Enabled": "Enabled", "Unspecified": "Unspecified"},
        )

        on_behalf_of_tokens = cls._args_schema.on_behalf_of_tokens
        on_behalf_of_tokens.action_name = AAZStrArg(
            options=["action-name"],
            nullable=True,
        )
        on_behalf_of_tokens.life_time = AAZStrArg(
            options=["life-time"],
            nullable=True,
        )

        open_api_configuration = cls._args_schema.open_api_configuration
        open_api_configuration.validation = AAZObjectArg(
            options=["validation"],
            nullable=True,
        )

        validation = cls._args_schema.open_api_configuration.validation
        validation.allow_noncompliant_collection_response = AAZBoolArg(
            options=["allow-noncompliant-collection-response"],
            help="Indicates whether a non compliance response is allowed for a LIST call",
            nullable=True,
        )

        private_endpoint_configuration = cls._args_schema.private_endpoint_configuration
        private_endpoint_configuration.group_connectivity_information = AAZListArg(
            options=["group-connectivity-information"],
            help="The list of group connectivity information.",
        )
        private_endpoint_configuration.min_api_version = AAZStrArg(
            options=["min-api-version"],
            help="The first api version that support private endpoint.",
        )

        group_connectivity_information = cls._args_schema.private_endpoint_configuration.group_connectivity_information
        group_connectivity_information.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.private_endpoint_configuration.group_connectivity_information.Element
        _element.group_id = AAZStrArg(
            options=["group-id"],
            help="The group id.",
        )
        _element.redirect_map_id = AAZStrArg(
            options=["redirect-map-id"],
            help="The redirect map id.",
            nullable=True,
        )
        _element.required_members = AAZListArg(
            options=["required-members"],
            help="List of required members for the group id.",
        )
        _element.required_zone_names = AAZListArg(
            options=["required-zone-names"],
            help="List of required zone names for the group id.",
        )

        required_members = cls._args_schema.private_endpoint_configuration.group_connectivity_information.Element.required_members
        required_members.Element = AAZStrArg(
            nullable=True,
        )

        required_zone_names = cls._args_schema.private_endpoint_configuration.group_connectivity_information.Element.required_zone_names
        required_zone_names.Element = AAZStrArg(
            nullable=True,
        )

        quota_rule = cls._args_schema.quota_rule
        quota_rule.location_rules = AAZListArg(
            options=["location-rules"],
            nullable=True,
        )
        quota_rule.quota_policy = AAZStrArg(
            options=["quota-policy"],
            help="Quota policy.",
            nullable=True,
            enum={"Default": "Default", "None": "None", "Restricted": "Restricted"},
        )
        quota_rule.required_features = AAZListArg(
            options=["required-features"],
            nullable=True,
        )

        location_rules = cls._args_schema.quota_rule.location_rules
        location_rules.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.quota_rule.location_rules.Element
        _element.location = AAZStrArg(
            options=["location"],
            nullable=True,
        )
        _element.policy = AAZStrArg(
            options=["policy"],
            help="Quota policy.",
            nullable=True,
            enum={"Default": "Default", "None": "None", "Restricted": "Restricted"},
        )
        _element.quota_id = AAZStrArg(
            options=["quota-id"],
            nullable=True,
        )

        required_features = cls._args_schema.quota_rule.required_features
        required_features.Element = AAZStrArg(
            nullable=True,
        )

        required_features = cls._args_schema.required_features
        required_features.Element = AAZStrArg(
            nullable=True,
        )

        resource_cache = cls._args_schema.resource_cache
        resource_cache.enable_resource_cache = AAZBoolArg(
            options=["enable-resource-cache"],
            help="Enable resource cache.",
            nullable=True,
        )
        resource_cache.resource_cache_expiration_timespan = AAZStrArg(
            options=["resource-cache-expiration-timespan"],
            help="Resource cache expiration timespan.",
            nullable=True,
        )

        resource_concurrency_control_options = cls._args_schema.resource_concurrency_control_options
        resource_concurrency_control_options.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.resource_concurrency_control_options.Element
        _element.policy = AAZStrArg(
            options=["policy"],
            nullable=True,
            enum={"NotSpecified": "NotSpecified", "SynchronizeBeginExtension": "SynchronizeBeginExtension"},
        )

        resource_graph_configuration = cls._args_schema.resource_graph_configuration
        resource_graph_configuration.api_version = AAZStrArg(
            options=["api-version"],
            nullable=True,
        )
        resource_graph_configuration.enabled = AAZBoolArg(
            options=["enabled"],
            nullable=True,
        )

        resource_management_options = cls._args_schema.resource_management_options
        resource_management_options.batch_provisioning_support = AAZObjectArg(
            options=["batch-provisioning-support"],
            help="Batch provisioning support.",
            nullable=True,
        )
        resource_management_options.delete_dependencies = AAZListArg(
            options=["delete-dependencies"],
            help="Delete dependencies.",
            nullable=True,
        )
        resource_management_options.nested_provisioning_support = AAZObjectArg(
            options=["nested-provisioning-support"],
            help="Nested provisioning support.",
            nullable=True,
        )

        batch_provisioning_support = cls._args_schema.resource_management_options.batch_provisioning_support
        batch_provisioning_support.supported_operations = AAZStrArg(
            options=["supported-operations"],
            help="Supported operations.",
            nullable=True,
            enum={"Delete": "Delete", "Get": "Get", "NotSpecified": "NotSpecified"},
        )

        delete_dependencies = cls._args_schema.resource_management_options.delete_dependencies
        delete_dependencies.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.resource_management_options.delete_dependencies.Element
        _element.linked_property = AAZStrArg(
            options=["linked-property"],
            help="Linked property.",
            nullable=True,
        )
        _element.linked_type = AAZStrArg(
            options=["linked-type"],
            help="Linked type.",
            nullable=True,
        )
        _element.required_features = AAZListArg(
            options=["required-features"],
            help="Required features.",
            nullable=True,
        )

        required_features = cls._args_schema.resource_management_options.delete_dependencies.Element.required_features
        required_features.Element = AAZStrArg(
            nullable=True,
        )

        nested_provisioning_support = cls._args_schema.resource_management_options.nested_provisioning_support
        nested_provisioning_support.minimum_api_version = AAZStrArg(
            options=["minimum-api-version"],
            help="Minimum API version.",
            nullable=True,
        )

        resource_move_policy = cls._args_schema.resource_move_policy
        resource_move_policy.cross_resource_group_move_enabled = AAZBoolArg(
            options=["cross-resource-group-move-enabled"],
            nullable=True,
        )
        resource_move_policy.cross_subscription_move_enabled = AAZBoolArg(
            options=["cross-subscription-move-enabled"],
            nullable=True,
        )
        resource_move_policy.validation_required = AAZBoolArg(
            options=["validation-required"],
            nullable=True,
        )

        resource_provider_authorization_rules = cls._args_schema.resource_provider_authorization_rules
        resource_provider_authorization_rules.async_operation_polling_rules = AAZObjectArg(
            options=["async-operation-polling-rules"],
            nullable=True,
        )

        async_operation_polling_rules = cls._args_schema.resource_provider_authorization_rules.async_operation_polling_rules
        async_operation_polling_rules.additional_options = AAZStrArg(
            options=["additional-options"],
            nullable=True,
            enum={"ProtectedAsyncOperationPolling": "ProtectedAsyncOperationPolling", "ProtectedAsyncOperationPollingAuditOnly": "ProtectedAsyncOperationPollingAuditOnly"},
        )
        async_operation_polling_rules.authorization_actions = AAZListArg(
            options=["authorization-actions"],
            nullable=True,
        )

        authorization_actions = cls._args_schema.resource_provider_authorization_rules.async_operation_polling_rules.authorization_actions
        authorization_actions.Element = AAZStrArg(
            nullable=True,
        )

        resource_query_management = cls._args_schema.resource_query_management
        resource_query_management.filter_option = AAZStrArg(
            options=["filter-option"],
            help="Filter option.",
            nullable=True,
            enum={"EnableSubscriptionFilterOnTenant": "EnableSubscriptionFilterOnTenant", "NotSpecified": "NotSpecified"},
        )

        resource_type_common_attribute_management = cls._args_schema.resource_type_common_attribute_management
        resource_type_common_attribute_management.common_api_versions_merge_mode = AAZStrArg(
            options=["common-api-versions-merge-mode"],
            help="Common api versions merge mode.",
            nullable=True,
            enum={"Merge": "Merge", "Overwrite": "Overwrite"},
        )

        routing_rule = cls._args_schema.routing_rule
        routing_rule.host_resource_type = AAZStrArg(
            options=["host-resource-type"],
            help="Hosted resource type.",
            nullable=True,
        )

        service_tree_infos = cls._args_schema.service_tree_infos
        service_tree_infos.Element = AAZObjectArg(
            nullable=True,
        )
        cls._build_args_service_tree_info_update(service_tree_infos.Element)

        subscription_state_rules = cls._args_schema.subscription_state_rules
        subscription_state_rules.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.subscription_state_rules.Element
        _element.allowed_actions = AAZListArg(
            options=["allowed-actions"],
            nullable=True,
        )
        _element.state = AAZStrArg(
            options=["state"],
            nullable=True,
            enum={"Deleted": "Deleted", "Disabled": "Disabled", "Enabled": "Enabled", "NotDefined": "NotDefined", "PastDue": "PastDue", "Warned": "Warned"},
        )

        allowed_actions = cls._args_schema.subscription_state_rules.Element.allowed_actions
        allowed_actions.Element = AAZStrArg(
            nullable=True,
        )

        swagger_specifications = cls._args_schema.swagger_specifications
        swagger_specifications.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.swagger_specifications.Element
        _element.api_versions = AAZListArg(
            options=["api-versions"],
            nullable=True,
        )
        _element.swagger_spec_folder_uri = AAZStrArg(
            options=["swagger-spec-folder-uri"],
            nullable=True,
        )

        api_versions = cls._args_schema.swagger_specifications.Element.api_versions
        api_versions.Element = AAZStrArg(
            nullable=True,
        )

        template_deployment_options = cls._args_schema.template_deployment_options
        template_deployment_options.preflight_options = AAZListArg(
            options=["preflight-options"],
            nullable=True,
        )
        template_deployment_options.preflight_supported = AAZBoolArg(
            options=["preflight-supported"],
            nullable=True,
        )

        preflight_options = cls._args_schema.template_deployment_options.preflight_options
        preflight_options.Element = AAZStrArg(
            nullable=True,
            enum={"ContinueDeploymentOnFailure": "ContinueDeploymentOnFailure", "DefaultValidationOnly": "DefaultValidationOnly", "None": "None"},
        )

        template_deployment_policy = cls._args_schema.template_deployment_policy
        template_deployment_policy.capabilities = AAZStrArg(
            options=["capabilities"],
            enum={"Default": "Default", "Preflight": "Preflight"},
        )
        template_deployment_policy.preflight_notifications = AAZStrArg(
            options=["preflight-notifications"],
            nullable=True,
            enum={"None": "None", "UnregisteredSubscriptions": "UnregisteredSubscriptions"},
        )
        template_deployment_policy.preflight_options = AAZStrArg(
            options=["preflight-options"],
            enum={"DeploymentRequests": "DeploymentRequests", "None": "None", "RegisteredOnly": "RegisteredOnly", "TestOnly": "TestOnly", "ValidationRequests": "ValidationRequests"},
        )

        throttling_rules = cls._args_schema.throttling_rules
        throttling_rules.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.throttling_rules.Element
        _element.action = AAZStrArg(
            options=["action"],
        )
        _element.application_id = AAZListArg(
            options=["application-id"],
            nullable=True,
        )
        _element.metrics = AAZListArg(
            options=["metrics"],
        )
        _element.required_features = AAZListArg(
            options=["required-features"],
            nullable=True,
        )

        application_id = cls._args_schema.throttling_rules.Element.application_id
        application_id.Element = AAZStrArg(
            nullable=True,
        )

        metrics = cls._args_schema.throttling_rules.Element.metrics
        metrics.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.throttling_rules.Element.metrics.Element
        _element.interval = AAZDurationArg(
            options=["interval"],
            nullable=True,
        )
        _element.limit = AAZIntArg(
            options=["limit"],
        )
        _element.type = AAZStrArg(
            options=["type"],
            enum={"NotSpecified": "NotSpecified", "NumberOfRequests": "NumberOfRequests", "NumberOfResources": "NumberOfResources"},
        )

        required_features = cls._args_schema.throttling_rules.Element.required_features
        required_features.Element = AAZStrArg(
            nullable=True,
        )

        # define Arg Group "RequestHeaderOptions"

        _args_schema = cls._args_schema
        _args_schema.opt_in_headers = AAZStrArg(
            options=["--opt-in-headers"],
            arg_group="RequestHeaderOptions",
            help="The opt-in headers.",
            nullable=True,
            enum={"ClientGroupMembership": "ClientGroupMembership", "ClientPrincipalNameEncoded": "ClientPrincipalNameEncoded", "MSIResourceIdEncoded": "MSIResourceIdEncoded", "ManagementGroupAncestorsEncoded": "ManagementGroupAncestorsEncoded", "NotSpecified": "NotSpecified", "PrivateLinkId": "PrivateLinkId", "PrivateLinkResourceId": "PrivateLinkResourceId", "PrivateLinkVnetTrafficTag": "PrivateLinkVnetTrafficTag", "ResourceGroupLocation": "ResourceGroupLocation", "SignedAuxiliaryTokens": "SignedAuxiliaryTokens", "SignedUserToken": "SignedUserToken", "UnboundedClientGroupMembership": "UnboundedClientGroupMembership"},
        )
        _args_schema.opt_out_headers = AAZStrArg(
            options=["--opt-out-headers"],
            arg_group="RequestHeaderOptions",
            help="The opt-out headers.",
            nullable=True,
            enum={"NotSpecified": "NotSpecified", "SystemDataCreatedByLastModifiedBy": "SystemDataCreatedByLastModifiedBy"},
        )

        # define Arg Group "SubscriptionLifecycleNotificationSpecifications"

        _args_schema = cls._args_schema
        _args_schema.soft_delete_ttl = AAZDurationArg(
            options=["--soft-delete-ttl"],
            arg_group="SubscriptionLifecycleNotificationSpecifications",
            help="The soft delete time to live.",
            nullable=True,
        )
        _args_schema.subscription_state_override_actions = AAZListArg(
            options=["--override-actions", "--subscription-state-override-actions"],
            arg_group="SubscriptionLifecycleNotificationSpecifications",
            help="The subscription state override actions.",
            nullable=True,
        )

        subscription_state_override_actions = cls._args_schema.subscription_state_override_actions
        subscription_state_override_actions.Element = AAZObjectArg(
            nullable=True,
        )

        _element = cls._args_schema.subscription_state_override_actions.Element
        _element.action = AAZStrArg(
            options=["action"],
            enum={"BillingCancellation": "BillingCancellation", "DeleteAllResources": "DeleteAllResources", "NoOp": "NoOp", "NotDefined": "NotDefined", "SoftDeleteAllResources": "SoftDeleteAllResources", "UndoSoftDelete": "UndoSoftDelete"},
        )
        _element.state = AAZStrArg(
            options=["state"],
            enum={"Deleted": "Deleted", "Registered": "Registered", "Suspended": "Suspended", "SuspendedToDeleted": "SuspendedToDeleted", "SuspendedToRegistered": "SuspendedToRegistered", "SuspendedToUnregistered": "SuspendedToUnregistered", "SuspendedToWarned": "SuspendedToWarned", "Unregistered": "Unregistered", "Warned": "Warned", "WarnedToDeleted": "WarnedToDeleted", "WarnedToRegistered": "WarnedToRegistered", "WarnedToSuspended": "WarnedToSuspended", "WarnedToUnregistered": "WarnedToUnregistered"},
        )
        return cls._args_schema