
software.amazon.awscdk.services.rds.IClusterEngine Maven / Gradle / Ivy
package software.amazon.awscdk.services.rds;
/**
* The interface representing a database cluster (as opposed to instance) engine.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.70.0 (build 03c2f6f)", date = "2022-11-01T13:16:39.633Z")
@software.amazon.jsii.Jsii(module = software.amazon.awscdk.services.rds.$Module.class, fqn = "@aws-cdk/aws-rds.IClusterEngine")
@software.amazon.jsii.Jsii.Proxy(IClusterEngine.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface IClusterEngine extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.services.rds.IEngine {
/**
* The application used by this engine to perform rotation for a multi-user scenario.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull software.amazon.awscdk.services.secretsmanager.SecretRotationApplication getMultiUserRotationApplication();
/**
* The application used by this engine to perform rotation for a single-user scenario.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull software.amazon.awscdk.services.secretsmanager.SecretRotationApplication getSingleUserRotationApplication();
/**
* The log types that are available with this engine type.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.util.List getSupportedLogTypes();
/**
* Whether the IAM Roles used for data importing and exporting need to be combined for this Engine, or can they be kept separate.
*
* Default: false
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getCombineImportAndExportRoles() {
return null;
}
/**
* Method called when the engine is used to create a new cluster.
*
* @param scope This parameter is required.
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull software.amazon.awscdk.services.rds.ClusterEngineConfig bindToCluster(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.rds.ClusterEngineBindOptions options);
/**
* A proxy class which represents a concrete javascript instance of this type.
*/
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.awscdk.services.rds.IClusterEngine.Jsii$Default {
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
/**
* The type of the engine, for example "mysql".
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.NotNull java.lang.String getEngineType() {
return software.amazon.jsii.Kernel.get(this, "engineType", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The default name of the master database user if one was not provided explicitly.
*
* The global default of 'admin' will be used if this is undefined
.
* Note that 'admin' is a reserved word in PostgreSQL and cannot be used.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.Nullable java.lang.String getDefaultUsername() {
return software.amazon.jsii.Kernel.get(this, "defaultUsername", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The family this engine belongs to, like "MYSQL", or "POSTGRESQL".
*
* This property is used when creating a Database Proxy.
* Most engines don't belong to any family
* (and because of that, you can't create Database Proxies for their Clusters or Instances).
*
* Default: - the engine doesn't belong to any family
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.Nullable java.lang.String getEngineFamily() {
return software.amazon.jsii.Kernel.get(this, "engineFamily", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The exact version of the engine that is used, for example "5.1.42".
*
* Default: - use the default version for this engine type
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.EngineVersion getEngineVersion() {
return software.amazon.jsii.Kernel.get(this, "engineVersion", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.EngineVersion.class));
}
/**
* The family to use for ParameterGroups using this engine.
*
* This is usually equal to "",
* but can sometimes be a variation of that.
* You can pass this property when creating new ParameterGroup.
*
* Default: - the ParameterGroup family is not known
* (which means the major version of the engine is also not known)
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.Nullable java.lang.String getParameterGroupFamily() {
return software.amazon.jsii.Kernel.get(this, "parameterGroupFamily", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The application used by this engine to perform rotation for a multi-user scenario.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.secretsmanager.SecretRotationApplication getMultiUserRotationApplication() {
return software.amazon.jsii.Kernel.get(this, "multiUserRotationApplication", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.secretsmanager.SecretRotationApplication.class));
}
/**
* The application used by this engine to perform rotation for a single-user scenario.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.secretsmanager.SecretRotationApplication getSingleUserRotationApplication() {
return software.amazon.jsii.Kernel.get(this, "singleUserRotationApplication", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.secretsmanager.SecretRotationApplication.class));
}
/**
* The log types that are available with this engine type.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.NotNull java.util.List getSupportedLogTypes() {
return java.util.Collections.unmodifiableList(software.amazon.jsii.Kernel.get(this, "supportedLogTypes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))));
}
/**
* Whether the IAM Roles used for data importing and exporting need to be combined for this Engine, or can they be kept separate.
*
* Default: false
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public final @org.jetbrains.annotations.Nullable java.lang.Boolean getCombineImportAndExportRoles() {
return software.amazon.jsii.Kernel.get(this, "combineImportAndExportRoles", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
}
/**
* Method called when the engine is used to create a new cluster.
*
* @param scope This parameter is required.
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.rds.ClusterEngineConfig bindToCluster(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.rds.ClusterEngineBindOptions options) {
return software.amazon.jsii.Kernel.call(this, "bindToCluster", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.ClusterEngineConfig.class), new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(options, "options is required") });
}
}
/**
* Internal default implementation for {@link IClusterEngine}.
*/
@software.amazon.jsii.Internal
interface Jsii$Default extends IClusterEngine, software.amazon.awscdk.services.rds.IEngine.Jsii$Default {
/**
* The type of the engine, for example "mysql".
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.NotNull java.lang.String getEngineType() {
return software.amazon.jsii.Kernel.get(this, "engineType", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The default name of the master database user if one was not provided explicitly.
*
* The global default of 'admin' will be used if this is undefined
.
* Note that 'admin' is a reserved word in PostgreSQL and cannot be used.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getDefaultUsername() {
return software.amazon.jsii.Kernel.get(this, "defaultUsername", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The family this engine belongs to, like "MYSQL", or "POSTGRESQL".
*
* This property is used when creating a Database Proxy.
* Most engines don't belong to any family
* (and because of that, you can't create Database Proxies for their Clusters or Instances).
*
* Default: - the engine doesn't belong to any family
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getEngineFamily() {
return software.amazon.jsii.Kernel.get(this, "engineFamily", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The exact version of the engine that is used, for example "5.1.42".
*
* Default: - use the default version for this engine type
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.EngineVersion getEngineVersion() {
return software.amazon.jsii.Kernel.get(this, "engineVersion", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.EngineVersion.class));
}
/**
* The family to use for ParameterGroups using this engine.
*
* This is usually equal to "",
* but can sometimes be a variation of that.
* You can pass this property when creating new ParameterGroup.
*
* Default: - the ParameterGroup family is not known
* (which means the major version of the engine is also not known)
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.String getParameterGroupFamily() {
return software.amazon.jsii.Kernel.get(this, "parameterGroupFamily", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* The application used by this engine to perform rotation for a multi-user scenario.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.secretsmanager.SecretRotationApplication getMultiUserRotationApplication() {
return software.amazon.jsii.Kernel.get(this, "multiUserRotationApplication", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.secretsmanager.SecretRotationApplication.class));
}
/**
* The application used by this engine to perform rotation for a single-user scenario.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.secretsmanager.SecretRotationApplication getSingleUserRotationApplication() {
return software.amazon.jsii.Kernel.get(this, "singleUserRotationApplication", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.secretsmanager.SecretRotationApplication.class));
}
/**
* The log types that are available with this engine type.
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.NotNull java.util.List getSupportedLogTypes() {
return java.util.Collections.unmodifiableList(software.amazon.jsii.Kernel.get(this, "supportedLogTypes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))));
}
/**
* Whether the IAM Roles used for data importing and exporting need to be combined for this Engine, or can they be kept separate.
*
* Default: false
*/
@Override
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getCombineImportAndExportRoles() {
return software.amazon.jsii.Kernel.get(this, "combineImportAndExportRoles", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
}
/**
* Method called when the engine is used to create a new cluster.
*
* @param scope This parameter is required.
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
default @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.rds.ClusterEngineConfig bindToCluster(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.core.Construct scope, final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.rds.ClusterEngineBindOptions options) {
return software.amazon.jsii.Kernel.call(this, "bindToCluster", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.ClusterEngineConfig.class), new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(options, "options is required") });
}
}
}