public static InMageRcmReplicationDetails fromJson()

in sdk/recoveryservicessiterecovery/azure-resourcemanager-recoveryservicessiterecovery/src/main/java/com/azure/resourcemanager/recoveryservicessiterecovery/models/InMageRcmReplicationDetails.java [1321:1498]


    public static InMageRcmReplicationDetails fromJson(JsonReader jsonReader) throws IOException {
        return jsonReader.readObject(reader -> {
            InMageRcmReplicationDetails deserializedInMageRcmReplicationDetails = new InMageRcmReplicationDetails();
            while (reader.nextToken() != JsonToken.END_OBJECT) {
                String fieldName = reader.getFieldName();
                reader.nextToken();

                if ("instanceType".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.instanceType = reader.getString();
                } else if ("internalIdentifier".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.internalIdentifier = reader.getString();
                } else if ("fabricDiscoveryMachineId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.fabricDiscoveryMachineId = reader.getString();
                } else if ("multiVmGroupName".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.multiVmGroupName = reader.getString();
                } else if ("discoveryType".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.discoveryType = reader.getString();
                } else if ("processServerId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.processServerId = reader.getString();
                } else if ("processorCoreCount".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.processorCoreCount = reader.getNullable(JsonReader::getInt);
                } else if ("allocatedMemoryInMB".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.allocatedMemoryInMB
                        = reader.getNullable(JsonReader::getDouble);
                } else if ("processServerName".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.processServerName = reader.getString();
                } else if ("runAsAccountId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.runAsAccountId = reader.getString();
                } else if ("osType".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.osType = reader.getString();
                } else if ("firmwareType".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.firmwareType = reader.getString();
                } else if ("primaryNicIpAddress".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.primaryNicIpAddress = reader.getString();
                } else if ("targetGeneration".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetGeneration = reader.getString();
                } else if ("licenseType".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.licenseType = reader.getString();
                } else if ("linuxLicenseType".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.linuxLicenseType
                        = LinuxLicenseType.fromString(reader.getString());
                } else if ("storageAccountId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.storageAccountId = reader.getString();
                } else if ("targetVmName".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetVmName = reader.getString();
                } else if ("targetVmSize".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetVmSize = reader.getString();
                } else if ("targetResourceGroupId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetResourceGroupId = reader.getString();
                } else if ("targetLocation".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetLocation = reader.getString();
                } else if ("targetAvailabilitySetId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetAvailabilitySetId = reader.getString();
                } else if ("targetAvailabilityZone".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetAvailabilityZone = reader.getString();
                } else if ("targetProximityPlacementGroupId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetProximityPlacementGroupId = reader.getString();
                } else if ("targetBootDiagnosticsStorageAccountId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetBootDiagnosticsStorageAccountId = reader.getString();
                } else if ("targetNetworkId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetNetworkId = reader.getString();
                } else if ("testNetworkId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.testNetworkId = reader.getString();
                } else if ("failoverRecoveryPointId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.failoverRecoveryPointId = reader.getString();
                } else if ("lastRecoveryPointReceived".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.lastRecoveryPointReceived = reader
                        .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
                } else if ("lastRpoInSeconds".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.lastRpoInSeconds = reader.getNullable(JsonReader::getLong);
                } else if ("lastRpoCalculatedTime".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.lastRpoCalculatedTime = reader
                        .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
                } else if ("lastRecoveryPointId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.lastRecoveryPointId = reader.getString();
                } else if ("initialReplicationProgressPercentage".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.initialReplicationProgressPercentage
                        = reader.getNullable(JsonReader::getInt);
                } else if ("initialReplicationProcessedBytes".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.initialReplicationProcessedBytes
                        = reader.getNullable(JsonReader::getLong);
                } else if ("initialReplicationTransferredBytes".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.initialReplicationTransferredBytes
                        = reader.getNullable(JsonReader::getLong);
                } else if ("initialReplicationProgressHealth".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.initialReplicationProgressHealth
                        = VmReplicationProgressHealth.fromString(reader.getString());
                } else if ("resyncProgressPercentage".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.resyncProgressPercentage
                        = reader.getNullable(JsonReader::getInt);
                } else if ("resyncProcessedBytes".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.resyncProcessedBytes
                        = reader.getNullable(JsonReader::getLong);
                } else if ("resyncTransferredBytes".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.resyncTransferredBytes
                        = reader.getNullable(JsonReader::getLong);
                } else if ("resyncProgressHealth".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.resyncProgressHealth
                        = VmReplicationProgressHealth.fromString(reader.getString());
                } else if ("resyncRequired".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.resyncRequired = reader.getString();
                } else if ("resyncState".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.resyncState = ResyncState.fromString(reader.getString());
                } else if ("agentUpgradeState".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.agentUpgradeState
                        = MobilityAgentUpgradeState.fromString(reader.getString());
                } else if ("lastAgentUpgradeType".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.lastAgentUpgradeType = reader.getString();
                } else if ("agentUpgradeJobId".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.agentUpgradeJobId = reader.getString();
                } else if ("agentUpgradeAttemptToVersion".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.agentUpgradeAttemptToVersion = reader.getString();
                } else if ("protectedDisks".equals(fieldName)) {
                    List<InMageRcmProtectedDiskDetails> protectedDisks
                        = reader.readArray(reader1 -> InMageRcmProtectedDiskDetails.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.protectedDisks = protectedDisks;
                } else if ("unprotectedDisks".equals(fieldName)) {
                    List<InMageRcmUnProtectedDiskDetails> unprotectedDisks
                        = reader.readArray(reader1 -> InMageRcmUnProtectedDiskDetails.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.unprotectedDisks = unprotectedDisks;
                } else if ("isLastUpgradeSuccessful".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.isLastUpgradeSuccessful = reader.getString();
                } else if ("isAgentRegistrationSuccessfulAfterFailover".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.isAgentRegistrationSuccessfulAfterFailover
                        = reader.getNullable(JsonReader::getBoolean);
                } else if ("mobilityAgentDetails".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.mobilityAgentDetails
                        = InMageRcmMobilityAgentDetails.fromJson(reader);
                } else if ("lastAgentUpgradeErrorDetails".equals(fieldName)) {
                    List<InMageRcmLastAgentUpgradeErrorDetails> lastAgentUpgradeErrorDetails
                        = reader.readArray(reader1 -> InMageRcmLastAgentUpgradeErrorDetails.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.lastAgentUpgradeErrorDetails = lastAgentUpgradeErrorDetails;
                } else if ("agentUpgradeBlockingErrorDetails".equals(fieldName)) {
                    List<InMageRcmAgentUpgradeBlockingErrorDetails> agentUpgradeBlockingErrorDetails
                        = reader.readArray(reader1 -> InMageRcmAgentUpgradeBlockingErrorDetails.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.agentUpgradeBlockingErrorDetails
                        = agentUpgradeBlockingErrorDetails;
                } else if ("vmNics".equals(fieldName)) {
                    List<InMageRcmNicDetails> vmNics
                        = reader.readArray(reader1 -> InMageRcmNicDetails.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.vmNics = vmNics;
                } else if ("discoveredVmDetails".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.discoveredVmDetails
                        = InMageRcmDiscoveredProtectedVmDetails.fromJson(reader);
                } else if ("targetVmTags".equals(fieldName)) {
                    List<UserCreatedResourceTag> targetVmTags
                        = reader.readArray(reader1 -> UserCreatedResourceTag.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.targetVmTags = targetVmTags;
                } else if ("seedManagedDiskTags".equals(fieldName)) {
                    List<UserCreatedResourceTag> seedManagedDiskTags
                        = reader.readArray(reader1 -> UserCreatedResourceTag.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.seedManagedDiskTags = seedManagedDiskTags;
                } else if ("targetManagedDiskTags".equals(fieldName)) {
                    List<UserCreatedResourceTag> targetManagedDiskTags
                        = reader.readArray(reader1 -> UserCreatedResourceTag.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.targetManagedDiskTags = targetManagedDiskTags;
                } else if ("targetNicTags".equals(fieldName)) {
                    List<UserCreatedResourceTag> targetNicTags
                        = reader.readArray(reader1 -> UserCreatedResourceTag.fromJson(reader1));
                    deserializedInMageRcmReplicationDetails.targetNicTags = targetNicTags;
                } else if ("sqlServerLicenseType".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.sqlServerLicenseType = reader.getString();
                } else if ("supportedOSVersions".equals(fieldName)) {
                    List<String> supportedOSVersions = reader.readArray(reader1 -> reader1.getString());
                    deserializedInMageRcmReplicationDetails.supportedOSVersions = supportedOSVersions;
                } else if ("osName".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.osName = reader.getString();
                } else if ("targetVmSecurityProfile".equals(fieldName)) {
                    deserializedInMageRcmReplicationDetails.targetVmSecurityProfile
                        = SecurityProfileProperties.fromJson(reader);
                } else {
                    reader.skipChildren();
                }
            }

            return deserializedInMageRcmReplicationDetails;
        });
    }