Interface OptionGroupProps
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
OptionGroupProps.Jsii$Proxy
@Generated(value="jsii-pacmak/1.119.0 (build 1634eac)",
date="2025-11-17T14:40:59.187Z")
@Stability(Stable)
public interface OptionGroupProps
extends software.amazon.jsii.JsiiSerializable
Construction properties for an OptionGroup.
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 ClassesModifier and TypeInterfaceDescriptionstatic final classA builder forOptionGroupPropsstatic final classAn implementation forOptionGroupProps -
Method Summary
Modifier and TypeMethodDescriptionstatic OptionGroupProps.Builderbuilder()The configurations for this option group.default StringA description of the option group.The database engine that this option group is associated with.Methods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Method Details
-
getConfigurations
The configurations for this option group. -
getEngine
The database engine that this option group is associated with. -
getDescription
A description of the option group.Default: a CDK generated description
-
builder
- Returns:
- a
OptionGroupProps.BuilderofOptionGroupProps
-