All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.rds.model.DBEngineVersion Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon RDS module holds the client classes that are used for communicating with Amazon Relational Database Service

There is a newer version: 2.29.15
Show newest version
/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.rds.model;

import java.io.Serializable;
import java.time.Instant;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkField;
import software.amazon.awssdk.core.SdkPojo;
import software.amazon.awssdk.core.protocol.MarshallLocation;
import software.amazon.awssdk.core.protocol.MarshallingType;
import software.amazon.awssdk.core.traits.ListTrait;
import software.amazon.awssdk.core.traits.LocationTrait;
import software.amazon.awssdk.core.util.DefaultSdkAutoConstructList;
import software.amazon.awssdk.core.util.SdkAutoConstructList;
import software.amazon.awssdk.utils.ToString;
import software.amazon.awssdk.utils.builder.CopyableBuilder;
import software.amazon.awssdk.utils.builder.ToCopyableBuilder;

/**
 * 

* This data type is used as a response element in the action DescribeDBEngineVersions. *

*/ @Generated("software.amazon.awssdk:codegen") public final class DBEngineVersion implements SdkPojo, Serializable, ToCopyableBuilder { private static final SdkField ENGINE_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Engine") .getter(getter(DBEngineVersion::engine)).setter(setter(Builder::engine)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Engine").build()).build(); private static final SdkField ENGINE_VERSION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("EngineVersion").getter(getter(DBEngineVersion::engineVersion)).setter(setter(Builder::engineVersion)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("EngineVersion").build()).build(); private static final SdkField DB_PARAMETER_GROUP_FAMILY_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBParameterGroupFamily").getter(getter(DBEngineVersion::dbParameterGroupFamily)) .setter(setter(Builder::dbParameterGroupFamily)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBParameterGroupFamily").build()) .build(); private static final SdkField DB_ENGINE_DESCRIPTION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBEngineDescription").getter(getter(DBEngineVersion::dbEngineDescription)) .setter(setter(Builder::dbEngineDescription)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBEngineDescription").build()) .build(); private static final SdkField DB_ENGINE_VERSION_DESCRIPTION_FIELD = SdkField . builder(MarshallingType.STRING) .memberName("DBEngineVersionDescription") .getter(getter(DBEngineVersion::dbEngineVersionDescription)) .setter(setter(Builder::dbEngineVersionDescription)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBEngineVersionDescription").build()) .build(); private static final SdkField DEFAULT_CHARACTER_SET_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("DefaultCharacterSet") .getter(getter(DBEngineVersion::defaultCharacterSet)).setter(setter(Builder::defaultCharacterSet)) .constructor(CharacterSet::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DefaultCharacterSet").build()) .build(); private static final SdkField IMAGE_FIELD = SdkField . builder(MarshallingType.SDK_POJO).memberName("Image") .getter(getter(DBEngineVersion::image)).setter(setter(Builder::image)).constructor(CustomDBEngineVersionAMI::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Image").build()).build(); private static final SdkField DB_ENGINE_MEDIA_TYPE_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBEngineMediaType").getter(getter(DBEngineVersion::dbEngineMediaType)) .setter(setter(Builder::dbEngineMediaType)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBEngineMediaType").build()).build(); private static final SdkField> SUPPORTED_CHARACTER_SETS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("SupportedCharacterSets") .getter(getter(DBEngineVersion::supportedCharacterSets)) .setter(setter(Builder::supportedCharacterSets)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportedCharacterSets").build(), ListTrait .builder() .memberLocationName("CharacterSet") .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(CharacterSet::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("CharacterSet").build()).build()).build()).build(); private static final SdkField> SUPPORTED_NCHAR_CHARACTER_SETS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("SupportedNcharCharacterSets") .getter(getter(DBEngineVersion::supportedNcharCharacterSets)) .setter(setter(Builder::supportedNcharCharacterSets)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportedNcharCharacterSets") .build(), ListTrait .builder() .memberLocationName("CharacterSet") .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(CharacterSet::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("CharacterSet").build()).build()).build()).build(); private static final SdkField> VALID_UPGRADE_TARGET_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("ValidUpgradeTarget") .getter(getter(DBEngineVersion::validUpgradeTarget)) .setter(setter(Builder::validUpgradeTarget)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ValidUpgradeTarget").build(), ListTrait .builder() .memberLocationName("UpgradeTarget") .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(UpgradeTarget::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("UpgradeTarget").build()).build()).build()).build(); private static final SdkField> SUPPORTED_TIMEZONES_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("SupportedTimezones") .getter(getter(DBEngineVersion::supportedTimezones)) .setter(setter(Builder::supportedTimezones)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportedTimezones").build(), ListTrait .builder() .memberLocationName("Timezone") .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(Timezone::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("Timezone").build()).build()).build()).build(); private static final SdkField> EXPORTABLE_LOG_TYPES_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("ExportableLogTypes") .getter(getter(DBEngineVersion::exportableLogTypes)) .setter(setter(Builder::exportableLogTypes)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("ExportableLogTypes").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField SUPPORTS_LOG_EXPORTS_TO_CLOUDWATCH_LOGS_FIELD = SdkField . builder(MarshallingType.BOOLEAN) .memberName("SupportsLogExportsToCloudwatchLogs") .getter(getter(DBEngineVersion::supportsLogExportsToCloudwatchLogs)) .setter(setter(Builder::supportsLogExportsToCloudwatchLogs)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportsLogExportsToCloudwatchLogs") .build()).build(); private static final SdkField SUPPORTS_READ_REPLICA_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("SupportsReadReplica").getter(getter(DBEngineVersion::supportsReadReplica)) .setter(setter(Builder::supportsReadReplica)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportsReadReplica").build()) .build(); private static final SdkField> SUPPORTED_ENGINE_MODES_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("SupportedEngineModes") .getter(getter(DBEngineVersion::supportedEngineModes)) .setter(setter(Builder::supportedEngineModes)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportedEngineModes").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField> SUPPORTED_FEATURE_NAMES_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("SupportedFeatureNames") .getter(getter(DBEngineVersion::supportedFeatureNames)) .setter(setter(Builder::supportedFeatureNames)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportedFeatureNames").build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField STATUS_FIELD = SdkField. builder(MarshallingType.STRING).memberName("Status") .getter(getter(DBEngineVersion::status)).setter(setter(Builder::status)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("Status").build()).build(); private static final SdkField SUPPORTS_PARALLEL_QUERY_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("SupportsParallelQuery").getter(getter(DBEngineVersion::supportsParallelQuery)) .setter(setter(Builder::supportsParallelQuery)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportsParallelQuery").build()) .build(); private static final SdkField SUPPORTS_GLOBAL_DATABASES_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("SupportsGlobalDatabases").getter(getter(DBEngineVersion::supportsGlobalDatabases)) .setter(setter(Builder::supportsGlobalDatabases)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportsGlobalDatabases").build()) .build(); private static final SdkField MAJOR_ENGINE_VERSION_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("MajorEngineVersion").getter(getter(DBEngineVersion::majorEngineVersion)) .setter(setter(Builder::majorEngineVersion)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("MajorEngineVersion").build()) .build(); private static final SdkField DATABASE_INSTALLATION_FILES_S3_BUCKET_NAME_FIELD = SdkField . builder(MarshallingType.STRING) .memberName("DatabaseInstallationFilesS3BucketName") .getter(getter(DBEngineVersion::databaseInstallationFilesS3BucketName)) .setter(setter(Builder::databaseInstallationFilesS3BucketName)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("DatabaseInstallationFilesS3BucketName").build()).build(); private static final SdkField DATABASE_INSTALLATION_FILES_S3_PREFIX_FIELD = SdkField . builder(MarshallingType.STRING) .memberName("DatabaseInstallationFilesS3Prefix") .getter(getter(DBEngineVersion::databaseInstallationFilesS3Prefix)) .setter(setter(Builder::databaseInstallationFilesS3Prefix)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DatabaseInstallationFilesS3Prefix") .build()).build(); private static final SdkField DB_ENGINE_VERSION_ARN_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("DBEngineVersionArn").getter(getter(DBEngineVersion::dbEngineVersionArn)) .setter(setter(Builder::dbEngineVersionArn)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("DBEngineVersionArn").build()) .build(); private static final SdkField KMS_KEY_ID_FIELD = SdkField. builder(MarshallingType.STRING) .memberName("KMSKeyId").getter(getter(DBEngineVersion::kmsKeyId)).setter(setter(Builder::kmsKeyId)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("KMSKeyId").build()).build(); private static final SdkField CREATE_TIME_FIELD = SdkField. builder(MarshallingType.INSTANT) .memberName("CreateTime").getter(getter(DBEngineVersion::createTime)).setter(setter(Builder::createTime)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CreateTime").build()).build(); private static final SdkField> TAG_LIST_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("TagList") .getter(getter(DBEngineVersion::tagList)) .setter(setter(Builder::tagList)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("TagList").build(), ListTrait .builder() .memberLocationName("Tag") .memberFieldInfo( SdkField. builder(MarshallingType.SDK_POJO) .constructor(Tag::builder) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("Tag").build()).build()).build()).build(); private static final SdkField SUPPORTS_BABELFISH_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("SupportsBabelfish").getter(getter(DBEngineVersion::supportsBabelfish)) .setter(setter(Builder::supportsBabelfish)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportsBabelfish").build()).build(); private static final SdkField CUSTOM_DB_ENGINE_VERSION_MANIFEST_FIELD = SdkField . builder(MarshallingType.STRING) .memberName("CustomDBEngineVersionManifest") .getter(getter(DBEngineVersion::customDBEngineVersionManifest)) .setter(setter(Builder::customDBEngineVersionManifest)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("CustomDBEngineVersionManifest") .build()).build(); private static final SdkField SUPPORTS_LIMITLESS_DATABASE_FIELD = SdkField . builder(MarshallingType.BOOLEAN).memberName("SupportsLimitlessDatabase") .getter(getter(DBEngineVersion::supportsLimitlessDatabase)).setter(setter(Builder::supportsLimitlessDatabase)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportsLimitlessDatabase").build()) .build(); private static final SdkField SUPPORTS_CERTIFICATE_ROTATION_WITHOUT_RESTART_FIELD = SdkField . builder(MarshallingType.BOOLEAN) .memberName("SupportsCertificateRotationWithoutRestart") .getter(getter(DBEngineVersion::supportsCertificateRotationWithoutRestart)) .setter(setter(Builder::supportsCertificateRotationWithoutRestart)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("SupportsCertificateRotationWithoutRestart").build()).build(); private static final SdkField> SUPPORTED_CA_CERTIFICATE_IDENTIFIERS_FIELD = SdkField .> builder(MarshallingType.LIST) .memberName("SupportedCACertificateIdentifiers") .getter(getter(DBEngineVersion::supportedCACertificateIdentifiers)) .setter(setter(Builder::supportedCACertificateIdentifiers)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportedCACertificateIdentifiers") .build(), ListTrait .builder() .memberLocationName(null) .memberFieldInfo( SdkField. builder(MarshallingType.STRING) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD) .locationName("member").build()).build()).build()).build(); private static final SdkField SUPPORTS_LOCAL_WRITE_FORWARDING_FIELD = SdkField . builder(MarshallingType.BOOLEAN) .memberName("SupportsLocalWriteForwarding") .getter(getter(DBEngineVersion::supportsLocalWriteForwarding)) .setter(setter(Builder::supportsLocalWriteForwarding)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportsLocalWriteForwarding") .build()).build(); private static final SdkField SUPPORTS_INTEGRATIONS_FIELD = SdkField. builder(MarshallingType.BOOLEAN) .memberName("SupportsIntegrations").getter(getter(DBEngineVersion::supportsIntegrations)) .setter(setter(Builder::supportsIntegrations)) .traits(LocationTrait.builder().location(MarshallLocation.PAYLOAD).locationName("SupportsIntegrations").build()) .build(); private static final List> SDK_FIELDS = Collections.unmodifiableList(Arrays.asList(ENGINE_FIELD, ENGINE_VERSION_FIELD, DB_PARAMETER_GROUP_FAMILY_FIELD, DB_ENGINE_DESCRIPTION_FIELD, DB_ENGINE_VERSION_DESCRIPTION_FIELD, DEFAULT_CHARACTER_SET_FIELD, IMAGE_FIELD, DB_ENGINE_MEDIA_TYPE_FIELD, SUPPORTED_CHARACTER_SETS_FIELD, SUPPORTED_NCHAR_CHARACTER_SETS_FIELD, VALID_UPGRADE_TARGET_FIELD, SUPPORTED_TIMEZONES_FIELD, EXPORTABLE_LOG_TYPES_FIELD, SUPPORTS_LOG_EXPORTS_TO_CLOUDWATCH_LOGS_FIELD, SUPPORTS_READ_REPLICA_FIELD, SUPPORTED_ENGINE_MODES_FIELD, SUPPORTED_FEATURE_NAMES_FIELD, STATUS_FIELD, SUPPORTS_PARALLEL_QUERY_FIELD, SUPPORTS_GLOBAL_DATABASES_FIELD, MAJOR_ENGINE_VERSION_FIELD, DATABASE_INSTALLATION_FILES_S3_BUCKET_NAME_FIELD, DATABASE_INSTALLATION_FILES_S3_PREFIX_FIELD, DB_ENGINE_VERSION_ARN_FIELD, KMS_KEY_ID_FIELD, CREATE_TIME_FIELD, TAG_LIST_FIELD, SUPPORTS_BABELFISH_FIELD, CUSTOM_DB_ENGINE_VERSION_MANIFEST_FIELD, SUPPORTS_LIMITLESS_DATABASE_FIELD, SUPPORTS_CERTIFICATE_ROTATION_WITHOUT_RESTART_FIELD, SUPPORTED_CA_CERTIFICATE_IDENTIFIERS_FIELD, SUPPORTS_LOCAL_WRITE_FORWARDING_FIELD, SUPPORTS_INTEGRATIONS_FIELD)); private static final long serialVersionUID = 1L; private final String engine; private final String engineVersion; private final String dbParameterGroupFamily; private final String dbEngineDescription; private final String dbEngineVersionDescription; private final CharacterSet defaultCharacterSet; private final CustomDBEngineVersionAMI image; private final String dbEngineMediaType; private final List supportedCharacterSets; private final List supportedNcharCharacterSets; private final List validUpgradeTarget; private final List supportedTimezones; private final List exportableLogTypes; private final Boolean supportsLogExportsToCloudwatchLogs; private final Boolean supportsReadReplica; private final List supportedEngineModes; private final List supportedFeatureNames; private final String status; private final Boolean supportsParallelQuery; private final Boolean supportsGlobalDatabases; private final String majorEngineVersion; private final String databaseInstallationFilesS3BucketName; private final String databaseInstallationFilesS3Prefix; private final String dbEngineVersionArn; private final String kmsKeyId; private final Instant createTime; private final List tagList; private final Boolean supportsBabelfish; private final String customDBEngineVersionManifest; private final Boolean supportsLimitlessDatabase; private final Boolean supportsCertificateRotationWithoutRestart; private final List supportedCACertificateIdentifiers; private final Boolean supportsLocalWriteForwarding; private final Boolean supportsIntegrations; private DBEngineVersion(BuilderImpl builder) { this.engine = builder.engine; this.engineVersion = builder.engineVersion; this.dbParameterGroupFamily = builder.dbParameterGroupFamily; this.dbEngineDescription = builder.dbEngineDescription; this.dbEngineVersionDescription = builder.dbEngineVersionDescription; this.defaultCharacterSet = builder.defaultCharacterSet; this.image = builder.image; this.dbEngineMediaType = builder.dbEngineMediaType; this.supportedCharacterSets = builder.supportedCharacterSets; this.supportedNcharCharacterSets = builder.supportedNcharCharacterSets; this.validUpgradeTarget = builder.validUpgradeTarget; this.supportedTimezones = builder.supportedTimezones; this.exportableLogTypes = builder.exportableLogTypes; this.supportsLogExportsToCloudwatchLogs = builder.supportsLogExportsToCloudwatchLogs; this.supportsReadReplica = builder.supportsReadReplica; this.supportedEngineModes = builder.supportedEngineModes; this.supportedFeatureNames = builder.supportedFeatureNames; this.status = builder.status; this.supportsParallelQuery = builder.supportsParallelQuery; this.supportsGlobalDatabases = builder.supportsGlobalDatabases; this.majorEngineVersion = builder.majorEngineVersion; this.databaseInstallationFilesS3BucketName = builder.databaseInstallationFilesS3BucketName; this.databaseInstallationFilesS3Prefix = builder.databaseInstallationFilesS3Prefix; this.dbEngineVersionArn = builder.dbEngineVersionArn; this.kmsKeyId = builder.kmsKeyId; this.createTime = builder.createTime; this.tagList = builder.tagList; this.supportsBabelfish = builder.supportsBabelfish; this.customDBEngineVersionManifest = builder.customDBEngineVersionManifest; this.supportsLimitlessDatabase = builder.supportsLimitlessDatabase; this.supportsCertificateRotationWithoutRestart = builder.supportsCertificateRotationWithoutRestart; this.supportedCACertificateIdentifiers = builder.supportedCACertificateIdentifiers; this.supportsLocalWriteForwarding = builder.supportsLocalWriteForwarding; this.supportsIntegrations = builder.supportsIntegrations; } /** *

* The name of the database engine. *

* * @return The name of the database engine. */ public final String engine() { return engine; } /** *

* The version number of the database engine. *

* * @return The version number of the database engine. */ public final String engineVersion() { return engineVersion; } /** *

* The name of the DB parameter group family for the database engine. *

* * @return The name of the DB parameter group family for the database engine. */ public final String dbParameterGroupFamily() { return dbParameterGroupFamily; } /** *

* The description of the database engine. *

* * @return The description of the database engine. */ public final String dbEngineDescription() { return dbEngineDescription; } /** *

* The description of the database engine version. *

* * @return The description of the database engine version. */ public final String dbEngineVersionDescription() { return dbEngineVersionDescription; } /** *

* The default character set for new instances of this engine version, if the CharacterSetName * parameter of the CreateDBInstance API isn't specified. *

* * @return The default character set for new instances of this engine version, if the CharacterSetName * parameter of the CreateDBInstance API isn't specified. */ public final CharacterSet defaultCharacterSet() { return defaultCharacterSet; } /** *

* The EC2 image *

* * @return The EC2 image */ public final CustomDBEngineVersionAMI image() { return image; } /** *

* A value that indicates the source media provider of the AMI based on the usage operation. Applicable for RDS * Custom for SQL Server. *

* * @return A value that indicates the source media provider of the AMI based on the usage operation. Applicable for * RDS Custom for SQL Server. */ public final String dbEngineMediaType() { return dbEngineMediaType; } /** * For responses, this returns true if the service returned a value for the SupportedCharacterSets property. This * DOES NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the * property). This is useful because the SDK will never return a null collection or map, but you may need to * differentiate between the service returning nothing (or null) and the service returning an empty collection or * map. For requests, this returns true if a value for the property was specified in the request builder, and false * if a value was not specified. */ public final boolean hasSupportedCharacterSets() { return supportedCharacterSets != null && !(supportedCharacterSets instanceof SdkAutoConstructList); } /** *

* A list of the character sets supported by this engine for the CharacterSetName parameter of the * CreateDBInstance operation. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasSupportedCharacterSets} method. *

* * @return A list of the character sets supported by this engine for the CharacterSetName parameter of * the CreateDBInstance operation. */ public final List supportedCharacterSets() { return supportedCharacterSets; } /** * For responses, this returns true if the service returned a value for the SupportedNcharCharacterSets property. * This DOES NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the * property). This is useful because the SDK will never return a null collection or map, but you may need to * differentiate between the service returning nothing (or null) and the service returning an empty collection or * map. For requests, this returns true if a value for the property was specified in the request builder, and false * if a value was not specified. */ public final boolean hasSupportedNcharCharacterSets() { return supportedNcharCharacterSets != null && !(supportedNcharCharacterSets instanceof SdkAutoConstructList); } /** *

* A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName * parameter of the CreateDBInstance operation. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasSupportedNcharCharacterSets} method. *

* * @return A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName * parameter of the CreateDBInstance operation. */ public final List supportedNcharCharacterSets() { return supportedNcharCharacterSets; } /** * For responses, this returns true if the service returned a value for the ValidUpgradeTarget property. This DOES * NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasValidUpgradeTarget() { return validUpgradeTarget != null && !(validUpgradeTarget instanceof SdkAutoConstructList); } /** *

* A list of engine versions that this database engine version can be upgraded to. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasValidUpgradeTarget} method. *

* * @return A list of engine versions that this database engine version can be upgraded to. */ public final List validUpgradeTarget() { return validUpgradeTarget; } /** * For responses, this returns true if the service returned a value for the SupportedTimezones property. This DOES * NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasSupportedTimezones() { return supportedTimezones != null && !(supportedTimezones instanceof SdkAutoConstructList); } /** *

* A list of the time zones supported by this engine for the Timezone parameter of the * CreateDBInstance action. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasSupportedTimezones} method. *

* * @return A list of the time zones supported by this engine for the Timezone parameter of the * CreateDBInstance action. */ public final List supportedTimezones() { return supportedTimezones; } /** * For responses, this returns true if the service returned a value for the ExportableLogTypes property. This DOES * NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasExportableLogTypes() { return exportableLogTypes != null && !(exportableLogTypes instanceof SdkAutoConstructList); } /** *

* The types of logs that the database engine has available for export to CloudWatch Logs. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasExportableLogTypes} method. *

* * @return The types of logs that the database engine has available for export to CloudWatch Logs. */ public final List exportableLogTypes() { return exportableLogTypes; } /** *

* Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to * CloudWatch Logs. *

* * @return Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to * CloudWatch Logs. */ public final Boolean supportsLogExportsToCloudwatchLogs() { return supportsLogExportsToCloudwatchLogs; } /** *

* Indicates whether the database engine version supports read replicas. *

* * @return Indicates whether the database engine version supports read replicas. */ public final Boolean supportsReadReplica() { return supportsReadReplica; } /** * For responses, this returns true if the service returned a value for the SupportedEngineModes property. This DOES * NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). * This is useful because the SDK will never return a null collection or map, but you may need to differentiate * between the service returning nothing (or null) and the service returning an empty collection or map. For * requests, this returns true if a value for the property was specified in the request builder, and false if a * value was not specified. */ public final boolean hasSupportedEngineModes() { return supportedEngineModes != null && !(supportedEngineModes instanceof SdkAutoConstructList); } /** *

* A list of the supported DB engine modes. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasSupportedEngineModes} method. *

* * @return A list of the supported DB engine modes. */ public final List supportedEngineModes() { return supportedEngineModes; } /** * For responses, this returns true if the service returned a value for the SupportedFeatureNames property. This * DOES NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} method on the * property). This is useful because the SDK will never return a null collection or map, but you may need to * differentiate between the service returning nothing (or null) and the service returning an empty collection or * map. For requests, this returns true if a value for the property was specified in the request builder, and false * if a value was not specified. */ public final boolean hasSupportedFeatureNames() { return supportedFeatureNames != null && !(supportedFeatureNames instanceof SdkAutoConstructList); } /** *

* A list of features supported by the DB engine. *

*

* The supported features vary by DB engine and DB engine version. *

*

* To determine the supported features for a specific DB engine and DB engine version using the CLI, use the * following command: *

*

* aws rds describe-db-engine-versions --engine <engine_name> --engine-version <engine_version> *

*

* For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, use the * following command: *

*

* aws rds describe-db-engine-versions --engine postgres --engine-version 13.3 *

*

* The supported features are listed under SupportedFeatureNames in the output. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasSupportedFeatureNames} method. *

* * @return A list of features supported by the DB engine.

*

* The supported features vary by DB engine and DB engine version. *

*

* To determine the supported features for a specific DB engine and DB engine version using the CLI, use the * following command: *

*

* aws rds describe-db-engine-versions --engine <engine_name> --engine-version <engine_version> *

*

* For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, use * the following command: *

*

* aws rds describe-db-engine-versions --engine postgres --engine-version 13.3 *

*

* The supported features are listed under SupportedFeatureNames in the output. */ public final List supportedFeatureNames() { return supportedFeatureNames; } /** *

* The status of the DB engine version, either available or deprecated. *

* * @return The status of the DB engine version, either available or deprecated. */ public final String status() { return status; } /** *

* Indicates whether you can use Aurora parallel query with a specific DB engine version. *

* * @return Indicates whether you can use Aurora parallel query with a specific DB engine version. */ public final Boolean supportsParallelQuery() { return supportsParallelQuery; } /** *

* Indicates whether you can use Aurora global databases with a specific DB engine version. *

* * @return Indicates whether you can use Aurora global databases with a specific DB engine version. */ public final Boolean supportsGlobalDatabases() { return supportsGlobalDatabases; } /** *

* The major engine version of the CEV. *

* * @return The major engine version of the CEV. */ public final String majorEngineVersion() { return majorEngineVersion; } /** *

* The name of the Amazon S3 bucket that contains your database installation files. *

* * @return The name of the Amazon S3 bucket that contains your database installation files. */ public final String databaseInstallationFilesS3BucketName() { return databaseInstallationFilesS3BucketName; } /** *

* The Amazon S3 directory that contains the database installation files. If not specified, then no prefix is * assumed. *

* * @return The Amazon S3 directory that contains the database installation files. If not specified, then no prefix * is assumed. */ public final String databaseInstallationFilesS3Prefix() { return databaseInstallationFilesS3Prefix; } /** *

* The ARN of the custom engine version. *

* * @return The ARN of the custom engine version. */ public final String dbEngineVersionArn() { return dbEngineVersionArn; } /** *

* The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for RDS Custom, but * optional for Amazon RDS. *

* * @return The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for RDS * Custom, but optional for Amazon RDS. */ public final String kmsKeyId() { return kmsKeyId; } /** *

* The creation time of the DB engine version. *

* * @return The creation time of the DB engine version. */ public final Instant createTime() { return createTime; } /** * For responses, this returns true if the service returned a value for the TagList property. This DOES NOT check * that the value is non-empty (for which, you should check the {@code isEmpty()} method on the property). This is * useful because the SDK will never return a null collection or map, but you may need to differentiate between the * service returning nothing (or null) and the service returning an empty collection or map. For requests, this * returns true if a value for the property was specified in the request builder, and false if a value was not * specified. */ public final boolean hasTagList() { return tagList != null && !(tagList instanceof SdkAutoConstructList); } /** * Returns the value of the TagList property for this object. *

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasTagList} method. *

* * @return The value of the TagList property for this object. */ public final List tagList() { return tagList; } /** *

* Indicates whether the engine version supports Babelfish for Aurora PostgreSQL. *

* * @return Indicates whether the engine version supports Babelfish for Aurora PostgreSQL. */ public final Boolean supportsBabelfish() { return supportsBabelfish; } /** *

* JSON string that lists the installation files and parameters that RDS Custom uses to create a custom engine * version (CEV). RDS Custom applies the patches in the order in which they're listed in the manifest. You can set * the Oracle home, Oracle base, and UNIX/Linux user and group using the installation parameters. For more * information, see JSON fields in the CEV manifest in the Amazon RDS User Guide. *

* * @return JSON string that lists the installation files and parameters that RDS Custom uses to create a custom * engine version (CEV). RDS Custom applies the patches in the order in which they're listed in the * manifest. You can set the Oracle home, Oracle base, and UNIX/Linux user and group using the installation * parameters. For more information, see JSON fields in the CEV manifest in the Amazon RDS User Guide. */ public final String customDBEngineVersionManifest() { return customDBEngineVersionManifest; } /** *

* Indicates whether the DB engine version supports Aurora Limitless Database. *

* * @return Indicates whether the DB engine version supports Aurora Limitless Database. */ public final Boolean supportsLimitlessDatabase() { return supportsLimitlessDatabase; } /** *

* Indicates whether the engine version supports rotating the server certificate without rebooting the DB instance. *

* * @return Indicates whether the engine version supports rotating the server certificate without rebooting the DB * instance. */ public final Boolean supportsCertificateRotationWithoutRestart() { return supportsCertificateRotationWithoutRestart; } /** * For responses, this returns true if the service returned a value for the SupportedCACertificateIdentifiers * property. This DOES NOT check that the value is non-empty (for which, you should check the {@code isEmpty()} * method on the property). This is useful because the SDK will never return a null collection or map, but you may * need to differentiate between the service returning nothing (or null) and the service returning an empty * collection or map. For requests, this returns true if a value for the property was specified in the request * builder, and false if a value was not specified. */ public final boolean hasSupportedCACertificateIdentifiers() { return supportedCACertificateIdentifiers != null && !(supportedCACertificateIdentifiers instanceof SdkAutoConstructList); } /** *

* A list of the supported CA certificate identifiers. *

*

* For more information, see Using SSL/TLS to encrypt a * connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to * encrypt a connection to a DB cluster in the Amazon Aurora User Guide. *

*

* Attempts to modify the collection returned by this method will result in an UnsupportedOperationException. *

*

* This method will never return null. If you would like to know whether the service returned this field (so that * you can differentiate between null and empty), you can use the {@link #hasSupportedCACertificateIdentifiers} * method. *

* * @return A list of the supported CA certificate identifiers.

*

* For more information, see Using SSL/TLS to * encrypt a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS * to encrypt a connection to a DB cluster in the Amazon Aurora User Guide. */ public final List supportedCACertificateIdentifiers() { return supportedCACertificateIdentifiers; } /** *

* Indicates whether the DB engine version supports forwarding write operations from reader DB instances to the * writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances. *

*

* Valid for: Aurora DB clusters only *

* * @return Indicates whether the DB engine version supports forwarding write operations from reader DB instances to * the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB * instances.

*

* Valid for: Aurora DB clusters only */ public final Boolean supportsLocalWriteForwarding() { return supportsLocalWriteForwarding; } /** *

* Indicates whether the DB engine version supports zero-ETL integrations with Amazon Redshift. *

* * @return Indicates whether the DB engine version supports zero-ETL integrations with Amazon Redshift. */ public final Boolean supportsIntegrations() { return supportsIntegrations; } @Override public Builder toBuilder() { return new BuilderImpl(this); } public static Builder builder() { return new BuilderImpl(); } public static Class serializableBuilderClass() { return BuilderImpl.class; } @Override public final int hashCode() { int hashCode = 1; hashCode = 31 * hashCode + Objects.hashCode(engine()); hashCode = 31 * hashCode + Objects.hashCode(engineVersion()); hashCode = 31 * hashCode + Objects.hashCode(dbParameterGroupFamily()); hashCode = 31 * hashCode + Objects.hashCode(dbEngineDescription()); hashCode = 31 * hashCode + Objects.hashCode(dbEngineVersionDescription()); hashCode = 31 * hashCode + Objects.hashCode(defaultCharacterSet()); hashCode = 31 * hashCode + Objects.hashCode(image()); hashCode = 31 * hashCode + Objects.hashCode(dbEngineMediaType()); hashCode = 31 * hashCode + Objects.hashCode(hasSupportedCharacterSets() ? supportedCharacterSets() : null); hashCode = 31 * hashCode + Objects.hashCode(hasSupportedNcharCharacterSets() ? supportedNcharCharacterSets() : null); hashCode = 31 * hashCode + Objects.hashCode(hasValidUpgradeTarget() ? validUpgradeTarget() : null); hashCode = 31 * hashCode + Objects.hashCode(hasSupportedTimezones() ? supportedTimezones() : null); hashCode = 31 * hashCode + Objects.hashCode(hasExportableLogTypes() ? exportableLogTypes() : null); hashCode = 31 * hashCode + Objects.hashCode(supportsLogExportsToCloudwatchLogs()); hashCode = 31 * hashCode + Objects.hashCode(supportsReadReplica()); hashCode = 31 * hashCode + Objects.hashCode(hasSupportedEngineModes() ? supportedEngineModes() : null); hashCode = 31 * hashCode + Objects.hashCode(hasSupportedFeatureNames() ? supportedFeatureNames() : null); hashCode = 31 * hashCode + Objects.hashCode(status()); hashCode = 31 * hashCode + Objects.hashCode(supportsParallelQuery()); hashCode = 31 * hashCode + Objects.hashCode(supportsGlobalDatabases()); hashCode = 31 * hashCode + Objects.hashCode(majorEngineVersion()); hashCode = 31 * hashCode + Objects.hashCode(databaseInstallationFilesS3BucketName()); hashCode = 31 * hashCode + Objects.hashCode(databaseInstallationFilesS3Prefix()); hashCode = 31 * hashCode + Objects.hashCode(dbEngineVersionArn()); hashCode = 31 * hashCode + Objects.hashCode(kmsKeyId()); hashCode = 31 * hashCode + Objects.hashCode(createTime()); hashCode = 31 * hashCode + Objects.hashCode(hasTagList() ? tagList() : null); hashCode = 31 * hashCode + Objects.hashCode(supportsBabelfish()); hashCode = 31 * hashCode + Objects.hashCode(customDBEngineVersionManifest()); hashCode = 31 * hashCode + Objects.hashCode(supportsLimitlessDatabase()); hashCode = 31 * hashCode + Objects.hashCode(supportsCertificateRotationWithoutRestart()); hashCode = 31 * hashCode + Objects.hashCode(hasSupportedCACertificateIdentifiers() ? supportedCACertificateIdentifiers() : null); hashCode = 31 * hashCode + Objects.hashCode(supportsLocalWriteForwarding()); hashCode = 31 * hashCode + Objects.hashCode(supportsIntegrations()); return hashCode; } @Override public final boolean equals(Object obj) { return equalsBySdkFields(obj); } @Override public final boolean equalsBySdkFields(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof DBEngineVersion)) { return false; } DBEngineVersion other = (DBEngineVersion) obj; return Objects.equals(engine(), other.engine()) && Objects.equals(engineVersion(), other.engineVersion()) && Objects.equals(dbParameterGroupFamily(), other.dbParameterGroupFamily()) && Objects.equals(dbEngineDescription(), other.dbEngineDescription()) && Objects.equals(dbEngineVersionDescription(), other.dbEngineVersionDescription()) && Objects.equals(defaultCharacterSet(), other.defaultCharacterSet()) && Objects.equals(image(), other.image()) && Objects.equals(dbEngineMediaType(), other.dbEngineMediaType()) && hasSupportedCharacterSets() == other.hasSupportedCharacterSets() && Objects.equals(supportedCharacterSets(), other.supportedCharacterSets()) && hasSupportedNcharCharacterSets() == other.hasSupportedNcharCharacterSets() && Objects.equals(supportedNcharCharacterSets(), other.supportedNcharCharacterSets()) && hasValidUpgradeTarget() == other.hasValidUpgradeTarget() && Objects.equals(validUpgradeTarget(), other.validUpgradeTarget()) && hasSupportedTimezones() == other.hasSupportedTimezones() && Objects.equals(supportedTimezones(), other.supportedTimezones()) && hasExportableLogTypes() == other.hasExportableLogTypes() && Objects.equals(exportableLogTypes(), other.exportableLogTypes()) && Objects.equals(supportsLogExportsToCloudwatchLogs(), other.supportsLogExportsToCloudwatchLogs()) && Objects.equals(supportsReadReplica(), other.supportsReadReplica()) && hasSupportedEngineModes() == other.hasSupportedEngineModes() && Objects.equals(supportedEngineModes(), other.supportedEngineModes()) && hasSupportedFeatureNames() == other.hasSupportedFeatureNames() && Objects.equals(supportedFeatureNames(), other.supportedFeatureNames()) && Objects.equals(status(), other.status()) && Objects.equals(supportsParallelQuery(), other.supportsParallelQuery()) && Objects.equals(supportsGlobalDatabases(), other.supportsGlobalDatabases()) && Objects.equals(majorEngineVersion(), other.majorEngineVersion()) && Objects.equals(databaseInstallationFilesS3BucketName(), other.databaseInstallationFilesS3BucketName()) && Objects.equals(databaseInstallationFilesS3Prefix(), other.databaseInstallationFilesS3Prefix()) && Objects.equals(dbEngineVersionArn(), other.dbEngineVersionArn()) && Objects.equals(kmsKeyId(), other.kmsKeyId()) && Objects.equals(createTime(), other.createTime()) && hasTagList() == other.hasTagList() && Objects.equals(tagList(), other.tagList()) && Objects.equals(supportsBabelfish(), other.supportsBabelfish()) && Objects.equals(customDBEngineVersionManifest(), other.customDBEngineVersionManifest()) && Objects.equals(supportsLimitlessDatabase(), other.supportsLimitlessDatabase()) && Objects.equals(supportsCertificateRotationWithoutRestart(), other.supportsCertificateRotationWithoutRestart()) && hasSupportedCACertificateIdentifiers() == other.hasSupportedCACertificateIdentifiers() && Objects.equals(supportedCACertificateIdentifiers(), other.supportedCACertificateIdentifiers()) && Objects.equals(supportsLocalWriteForwarding(), other.supportsLocalWriteForwarding()) && Objects.equals(supportsIntegrations(), other.supportsIntegrations()); } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. */ @Override public final String toString() { return ToString .builder("DBEngineVersion") .add("Engine", engine()) .add("EngineVersion", engineVersion()) .add("DBParameterGroupFamily", dbParameterGroupFamily()) .add("DBEngineDescription", dbEngineDescription()) .add("DBEngineVersionDescription", dbEngineVersionDescription()) .add("DefaultCharacterSet", defaultCharacterSet()) .add("Image", image()) .add("DBEngineMediaType", dbEngineMediaType()) .add("SupportedCharacterSets", hasSupportedCharacterSets() ? supportedCharacterSets() : null) .add("SupportedNcharCharacterSets", hasSupportedNcharCharacterSets() ? supportedNcharCharacterSets() : null) .add("ValidUpgradeTarget", hasValidUpgradeTarget() ? validUpgradeTarget() : null) .add("SupportedTimezones", hasSupportedTimezones() ? supportedTimezones() : null) .add("ExportableLogTypes", hasExportableLogTypes() ? exportableLogTypes() : null) .add("SupportsLogExportsToCloudwatchLogs", supportsLogExportsToCloudwatchLogs()) .add("SupportsReadReplica", supportsReadReplica()) .add("SupportedEngineModes", hasSupportedEngineModes() ? supportedEngineModes() : null) .add("SupportedFeatureNames", hasSupportedFeatureNames() ? supportedFeatureNames() : null) .add("Status", status()) .add("SupportsParallelQuery", supportsParallelQuery()) .add("SupportsGlobalDatabases", supportsGlobalDatabases()) .add("MajorEngineVersion", majorEngineVersion()) .add("DatabaseInstallationFilesS3BucketName", databaseInstallationFilesS3BucketName()) .add("DatabaseInstallationFilesS3Prefix", databaseInstallationFilesS3Prefix()) .add("DBEngineVersionArn", dbEngineVersionArn()) .add("KMSKeyId", kmsKeyId()) .add("CreateTime", createTime()) .add("TagList", hasTagList() ? tagList() : null) .add("SupportsBabelfish", supportsBabelfish()) .add("CustomDBEngineVersionManifest", customDBEngineVersionManifest()) .add("SupportsLimitlessDatabase", supportsLimitlessDatabase()) .add("SupportsCertificateRotationWithoutRestart", supportsCertificateRotationWithoutRestart()) .add("SupportedCACertificateIdentifiers", hasSupportedCACertificateIdentifiers() ? supportedCACertificateIdentifiers() : null) .add("SupportsLocalWriteForwarding", supportsLocalWriteForwarding()) .add("SupportsIntegrations", supportsIntegrations()).build(); } public final Optional getValueForField(String fieldName, Class clazz) { switch (fieldName) { case "Engine": return Optional.ofNullable(clazz.cast(engine())); case "EngineVersion": return Optional.ofNullable(clazz.cast(engineVersion())); case "DBParameterGroupFamily": return Optional.ofNullable(clazz.cast(dbParameterGroupFamily())); case "DBEngineDescription": return Optional.ofNullable(clazz.cast(dbEngineDescription())); case "DBEngineVersionDescription": return Optional.ofNullable(clazz.cast(dbEngineVersionDescription())); case "DefaultCharacterSet": return Optional.ofNullable(clazz.cast(defaultCharacterSet())); case "Image": return Optional.ofNullable(clazz.cast(image())); case "DBEngineMediaType": return Optional.ofNullable(clazz.cast(dbEngineMediaType())); case "SupportedCharacterSets": return Optional.ofNullable(clazz.cast(supportedCharacterSets())); case "SupportedNcharCharacterSets": return Optional.ofNullable(clazz.cast(supportedNcharCharacterSets())); case "ValidUpgradeTarget": return Optional.ofNullable(clazz.cast(validUpgradeTarget())); case "SupportedTimezones": return Optional.ofNullable(clazz.cast(supportedTimezones())); case "ExportableLogTypes": return Optional.ofNullable(clazz.cast(exportableLogTypes())); case "SupportsLogExportsToCloudwatchLogs": return Optional.ofNullable(clazz.cast(supportsLogExportsToCloudwatchLogs())); case "SupportsReadReplica": return Optional.ofNullable(clazz.cast(supportsReadReplica())); case "SupportedEngineModes": return Optional.ofNullable(clazz.cast(supportedEngineModes())); case "SupportedFeatureNames": return Optional.ofNullable(clazz.cast(supportedFeatureNames())); case "Status": return Optional.ofNullable(clazz.cast(status())); case "SupportsParallelQuery": return Optional.ofNullable(clazz.cast(supportsParallelQuery())); case "SupportsGlobalDatabases": return Optional.ofNullable(clazz.cast(supportsGlobalDatabases())); case "MajorEngineVersion": return Optional.ofNullable(clazz.cast(majorEngineVersion())); case "DatabaseInstallationFilesS3BucketName": return Optional.ofNullable(clazz.cast(databaseInstallationFilesS3BucketName())); case "DatabaseInstallationFilesS3Prefix": return Optional.ofNullable(clazz.cast(databaseInstallationFilesS3Prefix())); case "DBEngineVersionArn": return Optional.ofNullable(clazz.cast(dbEngineVersionArn())); case "KMSKeyId": return Optional.ofNullable(clazz.cast(kmsKeyId())); case "CreateTime": return Optional.ofNullable(clazz.cast(createTime())); case "TagList": return Optional.ofNullable(clazz.cast(tagList())); case "SupportsBabelfish": return Optional.ofNullable(clazz.cast(supportsBabelfish())); case "CustomDBEngineVersionManifest": return Optional.ofNullable(clazz.cast(customDBEngineVersionManifest())); case "SupportsLimitlessDatabase": return Optional.ofNullable(clazz.cast(supportsLimitlessDatabase())); case "SupportsCertificateRotationWithoutRestart": return Optional.ofNullable(clazz.cast(supportsCertificateRotationWithoutRestart())); case "SupportedCACertificateIdentifiers": return Optional.ofNullable(clazz.cast(supportedCACertificateIdentifiers())); case "SupportsLocalWriteForwarding": return Optional.ofNullable(clazz.cast(supportsLocalWriteForwarding())); case "SupportsIntegrations": return Optional.ofNullable(clazz.cast(supportsIntegrations())); default: return Optional.empty(); } } @Override public final List> sdkFields() { return SDK_FIELDS; } private static Function getter(Function g) { return obj -> g.apply((DBEngineVersion) obj); } private static BiConsumer setter(BiConsumer s) { return (obj, val) -> s.accept((Builder) obj, val); } public interface Builder extends SdkPojo, CopyableBuilder { /** *

* The name of the database engine. *

* * @param engine * The name of the database engine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder engine(String engine); /** *

* The version number of the database engine. *

* * @param engineVersion * The version number of the database engine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder engineVersion(String engineVersion); /** *

* The name of the DB parameter group family for the database engine. *

* * @param dbParameterGroupFamily * The name of the DB parameter group family for the database engine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbParameterGroupFamily(String dbParameterGroupFamily); /** *

* The description of the database engine. *

* * @param dbEngineDescription * The description of the database engine. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbEngineDescription(String dbEngineDescription); /** *

* The description of the database engine version. *

* * @param dbEngineVersionDescription * The description of the database engine version. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbEngineVersionDescription(String dbEngineVersionDescription); /** *

* The default character set for new instances of this engine version, if the CharacterSetName * parameter of the CreateDBInstance API isn't specified. *

* * @param defaultCharacterSet * The default character set for new instances of this engine version, if the * CharacterSetName parameter of the CreateDBInstance API isn't specified. * @return Returns a reference to this object so that method calls can be chained together. */ Builder defaultCharacterSet(CharacterSet defaultCharacterSet); /** *

* The default character set for new instances of this engine version, if the CharacterSetName * parameter of the CreateDBInstance API isn't specified. *

* This is a convenience method that creates an instance of the {@link CharacterSet.Builder} avoiding the need * to create one manually via {@link CharacterSet#builder()}. * *

* When the {@link Consumer} completes, {@link CharacterSet.Builder#build()} is called immediately and its * result is passed to {@link #defaultCharacterSet(CharacterSet)}. * * @param defaultCharacterSet * a consumer that will call methods on {@link CharacterSet.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #defaultCharacterSet(CharacterSet) */ default Builder defaultCharacterSet(Consumer defaultCharacterSet) { return defaultCharacterSet(CharacterSet.builder().applyMutation(defaultCharacterSet).build()); } /** *

* The EC2 image *

* * @param image * The EC2 image * @return Returns a reference to this object so that method calls can be chained together. */ Builder image(CustomDBEngineVersionAMI image); /** *

* The EC2 image *

* This is a convenience method that creates an instance of the {@link CustomDBEngineVersionAMI.Builder} * avoiding the need to create one manually via {@link CustomDBEngineVersionAMI#builder()}. * *

* When the {@link Consumer} completes, {@link CustomDBEngineVersionAMI.Builder#build()} is called immediately * and its result is passed to {@link #image(CustomDBEngineVersionAMI)}. * * @param image * a consumer that will call methods on {@link CustomDBEngineVersionAMI.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #image(CustomDBEngineVersionAMI) */ default Builder image(Consumer image) { return image(CustomDBEngineVersionAMI.builder().applyMutation(image).build()); } /** *

* A value that indicates the source media provider of the AMI based on the usage operation. Applicable for RDS * Custom for SQL Server. *

* * @param dbEngineMediaType * A value that indicates the source media provider of the AMI based on the usage operation. Applicable * for RDS Custom for SQL Server. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbEngineMediaType(String dbEngineMediaType); /** *

* A list of the character sets supported by this engine for the CharacterSetName parameter of the * CreateDBInstance operation. *

* * @param supportedCharacterSets * A list of the character sets supported by this engine for the CharacterSetName parameter * of the CreateDBInstance operation. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedCharacterSets(Collection supportedCharacterSets); /** *

* A list of the character sets supported by this engine for the CharacterSetName parameter of the * CreateDBInstance operation. *

* * @param supportedCharacterSets * A list of the character sets supported by this engine for the CharacterSetName parameter * of the CreateDBInstance operation. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedCharacterSets(CharacterSet... supportedCharacterSets); /** *

* A list of the character sets supported by this engine for the CharacterSetName parameter of the * CreateDBInstance operation. *

* This is a convenience method that creates an instance of the * {@link software.amazon.awssdk.services.rds.model.CharacterSet.Builder} avoiding the need to create one * manually via {@link software.amazon.awssdk.services.rds.model.CharacterSet#builder()}. * *

* When the {@link Consumer} completes, * {@link software.amazon.awssdk.services.rds.model.CharacterSet.Builder#build()} is called immediately and its * result is passed to {@link #supportedCharacterSets(List)}. * * @param supportedCharacterSets * a consumer that will call methods on * {@link software.amazon.awssdk.services.rds.model.CharacterSet.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #supportedCharacterSets(java.util.Collection) */ Builder supportedCharacterSets(Consumer... supportedCharacterSets); /** *

* A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName * parameter of the CreateDBInstance operation. *

* * @param supportedNcharCharacterSets * A list of the character sets supported by the Oracle DB engine for the * NcharCharacterSetName parameter of the CreateDBInstance operation. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedNcharCharacterSets(Collection supportedNcharCharacterSets); /** *

* A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName * parameter of the CreateDBInstance operation. *

* * @param supportedNcharCharacterSets * A list of the character sets supported by the Oracle DB engine for the * NcharCharacterSetName parameter of the CreateDBInstance operation. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedNcharCharacterSets(CharacterSet... supportedNcharCharacterSets); /** *

* A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName * parameter of the CreateDBInstance operation. *

* This is a convenience method that creates an instance of the * {@link software.amazon.awssdk.services.rds.model.CharacterSet.Builder} avoiding the need to create one * manually via {@link software.amazon.awssdk.services.rds.model.CharacterSet#builder()}. * *

* When the {@link Consumer} completes, * {@link software.amazon.awssdk.services.rds.model.CharacterSet.Builder#build()} is called immediately and its * result is passed to {@link #supportedNcharCharacterSets(List)}. * * @param supportedNcharCharacterSets * a consumer that will call methods on * {@link software.amazon.awssdk.services.rds.model.CharacterSet.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #supportedNcharCharacterSets(java.util.Collection) */ Builder supportedNcharCharacterSets(Consumer... supportedNcharCharacterSets); /** *

* A list of engine versions that this database engine version can be upgraded to. *

* * @param validUpgradeTarget * A list of engine versions that this database engine version can be upgraded to. * @return Returns a reference to this object so that method calls can be chained together. */ Builder validUpgradeTarget(Collection validUpgradeTarget); /** *

* A list of engine versions that this database engine version can be upgraded to. *

* * @param validUpgradeTarget * A list of engine versions that this database engine version can be upgraded to. * @return Returns a reference to this object so that method calls can be chained together. */ Builder validUpgradeTarget(UpgradeTarget... validUpgradeTarget); /** *

* A list of engine versions that this database engine version can be upgraded to. *

* This is a convenience method that creates an instance of the * {@link software.amazon.awssdk.services.rds.model.UpgradeTarget.Builder} avoiding the need to create one * manually via {@link software.amazon.awssdk.services.rds.model.UpgradeTarget#builder()}. * *

* When the {@link Consumer} completes, * {@link software.amazon.awssdk.services.rds.model.UpgradeTarget.Builder#build()} is called immediately and its * result is passed to {@link #validUpgradeTarget(List)}. * * @param validUpgradeTarget * a consumer that will call methods on * {@link software.amazon.awssdk.services.rds.model.UpgradeTarget.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #validUpgradeTarget(java.util.Collection) */ Builder validUpgradeTarget(Consumer... validUpgradeTarget); /** *

* A list of the time zones supported by this engine for the Timezone parameter of the * CreateDBInstance action. *

* * @param supportedTimezones * A list of the time zones supported by this engine for the Timezone parameter of the * CreateDBInstance action. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedTimezones(Collection supportedTimezones); /** *

* A list of the time zones supported by this engine for the Timezone parameter of the * CreateDBInstance action. *

* * @param supportedTimezones * A list of the time zones supported by this engine for the Timezone parameter of the * CreateDBInstance action. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedTimezones(Timezone... supportedTimezones); /** *

* A list of the time zones supported by this engine for the Timezone parameter of the * CreateDBInstance action. *

* This is a convenience method that creates an instance of the * {@link software.amazon.awssdk.services.rds.model.Timezone.Builder} avoiding the need to create one manually * via {@link software.amazon.awssdk.services.rds.model.Timezone#builder()}. * *

* When the {@link Consumer} completes, * {@link software.amazon.awssdk.services.rds.model.Timezone.Builder#build()} is called immediately and its * result is passed to {@link #supportedTimezones(List)}. * * @param supportedTimezones * a consumer that will call methods on * {@link software.amazon.awssdk.services.rds.model.Timezone.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #supportedTimezones(java.util.Collection) */ Builder supportedTimezones(Consumer... supportedTimezones); /** *

* The types of logs that the database engine has available for export to CloudWatch Logs. *

* * @param exportableLogTypes * The types of logs that the database engine has available for export to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ Builder exportableLogTypes(Collection exportableLogTypes); /** *

* The types of logs that the database engine has available for export to CloudWatch Logs. *

* * @param exportableLogTypes * The types of logs that the database engine has available for export to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ Builder exportableLogTypes(String... exportableLogTypes); /** *

* Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to * CloudWatch Logs. *

* * @param supportsLogExportsToCloudwatchLogs * Indicates whether the engine version supports exporting the log types specified by ExportableLogTypes * to CloudWatch Logs. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsLogExportsToCloudwatchLogs(Boolean supportsLogExportsToCloudwatchLogs); /** *

* Indicates whether the database engine version supports read replicas. *

* * @param supportsReadReplica * Indicates whether the database engine version supports read replicas. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsReadReplica(Boolean supportsReadReplica); /** *

* A list of the supported DB engine modes. *

* * @param supportedEngineModes * A list of the supported DB engine modes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedEngineModes(Collection supportedEngineModes); /** *

* A list of the supported DB engine modes. *

* * @param supportedEngineModes * A list of the supported DB engine modes. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedEngineModes(String... supportedEngineModes); /** *

* A list of features supported by the DB engine. *

*

* The supported features vary by DB engine and DB engine version. *

*

* To determine the supported features for a specific DB engine and DB engine version using the CLI, use the * following command: *

*

* aws rds describe-db-engine-versions --engine <engine_name> --engine-version <engine_version> *

*

* For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, use the * following command: *

*

* aws rds describe-db-engine-versions --engine postgres --engine-version 13.3 *

*

* The supported features are listed under SupportedFeatureNames in the output. *

* * @param supportedFeatureNames * A list of features supported by the DB engine.

*

* The supported features vary by DB engine and DB engine version. *

*

* To determine the supported features for a specific DB engine and DB engine version using the CLI, use * the following command: *

*

* aws rds describe-db-engine-versions --engine <engine_name> --engine-version <engine_version> *

*

* For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, * use the following command: *

*

* aws rds describe-db-engine-versions --engine postgres --engine-version 13.3 *

*

* The supported features are listed under SupportedFeatureNames in the output. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedFeatureNames(Collection supportedFeatureNames); /** *

* A list of features supported by the DB engine. *

*

* The supported features vary by DB engine and DB engine version. *

*

* To determine the supported features for a specific DB engine and DB engine version using the CLI, use the * following command: *

*

* aws rds describe-db-engine-versions --engine <engine_name> --engine-version <engine_version> *

*

* For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, use the * following command: *

*

* aws rds describe-db-engine-versions --engine postgres --engine-version 13.3 *

*

* The supported features are listed under SupportedFeatureNames in the output. *

* * @param supportedFeatureNames * A list of features supported by the DB engine.

*

* The supported features vary by DB engine and DB engine version. *

*

* To determine the supported features for a specific DB engine and DB engine version using the CLI, use * the following command: *

*

* aws rds describe-db-engine-versions --engine <engine_name> --engine-version <engine_version> *

*

* For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, * use the following command: *

*

* aws rds describe-db-engine-versions --engine postgres --engine-version 13.3 *

*

* The supported features are listed under SupportedFeatureNames in the output. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedFeatureNames(String... supportedFeatureNames); /** *

* The status of the DB engine version, either available or deprecated. *

* * @param status * The status of the DB engine version, either available or deprecated. * @return Returns a reference to this object so that method calls can be chained together. */ Builder status(String status); /** *

* Indicates whether you can use Aurora parallel query with a specific DB engine version. *

* * @param supportsParallelQuery * Indicates whether you can use Aurora parallel query with a specific DB engine version. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsParallelQuery(Boolean supportsParallelQuery); /** *

* Indicates whether you can use Aurora global databases with a specific DB engine version. *

* * @param supportsGlobalDatabases * Indicates whether you can use Aurora global databases with a specific DB engine version. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsGlobalDatabases(Boolean supportsGlobalDatabases); /** *

* The major engine version of the CEV. *

* * @param majorEngineVersion * The major engine version of the CEV. * @return Returns a reference to this object so that method calls can be chained together. */ Builder majorEngineVersion(String majorEngineVersion); /** *

* The name of the Amazon S3 bucket that contains your database installation files. *

* * @param databaseInstallationFilesS3BucketName * The name of the Amazon S3 bucket that contains your database installation files. * @return Returns a reference to this object so that method calls can be chained together. */ Builder databaseInstallationFilesS3BucketName(String databaseInstallationFilesS3BucketName); /** *

* The Amazon S3 directory that contains the database installation files. If not specified, then no prefix is * assumed. *

* * @param databaseInstallationFilesS3Prefix * The Amazon S3 directory that contains the database installation files. If not specified, then no * prefix is assumed. * @return Returns a reference to this object so that method calls can be chained together. */ Builder databaseInstallationFilesS3Prefix(String databaseInstallationFilesS3Prefix); /** *

* The ARN of the custom engine version. *

* * @param dbEngineVersionArn * The ARN of the custom engine version. * @return Returns a reference to this object so that method calls can be chained together. */ Builder dbEngineVersionArn(String dbEngineVersionArn); /** *

* The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for RDS Custom, * but optional for Amazon RDS. *

* * @param kmsKeyId * The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for RDS * Custom, but optional for Amazon RDS. * @return Returns a reference to this object so that method calls can be chained together. */ Builder kmsKeyId(String kmsKeyId); /** *

* The creation time of the DB engine version. *

* * @param createTime * The creation time of the DB engine version. * @return Returns a reference to this object so that method calls can be chained together. */ Builder createTime(Instant createTime); /** * Sets the value of the TagList property for this object. * * @param tagList * The new value for the TagList property for this object. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tagList(Collection tagList); /** * Sets the value of the TagList property for this object. * * @param tagList * The new value for the TagList property for this object. * @return Returns a reference to this object so that method calls can be chained together. */ Builder tagList(Tag... tagList); /** * Sets the value of the TagList property for this object. * * This is a convenience method that creates an instance of the * {@link software.amazon.awssdk.services.rds.model.Tag.Builder} avoiding the need to create one manually via * {@link software.amazon.awssdk.services.rds.model.Tag#builder()}. * *

* When the {@link Consumer} completes, {@link software.amazon.awssdk.services.rds.model.Tag.Builder#build()} is * called immediately and its result is passed to {@link #tagList(List)}. * * @param tagList * a consumer that will call methods on {@link software.amazon.awssdk.services.rds.model.Tag.Builder} * @return Returns a reference to this object so that method calls can be chained together. * @see #tagList(java.util.Collection) */ Builder tagList(Consumer... tagList); /** *

* Indicates whether the engine version supports Babelfish for Aurora PostgreSQL. *

* * @param supportsBabelfish * Indicates whether the engine version supports Babelfish for Aurora PostgreSQL. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsBabelfish(Boolean supportsBabelfish); /** *

* JSON string that lists the installation files and parameters that RDS Custom uses to create a custom engine * version (CEV). RDS Custom applies the patches in the order in which they're listed in the manifest. You can * set the Oracle home, Oracle base, and UNIX/Linux user and group using the installation parameters. For more * information, see JSON fields in the CEV manifest in the Amazon RDS User Guide. *

* * @param customDBEngineVersionManifest * JSON string that lists the installation files and parameters that RDS Custom uses to create a custom * engine version (CEV). RDS Custom applies the patches in the order in which they're listed in the * manifest. You can set the Oracle home, Oracle base, and UNIX/Linux user and group using the * installation parameters. For more information, see JSON fields in the CEV manifest in the Amazon RDS User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder customDBEngineVersionManifest(String customDBEngineVersionManifest); /** *

* Indicates whether the DB engine version supports Aurora Limitless Database. *

* * @param supportsLimitlessDatabase * Indicates whether the DB engine version supports Aurora Limitless Database. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsLimitlessDatabase(Boolean supportsLimitlessDatabase); /** *

* Indicates whether the engine version supports rotating the server certificate without rebooting the DB * instance. *

* * @param supportsCertificateRotationWithoutRestart * Indicates whether the engine version supports rotating the server certificate without rebooting the DB * instance. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsCertificateRotationWithoutRestart(Boolean supportsCertificateRotationWithoutRestart); /** *

* A list of the supported CA certificate identifiers. *

*

* For more information, see Using SSL/TLS to encrypt * a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to * encrypt a connection to a DB cluster in the Amazon Aurora User Guide. *

* * @param supportedCACertificateIdentifiers * A list of the supported CA certificate identifiers.

*

* For more information, see Using SSL/TLS to * encrypt a connection to a DB instance in the Amazon RDS User Guide and Using * SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedCACertificateIdentifiers(Collection supportedCACertificateIdentifiers); /** *

* A list of the supported CA certificate identifiers. *

*

* For more information, see Using SSL/TLS to encrypt * a connection to a DB instance in the Amazon RDS User Guide and Using SSL/TLS to * encrypt a connection to a DB cluster in the Amazon Aurora User Guide. *

* * @param supportedCACertificateIdentifiers * A list of the supported CA certificate identifiers.

*

* For more information, see Using SSL/TLS to * encrypt a connection to a DB instance in the Amazon RDS User Guide and Using * SSL/TLS to encrypt a connection to a DB cluster in the Amazon Aurora User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportedCACertificateIdentifiers(String... supportedCACertificateIdentifiers); /** *

* Indicates whether the DB engine version supports forwarding write operations from reader DB instances to the * writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB instances. *

*

* Valid for: Aurora DB clusters only *

* * @param supportsLocalWriteForwarding * Indicates whether the DB engine version supports forwarding write operations from reader DB instances * to the writer DB instance in the DB cluster. By default, write operations aren't allowed on reader DB * instances.

*

* Valid for: Aurora DB clusters only * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsLocalWriteForwarding(Boolean supportsLocalWriteForwarding); /** *

* Indicates whether the DB engine version supports zero-ETL integrations with Amazon Redshift. *

* * @param supportsIntegrations * Indicates whether the DB engine version supports zero-ETL integrations with Amazon Redshift. * @return Returns a reference to this object so that method calls can be chained together. */ Builder supportsIntegrations(Boolean supportsIntegrations); } static final class BuilderImpl implements Builder { private String engine; private String engineVersion; private String dbParameterGroupFamily; private String dbEngineDescription; private String dbEngineVersionDescription; private CharacterSet defaultCharacterSet; private CustomDBEngineVersionAMI image; private String dbEngineMediaType; private List supportedCharacterSets = DefaultSdkAutoConstructList.getInstance(); private List supportedNcharCharacterSets = DefaultSdkAutoConstructList.getInstance(); private List validUpgradeTarget = DefaultSdkAutoConstructList.getInstance(); private List supportedTimezones = DefaultSdkAutoConstructList.getInstance(); private List exportableLogTypes = DefaultSdkAutoConstructList.getInstance(); private Boolean supportsLogExportsToCloudwatchLogs; private Boolean supportsReadReplica; private List supportedEngineModes = DefaultSdkAutoConstructList.getInstance(); private List supportedFeatureNames = DefaultSdkAutoConstructList.getInstance(); private String status; private Boolean supportsParallelQuery; private Boolean supportsGlobalDatabases; private String majorEngineVersion; private String databaseInstallationFilesS3BucketName; private String databaseInstallationFilesS3Prefix; private String dbEngineVersionArn; private String kmsKeyId; private Instant createTime; private List tagList = DefaultSdkAutoConstructList.getInstance(); private Boolean supportsBabelfish; private String customDBEngineVersionManifest; private Boolean supportsLimitlessDatabase; private Boolean supportsCertificateRotationWithoutRestart; private List supportedCACertificateIdentifiers = DefaultSdkAutoConstructList.getInstance(); private Boolean supportsLocalWriteForwarding; private Boolean supportsIntegrations; private BuilderImpl() { } private BuilderImpl(DBEngineVersion model) { engine(model.engine); engineVersion(model.engineVersion); dbParameterGroupFamily(model.dbParameterGroupFamily); dbEngineDescription(model.dbEngineDescription); dbEngineVersionDescription(model.dbEngineVersionDescription); defaultCharacterSet(model.defaultCharacterSet); image(model.image); dbEngineMediaType(model.dbEngineMediaType); supportedCharacterSets(model.supportedCharacterSets); supportedNcharCharacterSets(model.supportedNcharCharacterSets); validUpgradeTarget(model.validUpgradeTarget); supportedTimezones(model.supportedTimezones); exportableLogTypes(model.exportableLogTypes); supportsLogExportsToCloudwatchLogs(model.supportsLogExportsToCloudwatchLogs); supportsReadReplica(model.supportsReadReplica); supportedEngineModes(model.supportedEngineModes); supportedFeatureNames(model.supportedFeatureNames); status(model.status); supportsParallelQuery(model.supportsParallelQuery); supportsGlobalDatabases(model.supportsGlobalDatabases); majorEngineVersion(model.majorEngineVersion); databaseInstallationFilesS3BucketName(model.databaseInstallationFilesS3BucketName); databaseInstallationFilesS3Prefix(model.databaseInstallationFilesS3Prefix); dbEngineVersionArn(model.dbEngineVersionArn); kmsKeyId(model.kmsKeyId); createTime(model.createTime); tagList(model.tagList); supportsBabelfish(model.supportsBabelfish); customDBEngineVersionManifest(model.customDBEngineVersionManifest); supportsLimitlessDatabase(model.supportsLimitlessDatabase); supportsCertificateRotationWithoutRestart(model.supportsCertificateRotationWithoutRestart); supportedCACertificateIdentifiers(model.supportedCACertificateIdentifiers); supportsLocalWriteForwarding(model.supportsLocalWriteForwarding); supportsIntegrations(model.supportsIntegrations); } public final String getEngine() { return engine; } public final void setEngine(String engine) { this.engine = engine; } @Override public final Builder engine(String engine) { this.engine = engine; return this; } public final String getEngineVersion() { return engineVersion; } public final void setEngineVersion(String engineVersion) { this.engineVersion = engineVersion; } @Override public final Builder engineVersion(String engineVersion) { this.engineVersion = engineVersion; return this; } public final String getDbParameterGroupFamily() { return dbParameterGroupFamily; } public final void setDbParameterGroupFamily(String dbParameterGroupFamily) { this.dbParameterGroupFamily = dbParameterGroupFamily; } @Override public final Builder dbParameterGroupFamily(String dbParameterGroupFamily) { this.dbParameterGroupFamily = dbParameterGroupFamily; return this; } public final String getDbEngineDescription() { return dbEngineDescription; } public final void setDbEngineDescription(String dbEngineDescription) { this.dbEngineDescription = dbEngineDescription; } @Override public final Builder dbEngineDescription(String dbEngineDescription) { this.dbEngineDescription = dbEngineDescription; return this; } public final String getDbEngineVersionDescription() { return dbEngineVersionDescription; } public final void setDbEngineVersionDescription(String dbEngineVersionDescription) { this.dbEngineVersionDescription = dbEngineVersionDescription; } @Override public final Builder dbEngineVersionDescription(String dbEngineVersionDescription) { this.dbEngineVersionDescription = dbEngineVersionDescription; return this; } public final CharacterSet.Builder getDefaultCharacterSet() { return defaultCharacterSet != null ? defaultCharacterSet.toBuilder() : null; } public final void setDefaultCharacterSet(CharacterSet.BuilderImpl defaultCharacterSet) { this.defaultCharacterSet = defaultCharacterSet != null ? defaultCharacterSet.build() : null; } @Override public final Builder defaultCharacterSet(CharacterSet defaultCharacterSet) { this.defaultCharacterSet = defaultCharacterSet; return this; } public final CustomDBEngineVersionAMI.Builder getImage() { return image != null ? image.toBuilder() : null; } public final void setImage(CustomDBEngineVersionAMI.BuilderImpl image) { this.image = image != null ? image.build() : null; } @Override public final Builder image(CustomDBEngineVersionAMI image) { this.image = image; return this; } public final String getDbEngineMediaType() { return dbEngineMediaType; } public final void setDbEngineMediaType(String dbEngineMediaType) { this.dbEngineMediaType = dbEngineMediaType; } @Override public final Builder dbEngineMediaType(String dbEngineMediaType) { this.dbEngineMediaType = dbEngineMediaType; return this; } public final List getSupportedCharacterSets() { List result = SupportedCharacterSetsListCopier.copyToBuilder(this.supportedCharacterSets); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setSupportedCharacterSets(Collection supportedCharacterSets) { this.supportedCharacterSets = SupportedCharacterSetsListCopier.copyFromBuilder(supportedCharacterSets); } @Override public final Builder supportedCharacterSets(Collection supportedCharacterSets) { this.supportedCharacterSets = SupportedCharacterSetsListCopier.copy(supportedCharacterSets); return this; } @Override @SafeVarargs public final Builder supportedCharacterSets(CharacterSet... supportedCharacterSets) { supportedCharacterSets(Arrays.asList(supportedCharacterSets)); return this; } @Override @SafeVarargs public final Builder supportedCharacterSets(Consumer... supportedCharacterSets) { supportedCharacterSets(Stream.of(supportedCharacterSets).map(c -> CharacterSet.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final List getSupportedNcharCharacterSets() { List result = SupportedCharacterSetsListCopier.copyToBuilder(this.supportedNcharCharacterSets); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setSupportedNcharCharacterSets(Collection supportedNcharCharacterSets) { this.supportedNcharCharacterSets = SupportedCharacterSetsListCopier.copyFromBuilder(supportedNcharCharacterSets); } @Override public final Builder supportedNcharCharacterSets(Collection supportedNcharCharacterSets) { this.supportedNcharCharacterSets = SupportedCharacterSetsListCopier.copy(supportedNcharCharacterSets); return this; } @Override @SafeVarargs public final Builder supportedNcharCharacterSets(CharacterSet... supportedNcharCharacterSets) { supportedNcharCharacterSets(Arrays.asList(supportedNcharCharacterSets)); return this; } @Override @SafeVarargs public final Builder supportedNcharCharacterSets(Consumer... supportedNcharCharacterSets) { supportedNcharCharacterSets(Stream.of(supportedNcharCharacterSets) .map(c -> CharacterSet.builder().applyMutation(c).build()).collect(Collectors.toList())); return this; } public final List getValidUpgradeTarget() { List result = ValidUpgradeTargetListCopier.copyToBuilder(this.validUpgradeTarget); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setValidUpgradeTarget(Collection validUpgradeTarget) { this.validUpgradeTarget = ValidUpgradeTargetListCopier.copyFromBuilder(validUpgradeTarget); } @Override public final Builder validUpgradeTarget(Collection validUpgradeTarget) { this.validUpgradeTarget = ValidUpgradeTargetListCopier.copy(validUpgradeTarget); return this; } @Override @SafeVarargs public final Builder validUpgradeTarget(UpgradeTarget... validUpgradeTarget) { validUpgradeTarget(Arrays.asList(validUpgradeTarget)); return this; } @Override @SafeVarargs public final Builder validUpgradeTarget(Consumer... validUpgradeTarget) { validUpgradeTarget(Stream.of(validUpgradeTarget).map(c -> UpgradeTarget.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final List getSupportedTimezones() { List result = SupportedTimezonesListCopier.copyToBuilder(this.supportedTimezones); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setSupportedTimezones(Collection supportedTimezones) { this.supportedTimezones = SupportedTimezonesListCopier.copyFromBuilder(supportedTimezones); } @Override public final Builder supportedTimezones(Collection supportedTimezones) { this.supportedTimezones = SupportedTimezonesListCopier.copy(supportedTimezones); return this; } @Override @SafeVarargs public final Builder supportedTimezones(Timezone... supportedTimezones) { supportedTimezones(Arrays.asList(supportedTimezones)); return this; } @Override @SafeVarargs public final Builder supportedTimezones(Consumer... supportedTimezones) { supportedTimezones(Stream.of(supportedTimezones).map(c -> Timezone.builder().applyMutation(c).build()) .collect(Collectors.toList())); return this; } public final Collection getExportableLogTypes() { if (exportableLogTypes instanceof SdkAutoConstructList) { return null; } return exportableLogTypes; } public final void setExportableLogTypes(Collection exportableLogTypes) { this.exportableLogTypes = LogTypeListCopier.copy(exportableLogTypes); } @Override public final Builder exportableLogTypes(Collection exportableLogTypes) { this.exportableLogTypes = LogTypeListCopier.copy(exportableLogTypes); return this; } @Override @SafeVarargs public final Builder exportableLogTypes(String... exportableLogTypes) { exportableLogTypes(Arrays.asList(exportableLogTypes)); return this; } public final Boolean getSupportsLogExportsToCloudwatchLogs() { return supportsLogExportsToCloudwatchLogs; } public final void setSupportsLogExportsToCloudwatchLogs(Boolean supportsLogExportsToCloudwatchLogs) { this.supportsLogExportsToCloudwatchLogs = supportsLogExportsToCloudwatchLogs; } @Override public final Builder supportsLogExportsToCloudwatchLogs(Boolean supportsLogExportsToCloudwatchLogs) { this.supportsLogExportsToCloudwatchLogs = supportsLogExportsToCloudwatchLogs; return this; } public final Boolean getSupportsReadReplica() { return supportsReadReplica; } public final void setSupportsReadReplica(Boolean supportsReadReplica) { this.supportsReadReplica = supportsReadReplica; } @Override public final Builder supportsReadReplica(Boolean supportsReadReplica) { this.supportsReadReplica = supportsReadReplica; return this; } public final Collection getSupportedEngineModes() { if (supportedEngineModes instanceof SdkAutoConstructList) { return null; } return supportedEngineModes; } public final void setSupportedEngineModes(Collection supportedEngineModes) { this.supportedEngineModes = EngineModeListCopier.copy(supportedEngineModes); } @Override public final Builder supportedEngineModes(Collection supportedEngineModes) { this.supportedEngineModes = EngineModeListCopier.copy(supportedEngineModes); return this; } @Override @SafeVarargs public final Builder supportedEngineModes(String... supportedEngineModes) { supportedEngineModes(Arrays.asList(supportedEngineModes)); return this; } public final Collection getSupportedFeatureNames() { if (supportedFeatureNames instanceof SdkAutoConstructList) { return null; } return supportedFeatureNames; } public final void setSupportedFeatureNames(Collection supportedFeatureNames) { this.supportedFeatureNames = FeatureNameListCopier.copy(supportedFeatureNames); } @Override public final Builder supportedFeatureNames(Collection supportedFeatureNames) { this.supportedFeatureNames = FeatureNameListCopier.copy(supportedFeatureNames); return this; } @Override @SafeVarargs public final Builder supportedFeatureNames(String... supportedFeatureNames) { supportedFeatureNames(Arrays.asList(supportedFeatureNames)); return this; } public final String getStatus() { return status; } public final void setStatus(String status) { this.status = status; } @Override public final Builder status(String status) { this.status = status; return this; } public final Boolean getSupportsParallelQuery() { return supportsParallelQuery; } public final void setSupportsParallelQuery(Boolean supportsParallelQuery) { this.supportsParallelQuery = supportsParallelQuery; } @Override public final Builder supportsParallelQuery(Boolean supportsParallelQuery) { this.supportsParallelQuery = supportsParallelQuery; return this; } public final Boolean getSupportsGlobalDatabases() { return supportsGlobalDatabases; } public final void setSupportsGlobalDatabases(Boolean supportsGlobalDatabases) { this.supportsGlobalDatabases = supportsGlobalDatabases; } @Override public final Builder supportsGlobalDatabases(Boolean supportsGlobalDatabases) { this.supportsGlobalDatabases = supportsGlobalDatabases; return this; } public final String getMajorEngineVersion() { return majorEngineVersion; } public final void setMajorEngineVersion(String majorEngineVersion) { this.majorEngineVersion = majorEngineVersion; } @Override public final Builder majorEngineVersion(String majorEngineVersion) { this.majorEngineVersion = majorEngineVersion; return this; } public final String getDatabaseInstallationFilesS3BucketName() { return databaseInstallationFilesS3BucketName; } public final void setDatabaseInstallationFilesS3BucketName(String databaseInstallationFilesS3BucketName) { this.databaseInstallationFilesS3BucketName = databaseInstallationFilesS3BucketName; } @Override public final Builder databaseInstallationFilesS3BucketName(String databaseInstallationFilesS3BucketName) { this.databaseInstallationFilesS3BucketName = databaseInstallationFilesS3BucketName; return this; } public final String getDatabaseInstallationFilesS3Prefix() { return databaseInstallationFilesS3Prefix; } public final void setDatabaseInstallationFilesS3Prefix(String databaseInstallationFilesS3Prefix) { this.databaseInstallationFilesS3Prefix = databaseInstallationFilesS3Prefix; } @Override public final Builder databaseInstallationFilesS3Prefix(String databaseInstallationFilesS3Prefix) { this.databaseInstallationFilesS3Prefix = databaseInstallationFilesS3Prefix; return this; } public final String getDbEngineVersionArn() { return dbEngineVersionArn; } public final void setDbEngineVersionArn(String dbEngineVersionArn) { this.dbEngineVersionArn = dbEngineVersionArn; } @Override public final Builder dbEngineVersionArn(String dbEngineVersionArn) { this.dbEngineVersionArn = dbEngineVersionArn; return this; } public final String getKmsKeyId() { return kmsKeyId; } public final void setKmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; } @Override public final Builder kmsKeyId(String kmsKeyId) { this.kmsKeyId = kmsKeyId; return this; } public final Instant getCreateTime() { return createTime; } public final void setCreateTime(Instant createTime) { this.createTime = createTime; } @Override public final Builder createTime(Instant createTime) { this.createTime = createTime; return this; } public final List getTagList() { List result = TagListCopier.copyToBuilder(this.tagList); if (result instanceof SdkAutoConstructList) { return null; } return result; } public final void setTagList(Collection tagList) { this.tagList = TagListCopier.copyFromBuilder(tagList); } @Override public final Builder tagList(Collection tagList) { this.tagList = TagListCopier.copy(tagList); return this; } @Override @SafeVarargs public final Builder tagList(Tag... tagList) { tagList(Arrays.asList(tagList)); return this; } @Override @SafeVarargs public final Builder tagList(Consumer... tagList) { tagList(Stream.of(tagList).map(c -> Tag.builder().applyMutation(c).build()).collect(Collectors.toList())); return this; } public final Boolean getSupportsBabelfish() { return supportsBabelfish; } public final void setSupportsBabelfish(Boolean supportsBabelfish) { this.supportsBabelfish = supportsBabelfish; } @Override public final Builder supportsBabelfish(Boolean supportsBabelfish) { this.supportsBabelfish = supportsBabelfish; return this; } public final String getCustomDBEngineVersionManifest() { return customDBEngineVersionManifest; } public final void setCustomDBEngineVersionManifest(String customDBEngineVersionManifest) { this.customDBEngineVersionManifest = customDBEngineVersionManifest; } @Override public final Builder customDBEngineVersionManifest(String customDBEngineVersionManifest) { this.customDBEngineVersionManifest = customDBEngineVersionManifest; return this; } public final Boolean getSupportsLimitlessDatabase() { return supportsLimitlessDatabase; } public final void setSupportsLimitlessDatabase(Boolean supportsLimitlessDatabase) { this.supportsLimitlessDatabase = supportsLimitlessDatabase; } @Override public final Builder supportsLimitlessDatabase(Boolean supportsLimitlessDatabase) { this.supportsLimitlessDatabase = supportsLimitlessDatabase; return this; } public final Boolean getSupportsCertificateRotationWithoutRestart() { return supportsCertificateRotationWithoutRestart; } public final void setSupportsCertificateRotationWithoutRestart(Boolean supportsCertificateRotationWithoutRestart) { this.supportsCertificateRotationWithoutRestart = supportsCertificateRotationWithoutRestart; } @Override public final Builder supportsCertificateRotationWithoutRestart(Boolean supportsCertificateRotationWithoutRestart) { this.supportsCertificateRotationWithoutRestart = supportsCertificateRotationWithoutRestart; return this; } public final Collection getSupportedCACertificateIdentifiers() { if (supportedCACertificateIdentifiers instanceof SdkAutoConstructList) { return null; } return supportedCACertificateIdentifiers; } public final void setSupportedCACertificateIdentifiers(Collection supportedCACertificateIdentifiers) { this.supportedCACertificateIdentifiers = CACertificateIdentifiersListCopier.copy(supportedCACertificateIdentifiers); } @Override public final Builder supportedCACertificateIdentifiers(Collection supportedCACertificateIdentifiers) { this.supportedCACertificateIdentifiers = CACertificateIdentifiersListCopier.copy(supportedCACertificateIdentifiers); return this; } @Override @SafeVarargs public final Builder supportedCACertificateIdentifiers(String... supportedCACertificateIdentifiers) { supportedCACertificateIdentifiers(Arrays.asList(supportedCACertificateIdentifiers)); return this; } public final Boolean getSupportsLocalWriteForwarding() { return supportsLocalWriteForwarding; } public final void setSupportsLocalWriteForwarding(Boolean supportsLocalWriteForwarding) { this.supportsLocalWriteForwarding = supportsLocalWriteForwarding; } @Override public final Builder supportsLocalWriteForwarding(Boolean supportsLocalWriteForwarding) { this.supportsLocalWriteForwarding = supportsLocalWriteForwarding; return this; } public final Boolean getSupportsIntegrations() { return supportsIntegrations; } public final void setSupportsIntegrations(Boolean supportsIntegrations) { this.supportsIntegrations = supportsIntegrations; } @Override public final Builder supportsIntegrations(Boolean supportsIntegrations) { this.supportsIntegrations = supportsIntegrations; return this; } @Override public DBEngineVersion build() { return new DBEngineVersion(this); } @Override public List> sdkFields() { return SDK_FIELDS; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy