def _build_schema_default_rollout_read()

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


    def _build_schema_default_rollout_read(cls, _schema):
        if cls._schema_default_rollout_read is not None:
            _schema.id = cls._schema_default_rollout_read.id
            _schema.name = cls._schema_default_rollout_read.name
            _schema.properties = cls._schema_default_rollout_read.properties
            _schema.system_data = cls._schema_default_rollout_read.system_data
            _schema.type = cls._schema_default_rollout_read.type
            return

        cls._schema_default_rollout_read = _schema_default_rollout_read = AAZObjectType()

        default_rollout_read = _schema_default_rollout_read
        default_rollout_read.id = AAZStrType(
            flags={"read_only": True},
        )
        default_rollout_read.name = AAZStrType(
            flags={"read_only": True},
        )
        default_rollout_read.properties = AAZObjectType()
        default_rollout_read.system_data = AAZObjectType(
            serialized_name="systemData",
            flags={"read_only": True},
        )
        cls._build_schema_system_data_read(default_rollout_read.system_data)
        default_rollout_read.type = AAZStrType(
            flags={"read_only": True},
        )

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

        specification = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.auto_provision_config
        auto_provision_config.resource_graph = AAZBoolType(
            serialized_name="resourceGraph",
        )
        auto_provision_config.storage = AAZBoolType()

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

        regions = _schema_default_rollout_read.properties.specification.canary.regions
        regions.Element = AAZStrType()

        skip_regions = _schema_default_rollout_read.properties.specification.canary.skip_regions
        skip_regions.Element = AAZStrType()

        expedited_rollout = _schema_default_rollout_read.properties.specification.expedited_rollout
        expedited_rollout.enabled = AAZBoolType()

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

        regions = _schema_default_rollout_read.properties.specification.high_traffic.regions
        regions.Element = AAZStrType()

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

        regions = _schema_default_rollout_read.properties.specification.low_traffic.regions
        regions.Element = AAZStrType()

        manifest_checkin_specification = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.medium_traffic
        medium_traffic.regions = AAZListType()
        medium_traffic.wait_duration = AAZStrType(
            serialized_name="waitDuration",
        )

        regions = _schema_default_rollout_read.properties.specification.medium_traffic.regions
        regions.Element = AAZStrType()

        provider_registration = _schema_default_rollout_read.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},
        )
        cls._build_schema_system_data_read(provider_registration.system_data)
        provider_registration.type = AAZStrType(
            flags={"read_only": True},
        )

        properties = _schema_default_rollout_read.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()
        cls._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",
        )
        cls._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",
        )
        cls._build_schema_token_auth_configuration_read(properties.token_auth_configuration)

        capabilities = _schema_default_rollout_read.properties.specification.provider_registration.properties.capabilities
        capabilities.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.capabilities.Element.required_features
        required_features.Element = AAZStrType()

        dsts_configuration = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.features_rule
        features_rule.required_features_policy = AAZStrType(
            serialized_name="requiredFeaturesPolicy",
            flags={"required": True},
        )

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

        legacy_registrations = _schema_default_rollout_read.properties.specification.provider_registration.properties.legacy_registrations
        legacy_registrations.Element = AAZStrType()

        linked_notification_rules = _schema_default_rollout_read.properties.specification.provider_registration.properties.linked_notification_rules
        linked_notification_rules.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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",
        )
        cls._build_schema_token_auth_configuration_read(_element.token_auth_configuration)

        actions = _schema_default_rollout_read.properties.specification.provider_registration.properties.linked_notification_rules.Element.actions
        actions.Element = AAZStrType()

        dsts_configuration = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.linked_notification_rules.Element.endpoints
        endpoints.Element = AAZObjectType()
        cls._build_schema_resource_provider_endpoint_read(endpoints.Element)

        management = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.management.authorization_owners
        authorization_owners.Element = AAZStrType()

        canary_manifest_owners = _schema_default_rollout_read.properties.specification.provider_registration.properties.management.canary_manifest_owners
        canary_manifest_owners.Element = AAZStrType()

        error_response_message_options = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.management.expedited_rollout_submitters
        expedited_rollout_submitters.Element = AAZStrType()

        manifest_owners = _schema_default_rollout_read.properties.specification.provider_registration.properties.management.manifest_owners
        manifest_owners.Element = AAZStrType()

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

        schema_owners = _schema_default_rollout_read.properties.specification.provider_registration.properties.management.schema_owners
        schema_owners.Element = AAZStrType()

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

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

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

        subscriber_settings = _schema_default_rollout_read.properties.specification.provider_registration.properties.notification_settings.subscriber_settings
        subscriber_settings.Element = AAZObjectType()

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

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

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.notification_settings.subscriber_settings.Element.filter_rules.Element.endpoint_information
        endpoint_information.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.optional_features
        optional_features.Element = AAZStrType()

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

        allowed_subscriptions = _schema_default_rollout_read.properties.specification.provider_registration.properties.private_resource_provider_configuration.allowed_subscriptions
        allowed_subscriptions.Element = AAZStrType()

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

        allowed_audiences = _schema_default_rollout_read.properties.specification.provider_registration.properties.provider_authentication.allowed_audiences
        allowed_audiences.Element = AAZStrType()

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

        provider_hub_metadata = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.provider_hub_metadata.provider_authentication
        provider_authentication.allowed_audiences = AAZListType(
            serialized_name="allowedAudiences",
            flags={"required": True},
        )

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

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

        third_party_provider_authorization = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.provider_hub_metadata.third_party_provider_authorization.authorizations
        authorizations.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.required_features
        required_features.Element = AAZStrType()

        resource_group_lock_option_during_move = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.resource_hydration_accounts
        resource_hydration_accounts.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.response_options
        response_options.service_client_options_type = AAZStrType(
            serialized_name="serviceClientOptionsType",
        )

        services = _schema_default_rollout_read.properties.specification.provider_registration.properties.services
        services.Element = AAZObjectType()

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

        subscription_lifecycle_notification_specifications = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.subscription_lifecycle_notification_specifications.subscription_state_override_actions
        subscription_state_override_actions.Element = AAZObjectType()
        cls._build_schema_subscription_state_override_action_read(subscription_state_override_actions.Element)

        template_deployment_options = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.provider_registration.properties.template_deployment_options.preflight_options
        preflight_options.Element = AAZStrType()

        resource_type_registrations = _schema_default_rollout_read.properties.specification.resource_type_registrations
        resource_type_registrations.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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},
        )
        cls._build_schema_system_data_read(_element.system_data)
        _element.type = AAZStrType(
            flags={"read_only": True},
        )

        properties = _schema_default_rollout_read.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()
        cls._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",
        )
        cls._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",
        )
        cls._build_schema_token_auth_configuration_read(properties.token_auth_configuration)

        allowed_resource_names = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.allowed_resource_names
        allowed_resource_names.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.allowed_template_deployment_reference_actions
        allowed_template_deployment_reference_actions.Element = AAZStrType()

        allowed_unauthorized_actions = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.allowed_unauthorized_actions
        allowed_unauthorized_actions.Element = AAZStrType()

        api_profiles = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.api_profiles
        api_profiles.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.async_timeout_rules
        async_timeout_rules.Element = AAZObjectType()

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

        authorization_action_mappings = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.authorization_action_mappings
        authorization_action_mappings.Element = AAZObjectType()

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

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

        capacity_rule = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.common_api_versions
        common_api_versions.Element = AAZStrType()

        disallowed_action_verbs = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.disallowed_action_verbs
        disallowed_action_verbs.Element = AAZStrType()

        disallowed_end_user_operations = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.disallowed_end_user_operations
        disallowed_end_user_operations.Element = AAZStrType()

        dsts_configuration = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.endpoints
        endpoints.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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",
        )
        cls._build_schema_token_auth_configuration_read(_element.token_auth_configuration)
        _element.zones = AAZListType()

        api_versions = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.api_versions
        api_versions.Element = AAZStrType()

        dsts_configuration = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.extensions
        extensions.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.extensions.Element.extension_categories
        extension_categories.Element = AAZStrType()

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

        locations = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.locations
        locations.Element = AAZStrType()

        required_features = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.required_features
        required_features.Element = AAZStrType()

        zones = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.endpoints.Element.zones
        zones.Element = AAZStrType()

        extended_locations = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.extended_locations
        extended_locations.Element = AAZObjectType()

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

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

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

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

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

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

        identity_management = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.identity_management.application_ids
        application_ids.Element = AAZStrType()

        delegation_app_ids = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.identity_management.delegation_app_ids
        delegation_app_ids.Element = AAZStrType()

        legacy_names = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.legacy_names
        legacy_names.Element = AAZStrType()

        legacy_policy = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.legacy_policy.disallowed_conditions
        disallowed_conditions.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.legacy_policy.disallowed_conditions.Element.disallowed_legacy_operations
        disallowed_legacy_operations.Element = AAZStrType()

        disallowed_legacy_operations = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.legacy_policy.disallowed_legacy_operations
        disallowed_legacy_operations.Element = AAZStrType()

        linked_access_checks = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.linked_access_checks
        linked_access_checks.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules
        linked_notification_rules.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules.Element.actions
        actions.Element = AAZStrType()

        actions_on_failed_operation = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.linked_notification_rules.Element.actions_on_failed_operation
        actions_on_failed_operation.Element = AAZStrType()

        fast_path_actions = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.linked_operation_rules
        linked_operation_rules.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.linked_operation_rules.Element.depends_on_types
        depends_on_types.Element = AAZStrType()

        logging_rules = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.logging_rules
        logging_rules.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.managed_resource_group_configuration.application_ids
        application_ids.Element = AAZStrType()

        deny_assignment_configuration = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.managed_resource_group_configuration.deny_assignment_configuration.not_actions
        not_actions.Element = AAZStrType()

        management = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.management.authorization_owners
        authorization_owners.Element = AAZStrType()

        canary_manifest_owners = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.management.canary_manifest_owners
        canary_manifest_owners.Element = AAZStrType()

        error_response_message_options = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.management.expedited_rollout_submitters
        expedited_rollout_submitters.Element = AAZStrType()

        manifest_owners = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.management.manifest_owners
        manifest_owners.Element = AAZStrType()

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

        schema_owners = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.management.schema_owners
        schema_owners.Element = AAZStrType()

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

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

        metadata = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.metadata
        metadata.Element = AAZFreeFormDictType()

        on_behalf_of_tokens = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.open_api_configuration
        open_api_configuration.validation = AAZObjectType()

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

        private_endpoint_configuration = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.private_endpoint_configuration.group_connectivity_information
        group_connectivity_information.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.private_endpoint_configuration.group_connectivity_information.Element.required_members
        required_members.Element = AAZStrType()

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

        quota_rule = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.quota_rule.location_rules
        location_rules.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.quota_rule.required_features
        required_features.Element = AAZStrType()

        request_header_options = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.required_features
        required_features.Element = AAZStrType()

        resource_cache = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.resource_concurrency_control_options
        resource_concurrency_control_options.Element = AAZObjectType()

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

        resource_graph_configuration = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.resource_management_options.batch_provisioning_support
        batch_provisioning_support.supported_operations = AAZStrType(
            serialized_name="supportedOperations",
        )

        delete_dependencies = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.resource_management_options.delete_dependencies
        delete_dependencies.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.resource_management_options.delete_dependencies.Element.required_features
        required_features.Element = AAZStrType()

        nested_provisioning_support = _schema_default_rollout_read.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 = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.resource_query_management
        resource_query_management.filter_option = AAZStrType(
            serialized_name="filterOption",
        )

        resource_type_common_attribute_management = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.routing_rule
        routing_rule.host_resource_type = AAZStrType(
            serialized_name="hostResourceType",
        )

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

        subscription_lifecycle_notification_specifications = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.subscription_lifecycle_notification_specifications.subscription_state_override_actions
        subscription_state_override_actions.Element = AAZObjectType()
        cls._build_schema_subscription_state_override_action_read(subscription_state_override_actions.Element)

        subscription_state_rules = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.subscription_state_rules
        subscription_state_rules.Element = AAZObjectType()

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

        allowed_actions = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.subscription_state_rules.Element.allowed_actions
        allowed_actions.Element = AAZStrType()

        swagger_specifications = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.swagger_specifications
        swagger_specifications.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.swagger_specifications.Element.api_versions
        api_versions.Element = AAZStrType()

        template_deployment_options = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.template_deployment_options.preflight_options
        preflight_options.Element = AAZStrType()

        template_deployment_policy = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.throttling_rules
        throttling_rules.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.throttling_rules.Element.application_id
        application_id.Element = AAZStrType()

        metrics = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.throttling_rules.Element.metrics
        metrics.Element = AAZObjectType()

        _element = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.resource_type_registrations.Element.properties.throttling_rules.Element.required_features
        required_features.Element = AAZStrType()

        rest_of_the_world_group_one = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.rest_of_the_world_group_one.regions
        regions.Element = AAZStrType()

        rest_of_the_world_group_two = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.specification.rest_of_the_world_group_two.regions
        regions.Element = AAZStrType()

        status = _schema_default_rollout_read.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 = _schema_default_rollout_read.properties.status.completed_regions
        completed_regions.Element = AAZStrType()

        failed_or_skipped_regions = _schema_default_rollout_read.properties.status.failed_or_skipped_regions
        failed_or_skipped_regions.Element = AAZObjectType()
        cls._build_schema_extended_error_info_read(failed_or_skipped_regions.Element)

        manifest_checkin_status = _schema_default_rollout_read.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},
        )

        _schema.id = cls._schema_default_rollout_read.id
        _schema.name = cls._schema_default_rollout_read.name
        _schema.properties = cls._schema_default_rollout_read.properties
        _schema.system_data = cls._schema_default_rollout_read.system_data
        _schema.type = cls._schema_default_rollout_read.type