static AutonomousDatabaseBaseProperties fromJsonKnownDiscriminator()

in sdk/oracledatabase/azure-resourcemanager-oracledatabase/src/main/java/com/azure/resourcemanager/oracledatabase/models/AutonomousDatabaseBaseProperties.java [2090:2302]


    static AutonomousDatabaseBaseProperties fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException {
        return jsonReader.readObject(reader -> {
            AutonomousDatabaseBaseProperties deserializedAutonomousDatabaseBaseProperties
                = new AutonomousDatabaseBaseProperties();
            while (reader.nextToken() != JsonToken.END_OBJECT) {
                String fieldName = reader.getFieldName();
                reader.nextToken();

                if ("dataBaseType".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.dataBaseType
                        = DataBaseType.fromString(reader.getString());
                } else if ("adminPassword".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.adminPassword = reader.getString();
                } else if ("autonomousMaintenanceScheduleType".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.autonomousMaintenanceScheduleType
                        = AutonomousMaintenanceScheduleType.fromString(reader.getString());
                } else if ("characterSet".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.characterSet = reader.getString();
                } else if ("computeCount".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.computeCount
                        = reader.getNullable(JsonReader::getFloat);
                } else if ("computeModel".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.computeModel
                        = ComputeModel.fromString(reader.getString());
                } else if ("cpuCoreCount".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.cpuCoreCount = reader.getNullable(JsonReader::getInt);
                } else if ("customerContacts".equals(fieldName)) {
                    List<CustomerContact> customerContacts
                        = reader.readArray(reader1 -> CustomerContact.fromJson(reader1));
                    deserializedAutonomousDatabaseBaseProperties.customerContacts = customerContacts;
                } else if ("dataStorageSizeInTbs".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.dataStorageSizeInTbs
                        = reader.getNullable(JsonReader::getInt);
                } else if ("dataStorageSizeInGbs".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.dataStorageSizeInGbs
                        = reader.getNullable(JsonReader::getInt);
                } else if ("dbVersion".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.dbVersion = reader.getString();
                } else if ("dbWorkload".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.dbWorkload
                        = WorkloadType.fromString(reader.getString());
                } else if ("displayName".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.displayName = reader.getString();
                } else if ("isAutoScalingEnabled".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.isAutoScalingEnabled
                        = reader.getNullable(JsonReader::getBoolean);
                } else if ("isAutoScalingForStorageEnabled".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.isAutoScalingForStorageEnabled
                        = reader.getNullable(JsonReader::getBoolean);
                } else if ("peerDbIds".equals(fieldName)) {
                    List<String> peerDbIds = reader.readArray(reader1 -> reader1.getString());
                    deserializedAutonomousDatabaseBaseProperties.peerDbIds = peerDbIds;
                } else if ("peerDbId".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.peerDbId = reader.getString();
                } else if ("isLocalDataGuardEnabled".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.isLocalDataGuardEnabled
                        = reader.getNullable(JsonReader::getBoolean);
                } else if ("isRemoteDataGuardEnabled".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.isRemoteDataGuardEnabled
                        = reader.getNullable(JsonReader::getBoolean);
                } else if ("localDisasterRecoveryType".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.localDisasterRecoveryType
                        = DisasterRecoveryType.fromString(reader.getString());
                } else if ("localStandbyDb".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.localStandbyDb
                        = AutonomousDatabaseStandbySummary.fromJson(reader);
                } else if ("failedDataRecoveryInSeconds".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.failedDataRecoveryInSeconds
                        = reader.getNullable(JsonReader::getInt);
                } else if ("isMtlsConnectionRequired".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.isMtlsConnectionRequired
                        = reader.getNullable(JsonReader::getBoolean);
                } else if ("isPreviewVersionWithServiceTermsAccepted".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.isPreviewVersionWithServiceTermsAccepted
                        = reader.getNullable(JsonReader::getBoolean);
                } else if ("licenseModel".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.licenseModel
                        = LicenseModel.fromString(reader.getString());
                } else if ("ncharacterSet".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.ncharacterSet = reader.getString();
                } else if ("lifecycleDetails".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.lifecycleDetails = reader.getString();
                } else if ("provisioningState".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.provisioningState
                        = AzureResourceProvisioningState.fromString(reader.getString());
                } else if ("lifecycleState".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.lifecycleState
                        = AutonomousDatabaseLifecycleState.fromString(reader.getString());
                } else if ("scheduledOperations".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.scheduledOperations
                        = ScheduledOperationsType.fromJson(reader);
                } else if ("privateEndpointIp".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.privateEndpointIp = reader.getString();
                } else if ("privateEndpointLabel".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.privateEndpointLabel = reader.getString();
                } else if ("ociUrl".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.ociUrl = reader.getString();
                } else if ("subnetId".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.subnetId = reader.getString();
                } else if ("vnetId".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.vnetId = reader.getString();
                } else if ("timeCreated".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeCreated = reader
                        .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
                } else if ("timeMaintenanceBegin".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeMaintenanceBegin = reader
                        .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
                } else if ("timeMaintenanceEnd".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeMaintenanceEnd = reader
                        .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
                } else if ("actualUsedDataStorageSizeInTbs".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.actualUsedDataStorageSizeInTbs
                        = reader.getNullable(JsonReader::getDouble);
                } else if ("allocatedStorageSizeInTbs".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.allocatedStorageSizeInTbs
                        = reader.getNullable(JsonReader::getDouble);
                } else if ("apexDetails".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.apexDetails = ApexDetailsType.fromJson(reader);
                } else if ("availableUpgradeVersions".equals(fieldName)) {
                    List<String> availableUpgradeVersions = reader.readArray(reader1 -> reader1.getString());
                    deserializedAutonomousDatabaseBaseProperties.availableUpgradeVersions = availableUpgradeVersions;
                } else if ("connectionStrings".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.connectionStrings
                        = ConnectionStringType.fromJson(reader);
                } else if ("connectionUrls".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.connectionUrls = ConnectionUrlType.fromJson(reader);
                } else if ("dataSafeStatus".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.dataSafeStatus
                        = DataSafeStatusType.fromString(reader.getString());
                } else if ("databaseEdition".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.databaseEdition
                        = DatabaseEditionType.fromString(reader.getString());
                } else if ("autonomousDatabaseId".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.autonomousDatabaseId = reader.getString();
                } else if ("inMemoryAreaInGbs".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.inMemoryAreaInGbs
                        = reader.getNullable(JsonReader::getInt);
                } else if ("nextLongTermBackupTimeStamp".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.nextLongTermBackupTimestamp = reader
                        .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
                } else if ("longTermBackupSchedule".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.longTermBackupSchedule
                        = LongTermBackUpScheduleDetails.fromJson(reader);
                } else if ("isPreview".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.isPreview = reader.getNullable(JsonReader::getBoolean);
                } else if ("localAdgAutoFailoverMaxDataLossLimit".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.localAdgAutoFailoverMaxDataLossLimit
                        = reader.getNullable(JsonReader::getInt);
                } else if ("memoryPerOracleComputeUnitInGbs".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.memoryPerOracleComputeUnitInGbs
                        = reader.getNullable(JsonReader::getInt);
                } else if ("openMode".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.openMode = OpenModeType.fromString(reader.getString());
                } else if ("operationsInsightsStatus".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.operationsInsightsStatus
                        = OperationsInsightsStatusType.fromString(reader.getString());
                } else if ("permissionLevel".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.permissionLevel
                        = PermissionLevelType.fromString(reader.getString());
                } else if ("privateEndpoint".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.privateEndpoint = reader.getString();
                } else if ("provisionableCpus".equals(fieldName)) {
                    List<Integer> provisionableCpus = reader.readArray(reader1 -> reader1.getInt());
                    deserializedAutonomousDatabaseBaseProperties.provisionableCpus = provisionableCpus;
                } else if ("role".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.role = RoleType.fromString(reader.getString());
                } else if ("serviceConsoleUrl".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.serviceConsoleUrl = reader.getString();
                } else if ("sqlWebDeveloperUrl".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.sqlWebDeveloperUrl = reader.getString();
                } else if ("supportedRegionsToCloneTo".equals(fieldName)) {
                    List<String> supportedRegionsToCloneTo = reader.readArray(reader1 -> reader1.getString());
                    deserializedAutonomousDatabaseBaseProperties.supportedRegionsToCloneTo = supportedRegionsToCloneTo;
                } else if ("timeDataGuardRoleChanged".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeDataGuardRoleChanged = reader.getString();
                } else if ("timeDeletionOfFreeAutonomousDatabase".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeDeletionOfFreeAutonomousDatabase
                        = reader.getString();
                } else if ("timeLocalDataGuardEnabled".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeLocalDataGuardEnabled = reader.getString();
                } else if ("timeOfLastFailover".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeOfLastFailover = reader.getString();
                } else if ("timeOfLastRefresh".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeOfLastRefresh = reader.getString();
                } else if ("timeOfLastRefreshPoint".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeOfLastRefreshPoint = reader.getString();
                } else if ("timeOfLastSwitchover".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeOfLastSwitchover = reader.getString();
                } else if ("timeReclamationOfFreeAutonomousDatabase".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.timeReclamationOfFreeAutonomousDatabase
                        = reader.getString();
                } else if ("usedDataStorageSizeInGbs".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.usedDataStorageSizeInGbs
                        = reader.getNullable(JsonReader::getInt);
                } else if ("usedDataStorageSizeInTbs".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.usedDataStorageSizeInTbs
                        = reader.getNullable(JsonReader::getInt);
                } else if ("ocid".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.ocid = reader.getString();
                } else if ("backupRetentionPeriodInDays".equals(fieldName)) {
                    deserializedAutonomousDatabaseBaseProperties.backupRetentionPeriodInDays
                        = reader.getNullable(JsonReader::getInt);
                } else if ("whitelistedIps".equals(fieldName)) {
                    List<String> whitelistedIps = reader.readArray(reader1 -> reader1.getString());
                    deserializedAutonomousDatabaseBaseProperties.whitelistedIps = whitelistedIps;
                } else {
                    reader.skipChildren();
                }
            }

            return deserializedAutonomousDatabaseBaseProperties;
        });
    }