def _build_schema_on_200()

in src/site-recovery/azext_site_recovery/aaz/latest/site_recovery/fabric/_create.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.location = AAZStrType()
            _schema_on_200.name = AAZStrType(
                flags={"read_only": True},
            )
            _schema_on_200.properties = AAZObjectType()
            _schema_on_200.type = AAZStrType(
                flags={"read_only": True},
            )

            properties = cls._schema_on_200.properties
            properties.bcdr_state = AAZStrType(
                serialized_name="bcdrState",
            )
            properties.custom_details = AAZObjectType(
                serialized_name="customDetails",
            )
            properties.encryption_details = AAZObjectType(
                serialized_name="encryptionDetails",
            )
            _CreateHelper._build_schema_encryption_details_read(properties.encryption_details)
            properties.friendly_name = AAZStrType(
                serialized_name="friendlyName",
            )
            properties.health = AAZStrType()
            properties.health_error_details = AAZListType(
                serialized_name="healthErrorDetails",
            )
            properties.internal_identifier = AAZStrType(
                serialized_name="internalIdentifier",
            )
            properties.rollover_encryption_details = AAZObjectType(
                serialized_name="rolloverEncryptionDetails",
            )
            _CreateHelper._build_schema_encryption_details_read(properties.rollover_encryption_details)

            custom_details = cls._schema_on_200.properties.custom_details
            custom_details.instance_type = AAZStrType(
                serialized_name="instanceType",
                flags={"required": True},
            )

            disc_azure = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "Azure")
            disc_azure.container_ids = AAZListType(
                serialized_name="containerIds",
            )
            disc_azure.location = AAZStrType()
            disc_azure.zones = AAZListType()

            container_ids = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "Azure").container_ids
            container_ids.Element = AAZStrType()

            zones = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "Azure").zones
            zones.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "Azure").zones.Element
            _element.source = AAZStrType()
            _element.target = AAZStrType()

            disc_hyper_v_site = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "HyperVSite")
            disc_hyper_v_site.hyper_v_hosts = AAZListType(
                serialized_name="hyperVHosts",
            )

            hyper_v_hosts = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "HyperVSite").hyper_v_hosts
            hyper_v_hosts.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "HyperVSite").hyper_v_hosts.Element
            _element.id = AAZStrType(
                flags={"read_only": True},
            )
            _element.mars_agent_version = AAZStrType(
                serialized_name="marsAgentVersion",
                flags={"read_only": True},
            )
            _element.name = AAZStrType(
                flags={"read_only": True},
            )

            disc_in_mage_rcm = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm")
            disc_in_mage_rcm.agent_details = AAZListType(
                serialized_name="agentDetails",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.control_plane_uri = AAZStrType(
                serialized_name="controlPlaneUri",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.data_plane_uri = AAZStrType(
                serialized_name="dataPlaneUri",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.dras = AAZListType(
                flags={"read_only": True},
            )
            disc_in_mage_rcm.mars_agents = AAZListType(
                serialized_name="marsAgents",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.physical_site_id = AAZStrType(
                serialized_name="physicalSiteId",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.process_servers = AAZListType(
                serialized_name="processServers",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.push_installers = AAZListType(
                serialized_name="pushInstallers",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.rcm_proxies = AAZListType(
                serialized_name="rcmProxies",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.replication_agents = AAZListType(
                serialized_name="replicationAgents",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.reprotect_agents = AAZListType(
                serialized_name="reprotectAgents",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.service_container_id = AAZStrType(
                serialized_name="serviceContainerId",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.service_endpoint = AAZStrType(
                serialized_name="serviceEndpoint",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.service_resource_id = AAZStrType(
                serialized_name="serviceResourceId",
                flags={"read_only": True},
            )
            disc_in_mage_rcm.source_agent_identity_details = AAZObjectType(
                serialized_name="sourceAgentIdentityDetails",
            )
            disc_in_mage_rcm.vmware_site_id = AAZStrType(
                serialized_name="vmwareSiteId",
                flags={"read_only": True},
            )

            agent_details = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").agent_details
            agent_details.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").agent_details.Element
            _element.agent_id = AAZStrType(
                serialized_name="agentId",
                flags={"read_only": True},
            )
            _element.bios_id = AAZStrType(
                serialized_name="biosId",
                flags={"read_only": True},
            )
            _element.disks = AAZListType(
                flags={"read_only": True},
            )
            _element.fqdn = AAZStrType(
                flags={"read_only": True},
            )
            _element.machine_id = AAZStrType(
                serialized_name="machineId",
                flags={"read_only": True},
            )

            disks = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").agent_details.Element.disks
            disks.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").agent_details.Element.disks.Element
            _element.capacity_in_bytes = AAZIntType(
                serialized_name="capacityInBytes",
                flags={"read_only": True},
            )
            _element.disk_id = AAZStrType(
                serialized_name="diskId",
                flags={"read_only": True},
            )
            _element.disk_name = AAZStrType(
                serialized_name="diskName",
                flags={"read_only": True},
            )
            _element.is_os_disk = AAZStrType(
                serialized_name="isOSDisk",
                flags={"read_only": True},
            )
            _element.lun_id = AAZIntType(
                serialized_name="lunId",
                flags={"read_only": True},
            )

            dras = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").dras
            dras.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").dras.Element
            _element.bios_id = AAZStrType(
                serialized_name="biosId",
                flags={"read_only": True},
            )
            _element.forward_protected_item_count = AAZIntType(
                serialized_name="forwardProtectedItemCount",
                flags={"read_only": True},
            )
            _element.health = AAZStrType(
                flags={"read_only": True},
            )
            _element.health_errors = AAZListType(
                serialized_name="healthErrors",
                flags={"read_only": True},
            )
            _element.id = AAZStrType(
                flags={"read_only": True},
            )
            _element.last_heartbeat_utc = AAZStrType(
                serialized_name="lastHeartbeatUtc",
                flags={"read_only": True},
            )
            _element.name = AAZStrType(
                flags={"read_only": True},
            )
            _element.reverse_protected_item_count = AAZIntType(
                serialized_name="reverseProtectedItemCount",
                flags={"read_only": True},
            )
            _element.version = AAZStrType(
                flags={"read_only": True},
            )

            health_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").dras.Element.health_errors
            health_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_errors.Element)

            mars_agents = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").mars_agents
            mars_agents.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").mars_agents.Element
            _element.bios_id = AAZStrType(
                serialized_name="biosId",
                flags={"read_only": True},
            )
            _element.fabric_object_id = AAZStrType(
                serialized_name="fabricObjectId",
                flags={"read_only": True},
            )
            _element.fqdn = AAZStrType(
                flags={"read_only": True},
            )
            _element.health = AAZStrType(
                flags={"read_only": True},
            )
            _element.health_errors = AAZListType(
                serialized_name="healthErrors",
                flags={"read_only": True},
            )
            _element.id = AAZStrType(
                flags={"read_only": True},
            )
            _element.last_heartbeat_utc = AAZStrType(
                serialized_name="lastHeartbeatUtc",
                flags={"read_only": True},
            )
            _element.name = AAZStrType(
                flags={"read_only": True},
            )
            _element.version = AAZStrType(
                flags={"read_only": True},
            )

            health_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").mars_agents.Element.health_errors
            health_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_errors.Element)

            process_servers = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").process_servers
            process_servers.Element = AAZObjectType()
            _CreateHelper._build_schema_process_server_details_read(process_servers.Element)

            push_installers = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").push_installers
            push_installers.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").push_installers.Element
            _element.bios_id = AAZStrType(
                serialized_name="biosId",
                flags={"read_only": True},
            )
            _element.fabric_object_id = AAZStrType(
                serialized_name="fabricObjectId",
                flags={"read_only": True},
            )
            _element.fqdn = AAZStrType(
                flags={"read_only": True},
            )
            _element.health = AAZStrType(
                flags={"read_only": True},
            )
            _element.health_errors = AAZListType(
                serialized_name="healthErrors",
                flags={"read_only": True},
            )
            _element.id = AAZStrType(
                flags={"read_only": True},
            )
            _element.last_heartbeat_utc = AAZStrType(
                serialized_name="lastHeartbeatUtc",
                flags={"read_only": True},
            )
            _element.name = AAZStrType(
                flags={"read_only": True},
            )
            _element.version = AAZStrType(
                flags={"read_only": True},
            )

            health_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").push_installers.Element.health_errors
            health_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_errors.Element)

            rcm_proxies = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").rcm_proxies
            rcm_proxies.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").rcm_proxies.Element
            _element.bios_id = AAZStrType(
                serialized_name="biosId",
                flags={"read_only": True},
            )
            _element.client_authentication_type = AAZStrType(
                serialized_name="clientAuthenticationType",
                flags={"read_only": True},
            )
            _element.fabric_object_id = AAZStrType(
                serialized_name="fabricObjectId",
                flags={"read_only": True},
            )
            _element.fqdn = AAZStrType(
                flags={"read_only": True},
            )
            _element.health = AAZStrType(
                flags={"read_only": True},
            )
            _element.health_errors = AAZListType(
                serialized_name="healthErrors",
                flags={"read_only": True},
            )
            _element.id = AAZStrType(
                flags={"read_only": True},
            )
            _element.last_heartbeat_utc = AAZStrType(
                serialized_name="lastHeartbeatUtc",
                flags={"read_only": True},
            )
            _element.name = AAZStrType(
                flags={"read_only": True},
            )
            _element.version = AAZStrType(
                flags={"read_only": True},
            )

            health_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").rcm_proxies.Element.health_errors
            health_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_errors.Element)

            replication_agents = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").replication_agents
            replication_agents.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").replication_agents.Element
            _element.bios_id = AAZStrType(
                serialized_name="biosId",
                flags={"read_only": True},
            )
            _element.fabric_object_id = AAZStrType(
                serialized_name="fabricObjectId",
                flags={"read_only": True},
            )
            _element.fqdn = AAZStrType(
                flags={"read_only": True},
            )
            _element.health = AAZStrType(
                flags={"read_only": True},
            )
            _element.health_errors = AAZListType(
                serialized_name="healthErrors",
                flags={"read_only": True},
            )
            _element.id = AAZStrType(
                flags={"read_only": True},
            )
            _element.last_heartbeat_utc = AAZStrType(
                serialized_name="lastHeartbeatUtc",
                flags={"read_only": True},
            )
            _element.name = AAZStrType(
                flags={"read_only": True},
            )
            _element.version = AAZStrType(
                flags={"read_only": True},
            )

            health_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").replication_agents.Element.health_errors
            health_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_errors.Element)

            reprotect_agents = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").reprotect_agents
            reprotect_agents.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").reprotect_agents.Element
            _element.accessible_datastores = AAZListType(
                serialized_name="accessibleDatastores",
                flags={"read_only": True},
            )
            _element.bios_id = AAZStrType(
                serialized_name="biosId",
                flags={"read_only": True},
            )
            _element.fabric_object_id = AAZStrType(
                serialized_name="fabricObjectId",
                flags={"read_only": True},
            )
            _element.fqdn = AAZStrType(
                flags={"read_only": True},
            )
            _element.health = AAZStrType(
                flags={"read_only": True},
            )
            _element.health_errors = AAZListType(
                serialized_name="healthErrors",
                flags={"read_only": True},
            )
            _element.id = AAZStrType(
                flags={"read_only": True},
            )
            _element.last_discovery_in_utc = AAZStrType(
                serialized_name="lastDiscoveryInUtc",
                flags={"read_only": True},
            )
            _element.last_heartbeat_utc = AAZStrType(
                serialized_name="lastHeartbeatUtc",
                flags={"read_only": True},
            )
            _element.name = AAZStrType(
                flags={"read_only": True},
            )
            _element.protected_item_count = AAZIntType(
                serialized_name="protectedItemCount",
                flags={"read_only": True},
            )
            _element.vcenter_id = AAZStrType(
                serialized_name="vcenterId",
                flags={"read_only": True},
            )
            _element.version = AAZStrType(
                flags={"read_only": True},
            )

            accessible_datastores = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").reprotect_agents.Element.accessible_datastores
            accessible_datastores.Element = AAZStrType()

            health_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").reprotect_agents.Element.health_errors
            health_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_errors.Element)

            source_agent_identity_details = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "InMageRcm").source_agent_identity_details
            source_agent_identity_details.aad_authority = AAZStrType(
                serialized_name="aadAuthority",
            )
            source_agent_identity_details.application_id = AAZStrType(
                serialized_name="applicationId",
            )
            source_agent_identity_details.audience = AAZStrType()
            source_agent_identity_details.object_id = AAZStrType(
                serialized_name="objectId",
            )
            source_agent_identity_details.tenant_id = AAZStrType(
                serialized_name="tenantId",
            )

            disc_v_mware = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware")
            disc_v_mware.agent_count = AAZStrType(
                serialized_name="agentCount",
            )
            disc_v_mware.agent_expiry_date = AAZStrType(
                serialized_name="agentExpiryDate",
            )
            disc_v_mware.agent_version = AAZStrType(
                serialized_name="agentVersion",
            )
            disc_v_mware.agent_version_details = AAZObjectType(
                serialized_name="agentVersionDetails",
            )
            _CreateHelper._build_schema_version_details_read(disc_v_mware.agent_version_details)
            disc_v_mware.available_memory_in_bytes = AAZIntType(
                serialized_name="availableMemoryInBytes",
            )
            disc_v_mware.available_space_in_bytes = AAZIntType(
                serialized_name="availableSpaceInBytes",
            )
            disc_v_mware.cpu_load = AAZStrType(
                serialized_name="cpuLoad",
            )
            disc_v_mware.cpu_load_status = AAZStrType(
                serialized_name="cpuLoadStatus",
            )
            disc_v_mware.cs_service_status = AAZStrType(
                serialized_name="csServiceStatus",
            )
            disc_v_mware.database_server_load = AAZStrType(
                serialized_name="databaseServerLoad",
            )
            disc_v_mware.database_server_load_status = AAZStrType(
                serialized_name="databaseServerLoadStatus",
            )
            disc_v_mware.host_name = AAZStrType(
                serialized_name="hostName",
            )
            disc_v_mware.ip_address = AAZStrType(
                serialized_name="ipAddress",
            )
            disc_v_mware.last_heartbeat = AAZStrType(
                serialized_name="lastHeartbeat",
            )
            disc_v_mware.master_target_servers = AAZListType(
                serialized_name="masterTargetServers",
            )
            disc_v_mware.memory_usage_status = AAZStrType(
                serialized_name="memoryUsageStatus",
            )
            disc_v_mware.process_server_count = AAZStrType(
                serialized_name="processServerCount",
            )
            disc_v_mware.process_servers = AAZListType(
                serialized_name="processServers",
            )
            disc_v_mware.protected_servers = AAZStrType(
                serialized_name="protectedServers",
            )
            disc_v_mware.ps_template_version = AAZStrType(
                serialized_name="psTemplateVersion",
            )
            disc_v_mware.replication_pair_count = AAZStrType(
                serialized_name="replicationPairCount",
            )
            disc_v_mware.run_as_accounts = AAZListType(
                serialized_name="runAsAccounts",
            )
            disc_v_mware.space_usage_status = AAZStrType(
                serialized_name="spaceUsageStatus",
            )
            disc_v_mware.ssl_cert_expiry_date = AAZStrType(
                serialized_name="sslCertExpiryDate",
            )
            disc_v_mware.ssl_cert_expiry_remaining_days = AAZIntType(
                serialized_name="sslCertExpiryRemainingDays",
            )
            disc_v_mware.switch_provider_blocking_error_details = AAZListType(
                serialized_name="switchProviderBlockingErrorDetails",
            )
            disc_v_mware.system_load = AAZStrType(
                serialized_name="systemLoad",
            )
            disc_v_mware.system_load_status = AAZStrType(
                serialized_name="systemLoadStatus",
            )
            disc_v_mware.total_memory_in_bytes = AAZIntType(
                serialized_name="totalMemoryInBytes",
            )
            disc_v_mware.total_space_in_bytes = AAZIntType(
                serialized_name="totalSpaceInBytes",
            )
            disc_v_mware.version_status = AAZStrType(
                serialized_name="versionStatus",
            )
            disc_v_mware.web_load = AAZStrType(
                serialized_name="webLoad",
            )
            disc_v_mware.web_load_status = AAZStrType(
                serialized_name="webLoadStatus",
            )

            master_target_servers = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").master_target_servers
            master_target_servers.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").master_target_servers.Element
            _element.agent_expiry_date = AAZStrType(
                serialized_name="agentExpiryDate",
            )
            _element.agent_version = AAZStrType(
                serialized_name="agentVersion",
            )
            _element.agent_version_details = AAZObjectType(
                serialized_name="agentVersionDetails",
            )
            _CreateHelper._build_schema_version_details_read(_element.agent_version_details)
            _element.data_stores = AAZListType(
                serialized_name="dataStores",
            )
            _element.disk_count = AAZIntType(
                serialized_name="diskCount",
            )
            _element.health_errors = AAZListType(
                serialized_name="healthErrors",
            )
            _element.id = AAZStrType()
            _element.ip_address = AAZStrType(
                serialized_name="ipAddress",
            )
            _element.last_heartbeat = AAZStrType(
                serialized_name="lastHeartbeat",
            )
            _element.mars_agent_expiry_date = AAZStrType(
                serialized_name="marsAgentExpiryDate",
            )
            _element.mars_agent_version = AAZStrType(
                serialized_name="marsAgentVersion",
            )
            _element.mars_agent_version_details = AAZObjectType(
                serialized_name="marsAgentVersionDetails",
            )
            _CreateHelper._build_schema_version_details_read(_element.mars_agent_version_details)
            _element.name = AAZStrType()
            _element.os_type = AAZStrType(
                serialized_name="osType",
            )
            _element.os_version = AAZStrType(
                serialized_name="osVersion",
            )
            _element.retention_volumes = AAZListType(
                serialized_name="retentionVolumes",
            )
            _element.validation_errors = AAZListType(
                serialized_name="validationErrors",
            )
            _element.version_status = AAZStrType(
                serialized_name="versionStatus",
            )

            data_stores = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").master_target_servers.Element.data_stores
            data_stores.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").master_target_servers.Element.data_stores.Element
            _element.capacity = AAZStrType()
            _element.free_space = AAZStrType(
                serialized_name="freeSpace",
            )
            _element.symbolic_name = AAZStrType(
                serialized_name="symbolicName",
            )
            _element.type = AAZStrType()
            _element.uuid = AAZStrType()

            health_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").master_target_servers.Element.health_errors
            health_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_errors.Element)

            retention_volumes = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").master_target_servers.Element.retention_volumes
            retention_volumes.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").master_target_servers.Element.retention_volumes.Element
            _element.capacity_in_bytes = AAZIntType(
                serialized_name="capacityInBytes",
            )
            _element.free_space_in_bytes = AAZIntType(
                serialized_name="freeSpaceInBytes",
            )
            _element.threshold_percentage = AAZIntType(
                serialized_name="thresholdPercentage",
            )
            _element.volume_name = AAZStrType(
                serialized_name="volumeName",
            )

            validation_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").master_target_servers.Element.validation_errors
            validation_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(validation_errors.Element)

            process_servers = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").process_servers
            process_servers.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").process_servers.Element
            _element.agent_expiry_date = AAZStrType(
                serialized_name="agentExpiryDate",
            )
            _element.agent_version = AAZStrType(
                serialized_name="agentVersion",
            )
            _element.agent_version_details = AAZObjectType(
                serialized_name="agentVersionDetails",
            )
            _CreateHelper._build_schema_version_details_read(_element.agent_version_details)
            _element.available_memory_in_bytes = AAZIntType(
                serialized_name="availableMemoryInBytes",
            )
            _element.available_space_in_bytes = AAZIntType(
                serialized_name="availableSpaceInBytes",
            )
            _element.cpu_load = AAZStrType(
                serialized_name="cpuLoad",
            )
            _element.cpu_load_status = AAZStrType(
                serialized_name="cpuLoadStatus",
            )
            _element.friendly_name = AAZStrType(
                serialized_name="friendlyName",
            )
            _element.health = AAZStrType(
                flags={"read_only": True},
            )
            _element.health_errors = AAZListType(
                serialized_name="healthErrors",
            )
            _element.host_id = AAZStrType(
                serialized_name="hostId",
            )
            _element.id = AAZStrType()
            _element.ip_address = AAZStrType(
                serialized_name="ipAddress",
            )
            _element.last_heartbeat = AAZStrType(
                serialized_name="lastHeartbeat",
            )
            _element.machine_count = AAZStrType(
                serialized_name="machineCount",
            )
            _element.mars_communication_status = AAZStrType(
                serialized_name="marsCommunicationStatus",
                flags={"read_only": True},
            )
            _element.mars_registration_status = AAZStrType(
                serialized_name="marsRegistrationStatus",
                flags={"read_only": True},
            )
            _element.memory_usage_status = AAZStrType(
                serialized_name="memoryUsageStatus",
            )
            _element.mobility_service_updates = AAZListType(
                serialized_name="mobilityServiceUpdates",
            )
            _element.os_type = AAZStrType(
                serialized_name="osType",
            )
            _element.os_version = AAZStrType(
                serialized_name="osVersion",
            )
            _element.ps_service_status = AAZStrType(
                serialized_name="psServiceStatus",
            )
            _element.ps_stats_refresh_time = AAZStrType(
                serialized_name="psStatsRefreshTime",
                flags={"read_only": True},
            )
            _element.replication_pair_count = AAZStrType(
                serialized_name="replicationPairCount",
            )
            _element.space_usage_status = AAZStrType(
                serialized_name="spaceUsageStatus",
            )
            _element.ssl_cert_expiry_date = AAZStrType(
                serialized_name="sslCertExpiryDate",
            )
            _element.ssl_cert_expiry_remaining_days = AAZIntType(
                serialized_name="sslCertExpiryRemainingDays",
            )
            _element.system_load = AAZStrType(
                serialized_name="systemLoad",
            )
            _element.system_load_status = AAZStrType(
                serialized_name="systemLoadStatus",
            )
            _element.throughput_in_bytes = AAZIntType(
                serialized_name="throughputInBytes",
                flags={"read_only": True},
            )
            _element.throughput_in_m_bps = AAZIntType(
                serialized_name="throughputInMBps",
                flags={"read_only": True},
            )
            _element.throughput_status = AAZStrType(
                serialized_name="throughputStatus",
                flags={"read_only": True},
            )
            _element.throughput_upload_pending_data_in_bytes = AAZIntType(
                serialized_name="throughputUploadPendingDataInBytes",
                flags={"read_only": True},
            )
            _element.total_memory_in_bytes = AAZIntType(
                serialized_name="totalMemoryInBytes",
            )
            _element.total_space_in_bytes = AAZIntType(
                serialized_name="totalSpaceInBytes",
            )
            _element.version_status = AAZStrType(
                serialized_name="versionStatus",
            )

            health_errors = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").process_servers.Element.health_errors
            health_errors.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_errors.Element)

            mobility_service_updates = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").process_servers.Element.mobility_service_updates
            mobility_service_updates.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").process_servers.Element.mobility_service_updates.Element
            _element.os_type = AAZStrType(
                serialized_name="osType",
            )
            _element.reboot_status = AAZStrType(
                serialized_name="rebootStatus",
            )
            _element.version = AAZStrType()

            run_as_accounts = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").run_as_accounts
            run_as_accounts.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").run_as_accounts.Element
            _element.account_id = AAZStrType(
                serialized_name="accountId",
            )
            _element.account_name = AAZStrType(
                serialized_name="accountName",
            )

            switch_provider_blocking_error_details = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").switch_provider_blocking_error_details
            switch_provider_blocking_error_details.Element = AAZObjectType()

            _element = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").switch_provider_blocking_error_details.Element
            _element.error_code = AAZStrType(
                serialized_name="errorCode",
                flags={"read_only": True},
            )
            _element.error_message = AAZStrType(
                serialized_name="errorMessage",
                flags={"read_only": True},
            )
            _element.error_message_parameters = AAZDictType(
                serialized_name="errorMessageParameters",
                flags={"read_only": True},
            )
            _element.error_tags = AAZDictType(
                serialized_name="errorTags",
                flags={"read_only": True},
            )
            _element.possible_causes = AAZStrType(
                serialized_name="possibleCauses",
                flags={"read_only": True},
            )
            _element.recommended_action = AAZStrType(
                serialized_name="recommendedAction",
                flags={"read_only": True},
            )

            error_message_parameters = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").switch_provider_blocking_error_details.Element.error_message_parameters
            error_message_parameters.Element = AAZStrType()

            error_tags = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMware").switch_provider_blocking_error_details.Element.error_tags
            error_tags.Element = AAZStrType()

            disc_v_mware_v2 = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMwareV2")
            disc_v_mware_v2.migration_solution_id = AAZStrType(
                serialized_name="migrationSolutionId",
                flags={"read_only": True},
            )
            disc_v_mware_v2.physical_site_id = AAZStrType(
                serialized_name="physicalSiteId",
                flags={"read_only": True},
            )
            disc_v_mware_v2.process_servers = AAZListType(
                serialized_name="processServers",
                flags={"read_only": True},
            )
            disc_v_mware_v2.service_container_id = AAZStrType(
                serialized_name="serviceContainerId",
                flags={"read_only": True},
            )
            disc_v_mware_v2.service_endpoint = AAZStrType(
                serialized_name="serviceEndpoint",
                flags={"read_only": True},
            )
            disc_v_mware_v2.service_resource_id = AAZStrType(
                serialized_name="serviceResourceId",
                flags={"read_only": True},
            )
            disc_v_mware_v2.vmware_site_id = AAZStrType(
                serialized_name="vmwareSiteId",
                flags={"read_only": True},
            )

            process_servers = cls._schema_on_200.properties.custom_details.discriminate_by("instance_type", "VMwareV2").process_servers
            process_servers.Element = AAZObjectType()
            _CreateHelper._build_schema_process_server_details_read(process_servers.Element)

            health_error_details = cls._schema_on_200.properties.health_error_details
            health_error_details.Element = AAZObjectType()
            _CreateHelper._build_schema_health_error_read(health_error_details.Element)

            return cls._schema_on_200