Class OptionGroup
java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.rds.OptionGroup
- All Implemented Interfaces:
IResource,IOptionGroup,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct,software.constructs.IDependable
@Generated(value="jsii-pacmak/1.116.0 (build 0eddcff)",
date="2025-10-29T11:15:47.096Z")
@Stability(Stable)
public class OptionGroup
extends Resource
implements IOptionGroup
An option group.
Example:
// Set open cursors with parameter group
ParameterGroup parameterGroup = ParameterGroup.Builder.create(this, "ParameterGroup")
.engine(DatabaseInstanceEngine.oracleSe2(OracleSe2InstanceEngineProps.builder().version(OracleEngineVersion.VER_19_0_0_0_2020_04_R1).build()))
.parameters(Map.of(
"open_cursors", "2500"))
.build();
OptionGroup optionGroup = OptionGroup.Builder.create(this, "OptionGroup")
.engine(DatabaseInstanceEngine.oracleSe2(OracleSe2InstanceEngineProps.builder().version(OracleEngineVersion.VER_19_0_0_0_2020_04_R1).build()))
.configurations(List.of(OptionConfiguration.builder()
.name("LOCATOR")
.build(), OptionConfiguration.builder()
.name("OEM")
.port(1158)
.vpc(vpc)
.build()))
.build();
// Allow connections to OEM
optionGroup.optionConnections.OEM.connections.allowDefaultPortFromAnyIpv4();
// Database instance with production values
DatabaseInstance instance = DatabaseInstance.Builder.create(this, "Instance")
.engine(DatabaseInstanceEngine.oracleSe2(OracleSe2InstanceEngineProps.builder().version(OracleEngineVersion.VER_19_0_0_0_2020_04_R1).build()))
.licenseModel(LicenseModel.BRING_YOUR_OWN_LICENSE)
.instanceType(InstanceType.of(InstanceClass.BURSTABLE3, InstanceSize.MEDIUM))
.multiAz(true)
.storageType(StorageType.IO1)
.credentials(Credentials.fromUsername("syscdk"))
.vpc(vpc)
.databaseName("ORCL")
.storageEncrypted(true)
.backupRetention(Duration.days(7))
.monitoringInterval(Duration.seconds(60))
.enablePerformanceInsights(true)
.cloudwatchLogsExports(List.of("trace", "audit", "alert", "listener"))
.cloudwatchLogsRetention(RetentionDays.ONE_MONTH)
.autoMinorVersionUpgrade(true) // required to be true if LOCATOR is used in the option group
.optionGroup(optionGroup)
.parameterGroup(parameterGroup)
.removalPolicy(RemovalPolicy.DESTROY)
.build();
// Allow connections on default port from any IPV4
instance.connections.allowDefaultPortFromAnyIpv4();
// Rotate the master user password every 30 days
instance.addRotationSingleUser();
// Add alarm for high CPU
// Add alarm for high CPU
Alarm.Builder.create(this, "HighCPU")
.metric(instance.metricCPUUtilization())
.threshold(90)
.evaluationPeriods(1)
.build();
// Trigger Lambda function on instance availability events
Function fn = Function.Builder.create(this, "Function")
.code(Code.fromInline("exports.handler = (event) => console.log(event);"))
.handler("index.handler")
.runtime(Runtime.NODEJS_20_X)
.build();
Rule availabilityRule = instance.onEvent("Availability", OnEventOptions.builder().target(new LambdaFunction(fn)).build());
availabilityRule.addEventPattern(EventPattern.builder()
.detail(Map.of(
"EventCategories", List.of("availability")))
.build());
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.services.rds.IOptionGroup
IOptionGroup.Jsii$Default, IOptionGroup.Jsii$ProxyNested classes/interfaces inherited from interface software.amazon.awscdk.IResource
IResource.Jsii$Default -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedOptionGroup(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedOptionGroup(software.amazon.jsii.JsiiObjectRef objRef) OptionGroup(software.constructs.Construct scope, String id, OptionGroupProps props) -
Method Summary
Modifier and TypeMethodDescriptionaddConfiguration(OptionConfiguration configuration) Adds a configuration to this OptionGroup.static IOptionGroupfromOptionGroupName(software.constructs.Construct scope, String id, String optionGroupName) Import an existing option group.The connections object for the options.The name of the option group.Methods inherited from class software.amazon.awscdk.Resource
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isOwnedResource, isResourceMethods inherited from class software.constructs.Construct
getNode, isConstruct, toStringMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.constructs.IConstruct
getNodeMethods inherited from interface software.amazon.awscdk.IResource
applyRemovalPolicy, getEnv, getStackMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
PROPERTY_INJECTION_ID
Uniquely identifies this class.
-
-
Constructor Details
-
OptionGroup
protected OptionGroup(software.amazon.jsii.JsiiObjectRef objRef) -
OptionGroup
protected OptionGroup(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
OptionGroup
@Stability(Stable) public OptionGroup(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull OptionGroupProps props) - Parameters:
scope- This parameter is required.id- This parameter is required.props- This parameter is required.
-
-
Method Details
-
fromOptionGroupName
@Stability(Stable) @NotNull public static IOptionGroup fromOptionGroupName(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull String optionGroupName) Import an existing option group.- Parameters:
scope- This parameter is required.id- This parameter is required.optionGroupName- This parameter is required.
-
addConfiguration
@Stability(Stable) @NotNull public Boolean addConfiguration(@NotNull OptionConfiguration configuration) Adds a configuration to this OptionGroup.This method is a no-op for an imported OptionGroup.
- Specified by:
addConfigurationin interfaceIOptionGroup- Parameters:
configuration- This parameter is required.- Returns:
- true if the OptionConfiguration was successfully added.
-
getOptionConnections
The connections object for the options. -
getOptionGroupName
The name of the option group.- Specified by:
getOptionGroupNamein interfaceIOptionGroup
-