def _build_schema_on_200()

in src/providerhub/azext_providerhub/aaz/latest/providerhub/default_rollout/_wait.py [0:0]


        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.id = AAZStrType(
                flags={"read_only": True},
            )
            _schema_on_200.name = AAZStrType(
                flags={"read_only": True},
            )
            _schema_on_200.properties = AAZObjectType()
            _schema_on_200.system_data = AAZObjectType(
                serialized_name="systemData",
                flags={"read_only": True},
            )
            _WaitHelper._build_schema_system_data_read(_schema_on_200.system_data)
            _schema_on_200.type = AAZStrType(
                flags={"read_only": True},
            )

            properties = cls._schema_on_200.properties
            properties.provisioning_state = AAZStrType(
                serialized_name="provisioningState",
                flags={"read_only": True},
            )
            properties.specification = AAZObjectType()
            properties.status = AAZObjectType()

            specification = cls._schema_on_200.properties.specification
            specification.auto_provision_config = AAZObjectType(
                serialized_name="autoProvisionConfig",
            )
            specification.canary = AAZObjectType()
            specification.expedited_rollout = AAZObjectType(
                serialized_name="expeditedRollout",
            )
            specification.high_traffic = AAZObjectType(
                serialized_name="highTraffic",
            )
            specification.low_traffic = AAZObjectType(
                serialized_name="lowTraffic",
            )
            specification.manifest_checkin_specification = AAZObjectType(
                serialized_name="manifestCheckinSpecification",
            )
            specification.medium_traffic = AAZObjectType(
                serialized_name="mediumTraffic",
            )
            specification.provider_registration = AAZObjectType(
                serialized_name="providerRegistration",
            )
            specification.resource_type_registrations = AAZListType(
                serialized_name="resourceTypeRegistrations",
            )
            specification.rest_of_the_world_group_one = AAZObjectType(
                serialized_name="restOfTheWorldGroupOne",
            )
            specification.rest_of_the_world_group_two = AAZObjectType(
                serialized_name="restOfTheWorldGroupTwo",
            )

            auto_provision_config = cls._schema_on_200.properties.specification.auto_provision_config
            auto_provision_config.resource_graph = AAZBoolType(
                serialized_name="resourceGraph",
            )
            auto_provision_config.storage = AAZBoolType()

            canary = cls._schema_on_200.properties.specification.canary
            canary.regions = AAZListType()
            canary.skip_regions = AAZListType(
                serialized_name="skipRegions",
            )

            regions = cls._schema_on_200.properties.specification.canary.regions
            regions.Element = AAZStrType()

            skip_regions = cls._schema_on_200.properties.specification.canary.skip_regions
            skip_regions.Element = AAZStrType()

            expedited_rollout = cls._schema_on_200.properties.specification.expedited_rollout
            expedited_rollout.enabled = AAZBoolType()

            high_traffic = cls._schema_on_200.properties.specification.high_traffic
            high_traffic.regions = AAZListType()
            high_traffic.wait_duration = AAZStrType(
                serialized_name="waitDuration",
            )

            regions = cls._schema_on_200.properties.specification.high_traffic.regions
            regions.Element = AAZStrType()

            low_traffic = cls._schema_on_200.properties.specification.low_traffic
            low_traffic.regions = AAZListType()
            low_traffic.wait_duration = AAZStrType(
                serialized_name="waitDuration",
            )

            regions = cls._schema_on_200.properties.specification.low_traffic.regions
            regions.Element = AAZStrType()

            manifest_checkin_specification = cls._schema_on_200.properties.specification.manifest_checkin_specification
            manifest_checkin_specification.manifest_checkin_option = AAZStrType(
                serialized_name="manifestCheckinOption",
            )
            manifest_checkin_specification.manifest_checkin_params = AAZObjectType(
                serialized_name="manifestCheckinParams",
            )

            manifest_checkin_params = cls._schema_on_200.properties.specification.manifest_checkin_specification.manifest_checkin_params
            manifest_checkin_params.baseline_arm_manifest_location = AAZStrType(
                serialized_name="baselineArmManifestLocation",
                flags={"required": True},
            )
            manifest_checkin_params.environment = AAZStrType(
                flags={"required": True},
            )

            medium_traffic = cls._schema_on_200.properties.specification.medium_traffic
            medium_traffic.regions = AAZListType()
            medium_traffic.wait_duration = AAZStrType(
                serialized_name="waitDuration",
            )

            regions = cls._schema_on_200.properties.specification.medium_traffic.regions
            regions.Element = AAZStrType()

            provider_registration = cls._schema_on_200.properties.specification.provider_registration
            provider_registration.id = AAZStrType(
                flags={"read_only": True},
            )
            provider_registration.kind = AAZStrType()
            provider_registration.name = AAZStrType(
                flags={"read_only": True},
            )
            provider_registration.properties = AAZObjectType()
            provider_registration.system_data = AAZObjectType(
                serialized_name="systemData",
                flags={"read_only": True},
            )
            _WaitHelper._build_schema_system_data_read(provider_registration.system_data)
            provider_registration.type = AAZStrType(
                flags={"read_only": True},
            )

            properties = cls._schema_on_200.properties.specification.provider_registration.properties
            properties.capabilities = AAZListType()
            properties.cross_tenant_token_validation = AAZStrType(
                serialized_name="crossTenantTokenValidation",
            )
            properties.custom_manifest_version = AAZStrType(
                serialized_name="customManifestVersion",
            )
            properties.dsts_configuration = AAZObjectType(
                serialized_name="dstsConfiguration",
            )
            properties.enable_tenant_linked_notification = AAZBoolType(
                serialized_name="enableTenantLinkedNotification",
                nullable=True,
            )
            properties.features_rule = AAZObjectType(
                serialized_name="featuresRule",
            )
            properties.global_notification_endpoints = AAZListType(
                serialized_name="globalNotificationEndpoints",
            )
            properties.legacy_namespace = AAZStrType(
                serialized_name="legacyNamespace",
            )
            properties.legacy_registrations = AAZListType(
                serialized_name="legacyRegistrations",
            )
            properties.linked_notification_rules = AAZListType(
                serialized_name="linkedNotificationRules",
            )
            properties.management = AAZObjectType()
            properties.management_group_global_notification_endpoints = AAZListType(
                serialized_name="managementGroupGlobalNotificationEndpoints",
            )
            properties.metadata = AAZFreeFormDictType()
            properties.namespace = AAZStrType()
            properties.notification_options = AAZStrType(
                serialized_name="notificationOptions",
            )
            properties.notification_settings = AAZObjectType(
                serialized_name="notificationSettings",
            )
            properties.notifications = AAZListType()
            _WaitHelper._build_schema_notifications_read(properties.notifications)
            properties.optional_features = AAZListType(
                serialized_name="optionalFeatures",
            )
            properties.private_resource_provider_configuration = AAZObjectType(
                serialized_name="privateResourceProviderConfiguration",
            )
            properties.provider_authentication = AAZObjectType(
                serialized_name="providerAuthentication",
            )
            properties.provider_authorizations = AAZListType(
                serialized_name="providerAuthorizations",
            )
            properties.provider_hub_metadata = AAZObjectType(
                serialized_name="providerHubMetadata",
            )
            properties.provider_type = AAZStrType(
                serialized_name="providerType",
            )
            properties.provider_version = AAZStrType(
                serialized_name="providerVersion",
            )
            properties.provisioning_state = AAZStrType(
                serialized_name="provisioningState",
                flags={"read_only": True},
            )
            properties.request_header_options = AAZObjectType(
                serialized_name="requestHeaderOptions",
            )
            properties.required_features = AAZListType(
                serialized_name="requiredFeatures",
            )
            properties.resource_group_lock_option_during_move = AAZObjectType(
                serialized_name="resourceGroupLockOptionDuringMove",
            )
            properties.resource_hydration_accounts = AAZListType(
                serialized_name="resourceHydrationAccounts",
            )
            properties.resource_provider_authorization_rules = AAZObjectType(
                serialized_name="resourceProviderAuthorizationRules",
            )
            _WaitHelper._build_schema_resource_provider_authorization_rules_read(properties.resource_provider_authorization_rules)
            properties.response_options = AAZObjectType(
                serialized_name="responseOptions",
            )
            properties.service_name = AAZStrType(
                serialized_name="serviceName",
            )
            properties.services = AAZListType()
            properties.subscription_lifecycle_notification_specifications = AAZObjectType(
                serialized_name="subscriptionLifecycleNotificationSpecifications",
            )
            properties.template_deployment_options = AAZObjectType(
                serialized_name="templateDeploymentOptions",
            )
            properties.token_auth_configuration = AAZObjectType(
                serialized_name="tokenAuthConfiguration",
            )
            _WaitHelper._build_schema_token_auth_configuration_read(properties.token_auth_configuration)

            capabilities = cls._schema_on_200.properties.specification.provider_registration.properties.capabilities
            capabilities.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.provider_registration.properties.capabilities.Element
            _element.effect = AAZStrType(
                flags={"required": True},
            )
            _element.quota_id = AAZStrType(
                serialized_name="quotaId",
                flags={"required": True},
            )
            _element.required_features = AAZListType(
                serialized_name="requiredFeatures",
            )

            required_features = cls._schema_on_200.properties.specification.provider_registration.properties.capabilities.Element.required_features
            required_features.Element = AAZStrType()

            dsts_configuration = cls._schema_on_200.properties.specification.provider_registration.properties.dsts_configuration
            dsts_configuration.service_dns_name = AAZStrType(
                serialized_name="serviceDnsName",
            )
            dsts_configuration.service_name = AAZStrType(
                serialized_name="serviceName",
                flags={"required": True},
            )

            features_rule = cls._schema_on_200.properties.specification.provider_registration.properties.features_rule
            features_rule.required_features_policy = AAZStrType(
                serialized_name="requiredFeaturesPolicy",
                flags={"required": True},
            )

            global_notification_endpoints = cls._schema_on_200.properties.specification.provider_registration.properties.global_notification_endpoints
            global_notification_endpoints.Element = AAZObjectType()
            _WaitHelper._build_schema_resource_provider_endpoint_read(global_notification_endpoints.Element)

            legacy_registrations = cls._schema_on_200.properties.specification.provider_registration.properties.legacy_registrations
            legacy_registrations.Element = AAZStrType()

            linked_notification_rules = cls._schema_on_200.properties.specification.provider_registration.properties.linked_notification_rules
            linked_notification_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.provider_registration.properties.linked_notification_rules.Element
            _element.actions = AAZListType()
            _element.dsts_configuration = AAZObjectType(
                serialized_name="dstsConfiguration",
            )
            _element.endpoints = AAZListType()
            _element.token_auth_configuration = AAZObjectType(
                serialized_name="tokenAuthConfiguration",
            )
            _WaitHelper._build_schema_token_auth_configuration_read(_element.token_auth_configuration)

            actions = cls._schema_on_200.properties.specification.provider_registration.properties.linked_notification_rules.Element.actions
            actions.Element = AAZStrType()

            dsts_configuration = cls._schema_on_200.properties.specification.provider_registration.properties.linked_notification_rules.Element.dsts_configuration
            dsts_configuration.service_dns_name = AAZStrType(
                serialized_name="serviceDnsName",
            )
            dsts_configuration.service_name = AAZStrType(
                serialized_name="serviceName",
                flags={"required": True},
            )

            endpoints = cls._schema_on_200.properties.specification.provider_registration.properties.linked_notification_rules.Element.endpoints
            endpoints.Element = AAZObjectType()
            _WaitHelper._build_schema_resource_provider_endpoint_read(endpoints.Element)

            management = cls._schema_on_200.properties.specification.provider_registration.properties.management
            management.authorization_owners = AAZListType(
                serialized_name="authorizationOwners",
            )
            management.canary_manifest_owners = AAZListType(
                serialized_name="canaryManifestOwners",
            )
            management.error_response_message_options = AAZObjectType(
                serialized_name="errorResponseMessageOptions",
            )
            management.expedited_rollout_metadata = AAZObjectType(
                serialized_name="expeditedRolloutMetadata",
            )
            management.expedited_rollout_submitters = AAZListType(
                serialized_name="expeditedRolloutSubmitters",
            )
            management.incident_contact_email = AAZStrType(
                serialized_name="incidentContactEmail",
            )
            management.incident_routing_service = AAZStrType(
                serialized_name="incidentRoutingService",
            )
            management.incident_routing_team = AAZStrType(
                serialized_name="incidentRoutingTeam",
            )
            management.manifest_owners = AAZListType(
                serialized_name="manifestOwners",
            )
            management.pc_code = AAZStrType(
                serialized_name="pcCode",
            )
            management.profit_center_program_id = AAZStrType(
                serialized_name="profitCenterProgramId",
            )
            management.resource_access_policy = AAZStrType(
                serialized_name="resourceAccessPolicy",
            )
            management.resource_access_roles = AAZListType(
                serialized_name="resourceAccessRoles",
            )
            management.schema_owners = AAZListType(
                serialized_name="schemaOwners",
            )
            management.service_tree_infos = AAZListType(
                serialized_name="serviceTreeInfos",
            )

            authorization_owners = cls._schema_on_200.properties.specification.provider_registration.properties.management.authorization_owners
            authorization_owners.Element = AAZStrType()

            canary_manifest_owners = cls._schema_on_200.properties.specification.provider_registration.properties.management.canary_manifest_owners
            canary_manifest_owners.Element = AAZStrType()

            error_response_message_options = cls._schema_on_200.properties.specification.provider_registration.properties.management.error_response_message_options
            error_response_message_options.server_failure_response_message_type = AAZStrType(
                serialized_name="serverFailureResponseMessageType",
            )

            expedited_rollout_metadata = cls._schema_on_200.properties.specification.provider_registration.properties.management.expedited_rollout_metadata
            expedited_rollout_metadata.enabled = AAZBoolType()
            expedited_rollout_metadata.expedited_rollout_intent = AAZStrType(
                serialized_name="expeditedRolloutIntent",
            )

            expedited_rollout_submitters = cls._schema_on_200.properties.specification.provider_registration.properties.management.expedited_rollout_submitters
            expedited_rollout_submitters.Element = AAZStrType()

            manifest_owners = cls._schema_on_200.properties.specification.provider_registration.properties.management.manifest_owners
            manifest_owners.Element = AAZStrType()

            resource_access_roles = cls._schema_on_200.properties.specification.provider_registration.properties.management.resource_access_roles
            resource_access_roles.Element = AAZObjectType()
            _WaitHelper._build_schema_resource_access_role_read(resource_access_roles.Element)

            schema_owners = cls._schema_on_200.properties.specification.provider_registration.properties.management.schema_owners
            schema_owners.Element = AAZStrType()

            service_tree_infos = cls._schema_on_200.properties.specification.provider_registration.properties.management.service_tree_infos
            service_tree_infos.Element = AAZObjectType()
            _WaitHelper._build_schema_service_tree_info_read(service_tree_infos.Element)

            management_group_global_notification_endpoints = cls._schema_on_200.properties.specification.provider_registration.properties.management_group_global_notification_endpoints
            management_group_global_notification_endpoints.Element = AAZObjectType()
            _WaitHelper._build_schema_resource_provider_endpoint_read(management_group_global_notification_endpoints.Element)

            notification_settings = cls._schema_on_200.properties.specification.provider_registration.properties.notification_settings
            notification_settings.subscriber_settings = AAZListType(
                serialized_name="subscriberSettings",
            )

            subscriber_settings = cls._schema_on_200.properties.specification.provider_registration.properties.notification_settings.subscriber_settings
            subscriber_settings.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.provider_registration.properties.notification_settings.subscriber_settings.Element
            _element.filter_rules = AAZListType(
                serialized_name="filterRules",
            )

            filter_rules = cls._schema_on_200.properties.specification.provider_registration.properties.notification_settings.subscriber_settings.Element.filter_rules
            filter_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.provider_registration.properties.notification_settings.subscriber_settings.Element.filter_rules.Element
            _element.endpoint_information = AAZListType(
                serialized_name="endpointInformation",
            )
            _element.filter_query = AAZStrType(
                serialized_name="filterQuery",
            )

            endpoint_information = cls._schema_on_200.properties.specification.provider_registration.properties.notification_settings.subscriber_settings.Element.filter_rules.Element.endpoint_information
            endpoint_information.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.provider_registration.properties.notification_settings.subscriber_settings.Element.filter_rules.Element.endpoint_information.Element
            _element.endpoint = AAZStrType()
            _element.endpoint_type = AAZStrType(
                serialized_name="endpointType",
            )
            _element.schema_version = AAZStrType(
                serialized_name="schemaVersion",
            )

            optional_features = cls._schema_on_200.properties.specification.provider_registration.properties.optional_features
            optional_features.Element = AAZStrType()

            private_resource_provider_configuration = cls._schema_on_200.properties.specification.provider_registration.properties.private_resource_provider_configuration
            private_resource_provider_configuration.allowed_subscriptions = AAZListType(
                serialized_name="allowedSubscriptions",
            )

            allowed_subscriptions = cls._schema_on_200.properties.specification.provider_registration.properties.private_resource_provider_configuration.allowed_subscriptions
            allowed_subscriptions.Element = AAZStrType()

            provider_authentication = cls._schema_on_200.properties.specification.provider_registration.properties.provider_authentication
            provider_authentication.allowed_audiences = AAZListType(
                serialized_name="allowedAudiences",
                flags={"required": True},
            )

            allowed_audiences = cls._schema_on_200.properties.specification.provider_registration.properties.provider_authentication.allowed_audiences
            allowed_audiences.Element = AAZStrType()

            provider_authorizations = cls._schema_on_200.properties.specification.provider_registration.properties.provider_authorizations
            provider_authorizations.Element = AAZObjectType()
            _WaitHelper._build_schema_resource_provider_authorization_read(provider_authorizations.Element)

            provider_hub_metadata = cls._schema_on_200.properties.specification.provider_registration.properties.provider_hub_metadata
            provider_hub_metadata.direct_rp_role_definition_id = AAZStrType(
                serialized_name="directRpRoleDefinitionId",
            )
            provider_hub_metadata.global_async_operation_resource_type_name = AAZStrType(
                serialized_name="globalAsyncOperationResourceTypeName",
            )
            provider_hub_metadata.provider_authentication = AAZObjectType(
                serialized_name="providerAuthentication",
            )
            provider_hub_metadata.provider_authorizations = AAZListType(
                serialized_name="providerAuthorizations",
            )
            provider_hub_metadata.regional_async_operation_resource_type_name = AAZStrType(
                serialized_name="regionalAsyncOperationResourceTypeName",
            )
            provider_hub_metadata.third_party_provider_authorization = AAZObjectType(
                serialized_name="thirdPartyProviderAuthorization",
            )

            provider_authentication = cls._schema_on_200.properties.specification.provider_registration.properties.provider_hub_metadata.provider_authentication
            provider_authentication.allowed_audiences = AAZListType(
                serialized_name="allowedAudiences",
                flags={"required": True},
            )

            allowed_audiences = cls._schema_on_200.properties.specification.provider_registration.properties.provider_hub_metadata.provider_authentication.allowed_audiences
            allowed_audiences.Element = AAZStrType()

            provider_authorizations = cls._schema_on_200.properties.specification.provider_registration.properties.provider_hub_metadata.provider_authorizations
            provider_authorizations.Element = AAZObjectType()
            _WaitHelper._build_schema_resource_provider_authorization_read(provider_authorizations.Element)

            third_party_provider_authorization = cls._schema_on_200.properties.specification.provider_registration.properties.provider_hub_metadata.third_party_provider_authorization
            third_party_provider_authorization.authorizations = AAZListType()
            third_party_provider_authorization.managed_by_tenant_id = AAZStrType(
                serialized_name="managedByTenantId",
            )

            authorizations = cls._schema_on_200.properties.specification.provider_registration.properties.provider_hub_metadata.third_party_provider_authorization.authorizations
            authorizations.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.provider_registration.properties.provider_hub_metadata.third_party_provider_authorization.authorizations.Element
            _element.principal_id = AAZStrType(
                serialized_name="principalId",
                flags={"required": True},
            )
            _element.role_definition_id = AAZStrType(
                serialized_name="roleDefinitionId",
                flags={"required": True},
            )

            request_header_options = cls._schema_on_200.properties.specification.provider_registration.properties.request_header_options
            request_header_options.opt_in_headers = AAZStrType(
                serialized_name="optInHeaders",
            )
            request_header_options.opt_out_headers = AAZStrType(
                serialized_name="optOutHeaders",
            )

            required_features = cls._schema_on_200.properties.specification.provider_registration.properties.required_features
            required_features.Element = AAZStrType()

            resource_group_lock_option_during_move = cls._schema_on_200.properties.specification.provider_registration.properties.resource_group_lock_option_during_move
            resource_group_lock_option_during_move.block_action_verb = AAZStrType(
                serialized_name="blockActionVerb",
            )

            resource_hydration_accounts = cls._schema_on_200.properties.specification.provider_registration.properties.resource_hydration_accounts
            resource_hydration_accounts.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.provider_registration.properties.resource_hydration_accounts.Element
            _element.account_name = AAZStrType(
                serialized_name="accountName",
            )
            _element.encrypted_key = AAZStrType(
                serialized_name="encryptedKey",
            )
            _element.max_child_resource_consistency_job_limit = AAZIntType(
                serialized_name="maxChildResourceConsistencyJobLimit",
            )
            _element.subscription_id = AAZStrType(
                serialized_name="subscriptionId",
            )

            response_options = cls._schema_on_200.properties.specification.provider_registration.properties.response_options
            response_options.service_client_options_type = AAZStrType(
                serialized_name="serviceClientOptionsType",
            )

            services = cls._schema_on_200.properties.specification.provider_registration.properties.services
            services.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.provider_registration.properties.services.Element
            _element.service_name = AAZStrType(
                serialized_name="serviceName",
            )
            _element.status = AAZStrType()

            subscription_lifecycle_notification_specifications = cls._schema_on_200.properties.specification.provider_registration.properties.subscription_lifecycle_notification_specifications
            subscription_lifecycle_notification_specifications.soft_delete_ttl = AAZStrType(
                serialized_name="softDeleteTTL",
            )
            subscription_lifecycle_notification_specifications.subscription_state_override_actions = AAZListType(
                serialized_name="subscriptionStateOverrideActions",
            )

            subscription_state_override_actions = cls._schema_on_200.properties.specification.provider_registration.properties.subscription_lifecycle_notification_specifications.subscription_state_override_actions
            subscription_state_override_actions.Element = AAZObjectType()
            _WaitHelper._build_schema_subscription_state_override_action_read(subscription_state_override_actions.Element)

            template_deployment_options = cls._schema_on_200.properties.specification.provider_registration.properties.template_deployment_options
            template_deployment_options.preflight_options = AAZListType(
                serialized_name="preflightOptions",
            )
            template_deployment_options.preflight_supported = AAZBoolType(
                serialized_name="preflightSupported",
            )

            preflight_options = cls._schema_on_200.properties.specification.provider_registration.properties.template_deployment_options.preflight_options
            preflight_options.Element = AAZStrType()

            resource_type_registrations = cls._schema_on_200.properties.specification.resource_type_registrations
            resource_type_registrations.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element
            _element.id = AAZStrType(
                flags={"read_only": True},
            )
            _element.kind = AAZStrType()
            _element.name = AAZStrType(
                flags={"read_only": True},
            )
            _element.properties = AAZObjectType()
            _element.system_data = AAZObjectType(
                serialized_name="systemData",
                flags={"read_only": True},
            )
            _WaitHelper._build_schema_system_data_read(_element.system_data)
            _element.type = AAZStrType(
                flags={"read_only": True},
            )

            properties = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties
            properties.add_resource_list_target_locations = AAZBoolType(
                serialized_name="addResourceListTargetLocations",
            )
            properties.additional_options = AAZStrType(
                serialized_name="additionalOptions",
            )
            properties.allow_empty_role_assignments = AAZBoolType(
                serialized_name="allowEmptyRoleAssignments",
            )
            properties.allowed_resource_names = AAZListType(
                serialized_name="allowedResourceNames",
            )
            properties.allowed_template_deployment_reference_actions = AAZListType(
                serialized_name="allowedTemplateDeploymentReferenceActions",
            )
            properties.allowed_unauthorized_actions = AAZListType(
                serialized_name="allowedUnauthorizedActions",
            )
            properties.api_profiles = AAZListType(
                serialized_name="apiProfiles",
            )
            properties.async_operation_resource_type_name = AAZStrType(
                serialized_name="asyncOperationResourceTypeName",
            )
            properties.async_timeout_rules = AAZListType(
                serialized_name="asyncTimeoutRules",
            )
            properties.authorization_action_mappings = AAZListType(
                serialized_name="authorizationActionMappings",
            )
            properties.availability_zone_rule = AAZObjectType(
                serialized_name="availabilityZoneRule",
            )
            properties.capacity_rule = AAZObjectType(
                serialized_name="capacityRule",
            )
            properties.category = AAZStrType()
            properties.check_name_availability_specifications = AAZObjectType(
                serialized_name="checkNameAvailabilitySpecifications",
            )
            properties.common_api_versions = AAZListType(
                serialized_name="commonApiVersions",
            )
            properties.cross_tenant_token_validation = AAZStrType(
                serialized_name="crossTenantTokenValidation",
            )
            properties.default_api_version = AAZStrType(
                serialized_name="defaultApiVersion",
            )
            properties.disallowed_action_verbs = AAZListType(
                serialized_name="disallowedActionVerbs",
            )
            properties.disallowed_end_user_operations = AAZListType(
                serialized_name="disallowedEndUserOperations",
            )
            properties.dsts_configuration = AAZObjectType(
                serialized_name="dstsConfiguration",
            )
            properties.enable_async_operation = AAZBoolType(
                serialized_name="enableAsyncOperation",
            )
            properties.enable_third_party_s2_s = AAZBoolType(
                serialized_name="enableThirdPartyS2S",
            )
            properties.endpoints = AAZListType()
            properties.extended_locations = AAZListType(
                serialized_name="extendedLocations",
            )
            properties.extension_options = AAZObjectType(
                serialized_name="extensionOptions",
            )
            properties.features_rule = AAZObjectType(
                serialized_name="featuresRule",
            )
            properties.frontdoor_request_mode = AAZStrType(
                serialized_name="frontdoorRequestMode",
            )
            properties.grouping_tag = AAZStrType(
                serialized_name="groupingTag",
            )
            properties.identity_management = AAZObjectType(
                serialized_name="identityManagement",
            )
            properties.is_pure_proxy = AAZBoolType(
                serialized_name="isPureProxy",
            )
            properties.legacy_name = AAZStrType(
                serialized_name="legacyName",
            )
            properties.legacy_names = AAZListType(
                serialized_name="legacyNames",
            )
            properties.legacy_policy = AAZObjectType(
                serialized_name="legacyPolicy",
            )
            properties.linked_access_checks = AAZListType(
                serialized_name="linkedAccessChecks",
            )
            properties.linked_notification_rules = AAZListType(
                serialized_name="linkedNotificationRules",
            )
            properties.linked_operation_rules = AAZListType(
                serialized_name="linkedOperationRules",
            )
            properties.logging_rules = AAZListType(
                serialized_name="loggingRules",
            )
            properties.managed_resource_group_configuration = AAZObjectType(
                serialized_name="managedResourceGroupConfiguration",
            )
            properties.management = AAZObjectType()
            properties.manifest_link = AAZStrType(
                serialized_name="manifestLink",
            )
            properties.marketplace_options = AAZObjectType(
                serialized_name="marketplaceOptions",
            )
            properties.marketplace_type = AAZStrType(
                serialized_name="marketplaceType",
            )
            properties.metadata = AAZDictType()
            properties.notifications = AAZListType()
            _WaitHelper._build_schema_notifications_read(properties.notifications)
            properties.on_behalf_of_tokens = AAZObjectType(
                serialized_name="onBehalfOfTokens",
            )
            properties.open_api_configuration = AAZObjectType(
                serialized_name="openApiConfiguration",
            )
            properties.policy_execution_type = AAZStrType(
                serialized_name="policyExecutionType",
            )
            properties.private_endpoint_configuration = AAZObjectType(
                serialized_name="privateEndpointConfiguration",
            )
            properties.provisioning_state = AAZStrType(
                serialized_name="provisioningState",
                flags={"read_only": True},
            )
            properties.quota_rule = AAZObjectType(
                serialized_name="quotaRule",
            )
            properties.regionality = AAZStrType()
            properties.request_header_options = AAZObjectType(
                serialized_name="requestHeaderOptions",
            )
            properties.required_features = AAZListType(
                serialized_name="requiredFeatures",
            )
            properties.resource_cache = AAZObjectType(
                serialized_name="resourceCache",
            )
            properties.resource_concurrency_control_options = AAZDictType(
                serialized_name="resourceConcurrencyControlOptions",
            )
            properties.resource_deletion_policy = AAZStrType(
                serialized_name="resourceDeletionPolicy",
            )
            properties.resource_graph_configuration = AAZObjectType(
                serialized_name="resourceGraphConfiguration",
            )
            properties.resource_management_options = AAZObjectType(
                serialized_name="resourceManagementOptions",
            )
            properties.resource_move_policy = AAZObjectType(
                serialized_name="resourceMovePolicy",
            )
            properties.resource_provider_authorization_rules = AAZObjectType(
                serialized_name="resourceProviderAuthorizationRules",
            )
            _WaitHelper._build_schema_resource_provider_authorization_rules_read(properties.resource_provider_authorization_rules)
            properties.resource_query_management = AAZObjectType(
                serialized_name="resourceQueryManagement",
            )
            properties.resource_sub_type = AAZStrType(
                serialized_name="resourceSubType",
            )
            properties.resource_type_common_attribute_management = AAZObjectType(
                serialized_name="resourceTypeCommonAttributeManagement",
            )
            properties.resource_validation = AAZStrType(
                serialized_name="resourceValidation",
            )
            properties.routing_rule = AAZObjectType(
                serialized_name="routingRule",
            )
            properties.routing_type = AAZStrType(
                serialized_name="routingType",
            )
            properties.service_tree_infos = AAZListType(
                serialized_name="serviceTreeInfos",
            )
            properties.sku_link = AAZStrType(
                serialized_name="skuLink",
            )
            properties.subscription_lifecycle_notification_specifications = AAZObjectType(
                serialized_name="subscriptionLifecycleNotificationSpecifications",
            )
            properties.subscription_state_rules = AAZListType(
                serialized_name="subscriptionStateRules",
            )
            properties.supports_tags = AAZBoolType(
                serialized_name="supportsTags",
            )
            properties.swagger_specifications = AAZListType(
                serialized_name="swaggerSpecifications",
            )
            properties.template_deployment_options = AAZObjectType(
                serialized_name="templateDeploymentOptions",
            )
            properties.template_deployment_policy = AAZObjectType(
                serialized_name="templateDeploymentPolicy",
            )
            properties.throttling_rules = AAZListType(
                serialized_name="throttlingRules",
            )
            properties.token_auth_configuration = AAZObjectType(
                serialized_name="tokenAuthConfiguration",
            )
            _WaitHelper._build_schema_token_auth_configuration_read(properties.token_auth_configuration)

            allowed_resource_names = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.allowed_resource_names
            allowed_resource_names.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.allowed_resource_names.Element
            _element.get_action_verb = AAZStrType(
                serialized_name="getActionVerb",
            )
            _element.name = AAZStrType()

            allowed_template_deployment_reference_actions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.allowed_template_deployment_reference_actions
            allowed_template_deployment_reference_actions.Element = AAZStrType()

            allowed_unauthorized_actions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.allowed_unauthorized_actions
            allowed_unauthorized_actions.Element = AAZStrType()

            api_profiles = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.api_profiles
            api_profiles.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.api_profiles.Element
            _element.api_version = AAZStrType(
                serialized_name="apiVersion",
            )
            _element.profile_version = AAZStrType(
                serialized_name="profileVersion",
            )

            async_timeout_rules = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.async_timeout_rules
            async_timeout_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.async_timeout_rules.Element
            _element.action_name = AAZStrType(
                serialized_name="actionName",
            )
            _element.timeout = AAZStrType()

            authorization_action_mappings = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.authorization_action_mappings
            authorization_action_mappings.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.authorization_action_mappings.Element
            _element.desired = AAZStrType()
            _element.original = AAZStrType()

            availability_zone_rule = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.availability_zone_rule
            availability_zone_rule.availability_zone_policy = AAZStrType(
                serialized_name="availabilityZonePolicy",
            )

            capacity_rule = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.capacity_rule
            capacity_rule.capacity_policy = AAZStrType(
                serialized_name="capacityPolicy",
            )
            capacity_rule.sku_alias = AAZStrType(
                serialized_name="skuAlias",
            )

            check_name_availability_specifications = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.check_name_availability_specifications
            check_name_availability_specifications.enable_default_validation = AAZBoolType(
                serialized_name="enableDefaultValidation",
            )
            check_name_availability_specifications.resource_types_with_custom_validation = AAZListType(
                serialized_name="resourceTypesWithCustomValidation",
            )

            resource_types_with_custom_validation = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.check_name_availability_specifications.resource_types_with_custom_validation
            resource_types_with_custom_validation.Element = AAZStrType()

            common_api_versions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.common_api_versions
            common_api_versions.Element = AAZStrType()

            disallowed_action_verbs = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.disallowed_action_verbs
            disallowed_action_verbs.Element = AAZStrType()

            disallowed_end_user_operations = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.disallowed_end_user_operations
            disallowed_end_user_operations.Element = AAZStrType()

            dsts_configuration = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.dsts_configuration
            dsts_configuration.service_dns_name = AAZStrType(
                serialized_name="serviceDnsName",
            )
            dsts_configuration.service_name = AAZStrType(
                serialized_name="serviceName",
                flags={"required": True},
            )

            endpoints = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints
            endpoints.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element
            _element.api_version = AAZStrType(
                serialized_name="apiVersion",
            )
            _element.api_versions = AAZListType(
                serialized_name="apiVersions",
            )
            _element.data_boundary = AAZStrType(
                serialized_name="dataBoundary",
            )
            _element.dsts_configuration = AAZObjectType(
                serialized_name="dstsConfiguration",
            )
            _element.enabled = AAZBoolType()
            _element.endpoint_type = AAZStrType(
                serialized_name="endpointType",
            )
            _element.endpoint_uri = AAZStrType(
                serialized_name="endpointUri",
            )
            _element.extensions = AAZListType()
            _element.features_rule = AAZObjectType(
                serialized_name="featuresRule",
            )
            _element.kind = AAZStrType()
            _element.locations = AAZListType()
            _element.required_features = AAZListType(
                serialized_name="requiredFeatures",
            )
            _element.sku_link = AAZStrType(
                serialized_name="skuLink",
            )
            _element.timeout = AAZStrType()
            _element.token_auth_configuration = AAZObjectType(
                serialized_name="tokenAuthConfiguration",
            )
            _WaitHelper._build_schema_token_auth_configuration_read(_element.token_auth_configuration)
            _element.zones = AAZListType()

            api_versions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.api_versions
            api_versions.Element = AAZStrType()

            dsts_configuration = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.dsts_configuration
            dsts_configuration.service_dns_name = AAZStrType(
                serialized_name="serviceDnsName",
            )
            dsts_configuration.service_name = AAZStrType(
                serialized_name="serviceName",
                flags={"required": True},
            )

            extensions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.extensions
            extensions.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.extensions.Element
            _element.endpoint_uri = AAZStrType(
                serialized_name="endpointUri",
            )
            _element.extension_categories = AAZListType(
                serialized_name="extensionCategories",
            )
            _element.timeout = AAZStrType()

            extension_categories = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.extensions.Element.extension_categories
            extension_categories.Element = AAZStrType()

            features_rule = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.features_rule
            features_rule.required_features_policy = AAZStrType(
                serialized_name="requiredFeaturesPolicy",
                flags={"required": True},
            )

            locations = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.locations
            locations.Element = AAZStrType()

            required_features = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.required_features
            required_features.Element = AAZStrType()

            zones = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.zones
            zones.Element = AAZStrType()

            extended_locations = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.extended_locations
            extended_locations.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.extended_locations.Element
            _element.supported_policy = AAZStrType(
                serialized_name="supportedPolicy",
            )
            _element.type = AAZStrType()

            extension_options = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.extension_options
            extension_options.resource_creation_begin = AAZObjectType(
                serialized_name="resourceCreationBegin",
            )

            resource_creation_begin = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.extension_options.resource_creation_begin
            resource_creation_begin.request = AAZListType()
            resource_creation_begin.response = AAZListType()

            request = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.extension_options.resource_creation_begin.request
            request.Element = AAZStrType()

            response = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.extension_options.resource_creation_begin.response
            response.Element = AAZStrType()

            features_rule = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.features_rule
            features_rule.required_features_policy = AAZStrType(
                serialized_name="requiredFeaturesPolicy",
                flags={"required": True},
            )

            identity_management = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.identity_management
            identity_management.application_id = AAZStrType(
                serialized_name="applicationId",
            )
            identity_management.application_ids = AAZListType(
                serialized_name="applicationIds",
            )
            identity_management.delegation_app_ids = AAZListType(
                serialized_name="delegationAppIds",
            )
            identity_management.type = AAZStrType()

            application_ids = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.identity_management.application_ids
            application_ids.Element = AAZStrType()

            delegation_app_ids = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.identity_management.delegation_app_ids
            delegation_app_ids.Element = AAZStrType()

            legacy_names = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.legacy_names
            legacy_names.Element = AAZStrType()

            legacy_policy = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.legacy_policy
            legacy_policy.disallowed_conditions = AAZListType(
                serialized_name="disallowedConditions",
            )
            legacy_policy.disallowed_legacy_operations = AAZListType(
                serialized_name="disallowedLegacyOperations",
            )

            disallowed_conditions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.legacy_policy.disallowed_conditions
            disallowed_conditions.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.legacy_policy.disallowed_conditions.Element
            _element.disallowed_legacy_operations = AAZListType(
                serialized_name="disallowedLegacyOperations",
            )
            _element.feature = AAZStrType()

            disallowed_legacy_operations = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.legacy_policy.disallowed_conditions.Element.disallowed_legacy_operations
            disallowed_legacy_operations.Element = AAZStrType()

            disallowed_legacy_operations = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.legacy_policy.disallowed_legacy_operations
            disallowed_legacy_operations.Element = AAZStrType()

            linked_access_checks = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_access_checks
            linked_access_checks.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_access_checks.Element
            _element.action_name = AAZStrType(
                serialized_name="actionName",
            )
            _element.linked_action = AAZStrType(
                serialized_name="linkedAction",
            )
            _element.linked_action_verb = AAZStrType(
                serialized_name="linkedActionVerb",
            )
            _element.linked_property = AAZStrType(
                serialized_name="linkedProperty",
            )
            _element.linked_type = AAZStrType(
                serialized_name="linkedType",
            )

            linked_notification_rules = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules
            linked_notification_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules.Element
            _element.actions = AAZListType()
            _element.actions_on_failed_operation = AAZListType(
                serialized_name="actionsOnFailedOperation",
            )
            _element.fast_path_actions = AAZListType(
                serialized_name="fastPathActions",
            )
            _element.fast_path_actions_on_failed_operation = AAZListType(
                serialized_name="fastPathActionsOnFailedOperation",
            )
            _element.linked_notification_timeout = AAZStrType(
                serialized_name="linkedNotificationTimeout",
            )

            actions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules.Element.actions
            actions.Element = AAZStrType()

            actions_on_failed_operation = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules.Element.actions_on_failed_operation
            actions_on_failed_operation.Element = AAZStrType()

            fast_path_actions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules.Element.fast_path_actions
            fast_path_actions.Element = AAZStrType()

            fast_path_actions_on_failed_operation = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules.Element.fast_path_actions_on_failed_operation
            fast_path_actions_on_failed_operation.Element = AAZStrType()

            linked_operation_rules = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_operation_rules
            linked_operation_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_operation_rules.Element
            _element.depends_on_types = AAZListType(
                serialized_name="dependsOnTypes",
            )
            _element.linked_action = AAZStrType(
                serialized_name="linkedAction",
                flags={"required": True},
            )
            _element.linked_operation = AAZStrType(
                serialized_name="linkedOperation",
                flags={"required": True},
            )

            depends_on_types = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.linked_operation_rules.Element.depends_on_types
            depends_on_types.Element = AAZStrType()

            logging_rules = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.logging_rules
            logging_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.logging_rules.Element
            _element.action = AAZStrType(
                flags={"required": True},
            )
            _element.detail_level = AAZStrType(
                serialized_name="detailLevel",
                flags={"required": True},
            )
            _element.direction = AAZStrType(
                flags={"required": True},
            )
            _element.hidden_property_paths = AAZObjectType(
                serialized_name="hiddenPropertyPaths",
            )

            hidden_property_paths = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.logging_rules.Element.hidden_property_paths
            hidden_property_paths.hidden_paths_on_request = AAZListType(
                serialized_name="hiddenPathsOnRequest",
            )
            hidden_property_paths.hidden_paths_on_response = AAZListType(
                serialized_name="hiddenPathsOnResponse",
            )

            hidden_paths_on_request = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.logging_rules.Element.hidden_property_paths.hidden_paths_on_request
            hidden_paths_on_request.Element = AAZStrType()

            hidden_paths_on_response = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.logging_rules.Element.hidden_property_paths.hidden_paths_on_response
            hidden_paths_on_response.Element = AAZStrType()

            managed_resource_group_configuration = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.managed_resource_group_configuration
            managed_resource_group_configuration.application_ids = AAZListType(
                serialized_name="applicationIds",
            )
            managed_resource_group_configuration.deny_assignment_configuration = AAZObjectType(
                serialized_name="denyAssignmentConfiguration",
            )
            managed_resource_group_configuration.enabled = AAZBoolType()
            managed_resource_group_configuration.resource_group_location_override = AAZStrType(
                serialized_name="resourceGroupLocationOverride",
            )

            application_ids = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.managed_resource_group_configuration.application_ids
            application_ids.Element = AAZStrType()

            deny_assignment_configuration = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.managed_resource_group_configuration.deny_assignment_configuration
            deny_assignment_configuration.enabled = AAZBoolType()
            deny_assignment_configuration.not_actions = AAZListType(
                serialized_name="notActions",
            )

            not_actions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.managed_resource_group_configuration.deny_assignment_configuration.not_actions
            not_actions.Element = AAZStrType()

            management = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management
            management.authorization_owners = AAZListType(
                serialized_name="authorizationOwners",
            )
            management.canary_manifest_owners = AAZListType(
                serialized_name="canaryManifestOwners",
            )
            management.error_response_message_options = AAZObjectType(
                serialized_name="errorResponseMessageOptions",
            )
            management.expedited_rollout_metadata = AAZObjectType(
                serialized_name="expeditedRolloutMetadata",
            )
            management.expedited_rollout_submitters = AAZListType(
                serialized_name="expeditedRolloutSubmitters",
            )
            management.incident_contact_email = AAZStrType(
                serialized_name="incidentContactEmail",
            )
            management.incident_routing_service = AAZStrType(
                serialized_name="incidentRoutingService",
            )
            management.incident_routing_team = AAZStrType(
                serialized_name="incidentRoutingTeam",
            )
            management.manifest_owners = AAZListType(
                serialized_name="manifestOwners",
            )
            management.pc_code = AAZStrType(
                serialized_name="pcCode",
            )
            management.profit_center_program_id = AAZStrType(
                serialized_name="profitCenterProgramId",
            )
            management.resource_access_policy = AAZStrType(
                serialized_name="resourceAccessPolicy",
            )
            management.resource_access_roles = AAZListType(
                serialized_name="resourceAccessRoles",
            )
            management.schema_owners = AAZListType(
                serialized_name="schemaOwners",
            )
            management.service_tree_infos = AAZListType(
                serialized_name="serviceTreeInfos",
            )

            authorization_owners = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.authorization_owners
            authorization_owners.Element = AAZStrType()

            canary_manifest_owners = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.canary_manifest_owners
            canary_manifest_owners.Element = AAZStrType()

            error_response_message_options = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.error_response_message_options
            error_response_message_options.server_failure_response_message_type = AAZStrType(
                serialized_name="serverFailureResponseMessageType",
            )

            expedited_rollout_metadata = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.expedited_rollout_metadata
            expedited_rollout_metadata.enabled = AAZBoolType()
            expedited_rollout_metadata.expedited_rollout_intent = AAZStrType(
                serialized_name="expeditedRolloutIntent",
            )

            expedited_rollout_submitters = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.expedited_rollout_submitters
            expedited_rollout_submitters.Element = AAZStrType()

            manifest_owners = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.manifest_owners
            manifest_owners.Element = AAZStrType()

            resource_access_roles = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.resource_access_roles
            resource_access_roles.Element = AAZObjectType()
            _WaitHelper._build_schema_resource_access_role_read(resource_access_roles.Element)

            schema_owners = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.schema_owners
            schema_owners.Element = AAZStrType()

            service_tree_infos = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.management.service_tree_infos
            service_tree_infos.Element = AAZObjectType()
            _WaitHelper._build_schema_service_tree_info_read(service_tree_infos.Element)

            marketplace_options = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.marketplace_options
            marketplace_options.add_on_plan_conversion_allowed = AAZBoolType(
                serialized_name="addOnPlanConversionAllowed",
            )

            metadata = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.metadata
            metadata.Element = AAZFreeFormDictType()

            on_behalf_of_tokens = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.on_behalf_of_tokens
            on_behalf_of_tokens.action_name = AAZStrType(
                serialized_name="actionName",
            )
            on_behalf_of_tokens.life_time = AAZStrType(
                serialized_name="lifeTime",
            )

            open_api_configuration = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.open_api_configuration
            open_api_configuration.validation = AAZObjectType()

            validation = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.open_api_configuration.validation
            validation.allow_noncompliant_collection_response = AAZBoolType(
                serialized_name="allowNoncompliantCollectionResponse",
            )

            private_endpoint_configuration = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.private_endpoint_configuration
            private_endpoint_configuration.group_connectivity_information = AAZListType(
                serialized_name="groupConnectivityInformation",
                flags={"required": True},
            )
            private_endpoint_configuration.min_api_version = AAZStrType(
                serialized_name="minApiVersion",
                flags={"required": True},
            )

            group_connectivity_information = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.private_endpoint_configuration.group_connectivity_information
            group_connectivity_information.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.private_endpoint_configuration.group_connectivity_information.Element
            _element.group_id = AAZStrType(
                serialized_name="groupId",
                flags={"required": True},
            )
            _element.redirect_map_id = AAZStrType(
                serialized_name="redirectMapId",
            )
            _element.required_members = AAZListType(
                serialized_name="requiredMembers",
                flags={"required": True},
            )
            _element.required_zone_names = AAZListType(
                serialized_name="requiredZoneNames",
                flags={"required": True},
            )

            required_members = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.private_endpoint_configuration.group_connectivity_information.Element.required_members
            required_members.Element = AAZStrType()

            required_zone_names = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.private_endpoint_configuration.group_connectivity_information.Element.required_zone_names
            required_zone_names.Element = AAZStrType()

            quota_rule = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.quota_rule
            quota_rule.location_rules = AAZListType(
                serialized_name="locationRules",
            )
            quota_rule.quota_policy = AAZStrType(
                serialized_name="quotaPolicy",
            )
            quota_rule.required_features = AAZListType(
                serialized_name="requiredFeatures",
            )

            location_rules = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.quota_rule.location_rules
            location_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.quota_rule.location_rules.Element
            _element.location = AAZStrType()
            _element.policy = AAZStrType()
            _element.quota_id = AAZStrType(
                serialized_name="quotaId",
            )

            required_features = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.quota_rule.required_features
            required_features.Element = AAZStrType()

            request_header_options = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.request_header_options
            request_header_options.opt_in_headers = AAZStrType(
                serialized_name="optInHeaders",
            )
            request_header_options.opt_out_headers = AAZStrType(
                serialized_name="optOutHeaders",
            )

            required_features = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.required_features
            required_features.Element = AAZStrType()

            resource_cache = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_cache
            resource_cache.enable_resource_cache = AAZBoolType(
                serialized_name="enableResourceCache",
            )
            resource_cache.resource_cache_expiration_timespan = AAZStrType(
                serialized_name="resourceCacheExpirationTimespan",
            )

            resource_concurrency_control_options = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_concurrency_control_options
            resource_concurrency_control_options.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_concurrency_control_options.Element
            _element.policy = AAZStrType()

            resource_graph_configuration = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_graph_configuration
            resource_graph_configuration.api_version = AAZStrType(
                serialized_name="apiVersion",
            )
            resource_graph_configuration.enabled = AAZBoolType()

            resource_management_options = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_management_options
            resource_management_options.batch_provisioning_support = AAZObjectType(
                serialized_name="batchProvisioningSupport",
            )
            resource_management_options.delete_dependencies = AAZListType(
                serialized_name="deleteDependencies",
            )
            resource_management_options.nested_provisioning_support = AAZObjectType(
                serialized_name="nestedProvisioningSupport",
            )

            batch_provisioning_support = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_management_options.batch_provisioning_support
            batch_provisioning_support.supported_operations = AAZStrType(
                serialized_name="supportedOperations",
            )

            delete_dependencies = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_management_options.delete_dependencies
            delete_dependencies.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_management_options.delete_dependencies.Element
            _element.linked_property = AAZStrType(
                serialized_name="linkedProperty",
            )
            _element.linked_type = AAZStrType(
                serialized_name="linkedType",
            )
            _element.required_features = AAZListType(
                serialized_name="requiredFeatures",
            )

            required_features = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_management_options.delete_dependencies.Element.required_features
            required_features.Element = AAZStrType()

            nested_provisioning_support = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_management_options.nested_provisioning_support
            nested_provisioning_support.minimum_api_version = AAZStrType(
                serialized_name="minimumApiVersion",
            )

            resource_move_policy = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_move_policy
            resource_move_policy.cross_resource_group_move_enabled = AAZBoolType(
                serialized_name="crossResourceGroupMoveEnabled",
            )
            resource_move_policy.cross_subscription_move_enabled = AAZBoolType(
                serialized_name="crossSubscriptionMoveEnabled",
            )
            resource_move_policy.validation_required = AAZBoolType(
                serialized_name="validationRequired",
            )

            resource_query_management = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_query_management
            resource_query_management.filter_option = AAZStrType(
                serialized_name="filterOption",
            )

            resource_type_common_attribute_management = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.resource_type_common_attribute_management
            resource_type_common_attribute_management.common_api_versions_merge_mode = AAZStrType(
                serialized_name="commonApiVersionsMergeMode",
            )

            routing_rule = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.routing_rule
            routing_rule.host_resource_type = AAZStrType(
                serialized_name="hostResourceType",
            )

            service_tree_infos = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.service_tree_infos
            service_tree_infos.Element = AAZObjectType()
            _WaitHelper._build_schema_service_tree_info_read(service_tree_infos.Element)

            subscription_lifecycle_notification_specifications = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.subscription_lifecycle_notification_specifications
            subscription_lifecycle_notification_specifications.soft_delete_ttl = AAZStrType(
                serialized_name="softDeleteTTL",
            )
            subscription_lifecycle_notification_specifications.subscription_state_override_actions = AAZListType(
                serialized_name="subscriptionStateOverrideActions",
            )

            subscription_state_override_actions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.subscription_lifecycle_notification_specifications.subscription_state_override_actions
            subscription_state_override_actions.Element = AAZObjectType()
            _WaitHelper._build_schema_subscription_state_override_action_read(subscription_state_override_actions.Element)

            subscription_state_rules = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.subscription_state_rules
            subscription_state_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.subscription_state_rules.Element
            _element.allowed_actions = AAZListType(
                serialized_name="allowedActions",
            )
            _element.state = AAZStrType()

            allowed_actions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.subscription_state_rules.Element.allowed_actions
            allowed_actions.Element = AAZStrType()

            swagger_specifications = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.swagger_specifications
            swagger_specifications.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.swagger_specifications.Element
            _element.api_versions = AAZListType(
                serialized_name="apiVersions",
            )
            _element.swagger_spec_folder_uri = AAZStrType(
                serialized_name="swaggerSpecFolderUri",
            )

            api_versions = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.swagger_specifications.Element.api_versions
            api_versions.Element = AAZStrType()

            template_deployment_options = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.template_deployment_options
            template_deployment_options.preflight_options = AAZListType(
                serialized_name="preflightOptions",
            )
            template_deployment_options.preflight_supported = AAZBoolType(
                serialized_name="preflightSupported",
            )

            preflight_options = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.template_deployment_options.preflight_options
            preflight_options.Element = AAZStrType()

            template_deployment_policy = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.template_deployment_policy
            template_deployment_policy.capabilities = AAZStrType(
                flags={"required": True},
            )
            template_deployment_policy.preflight_notifications = AAZStrType(
                serialized_name="preflightNotifications",
            )
            template_deployment_policy.preflight_options = AAZStrType(
                serialized_name="preflightOptions",
                flags={"required": True},
            )

            throttling_rules = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.throttling_rules
            throttling_rules.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.throttling_rules.Element
            _element.action = AAZStrType(
                flags={"required": True},
            )
            _element.application_id = AAZListType(
                serialized_name="applicationId",
            )
            _element.metrics = AAZListType(
                flags={"required": True},
            )
            _element.required_features = AAZListType(
                serialized_name="requiredFeatures",
            )

            application_id = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.throttling_rules.Element.application_id
            application_id.Element = AAZStrType()

            metrics = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.throttling_rules.Element.metrics
            metrics.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.throttling_rules.Element.metrics.Element
            _element.interval = AAZStrType()
            _element.limit = AAZIntType(
                flags={"required": True},
            )
            _element.type = AAZStrType(
                flags={"required": True},
            )

            required_features = cls._schema_on_200.properties.specification.resource_type_registrations.Element.properties.throttling_rules.Element.required_features
            required_features.Element = AAZStrType()

            rest_of_the_world_group_one = cls._schema_on_200.properties.specification.rest_of_the_world_group_one
            rest_of_the_world_group_one.regions = AAZListType()
            rest_of_the_world_group_one.wait_duration = AAZStrType(
                serialized_name="waitDuration",
            )

            regions = cls._schema_on_200.properties.specification.rest_of_the_world_group_one.regions
            regions.Element = AAZStrType()

            rest_of_the_world_group_two = cls._schema_on_200.properties.specification.rest_of_the_world_group_two
            rest_of_the_world_group_two.regions = AAZListType()
            rest_of_the_world_group_two.wait_duration = AAZStrType(
                serialized_name="waitDuration",
            )

            regions = cls._schema_on_200.properties.specification.rest_of_the_world_group_two.regions
            regions.Element = AAZStrType()

            status = cls._schema_on_200.properties.status
            status.completed_regions = AAZListType(
                serialized_name="completedRegions",
            )
            status.failed_or_skipped_regions = AAZDictType(
                serialized_name="failedOrSkippedRegions",
            )
            status.manifest_checkin_status = AAZObjectType(
                serialized_name="manifestCheckinStatus",
            )
            status.next_traffic_region = AAZStrType(
                serialized_name="nextTrafficRegion",
            )
            status.next_traffic_region_scheduled_time = AAZStrType(
                serialized_name="nextTrafficRegionScheduledTime",
            )
            status.subscription_reregistration_result = AAZStrType(
                serialized_name="subscriptionReregistrationResult",
            )

            completed_regions = cls._schema_on_200.properties.status.completed_regions
            completed_regions.Element = AAZStrType()

            failed_or_skipped_regions = cls._schema_on_200.properties.status.failed_or_skipped_regions
            failed_or_skipped_regions.Element = AAZObjectType()
            _WaitHelper._build_schema_extended_error_info_read(failed_or_skipped_regions.Element)

            manifest_checkin_status = cls._schema_on_200.properties.status.manifest_checkin_status
            manifest_checkin_status.commit_id = AAZStrType(
                serialized_name="commitId",
            )
            manifest_checkin_status.is_checked_in = AAZBoolType(
                serialized_name="isCheckedIn",
                flags={"required": True},
            )
            manifest_checkin_status.pull_request = AAZStrType(
                serialized_name="pullRequest",
            )
            manifest_checkin_status.status_message = AAZStrType(
                serialized_name="statusMessage",
                flags={"required": True},
            )

            return cls._schema_on_200