Interface OptionGroupProps
- All Superinterfaces:
software.amazon.jsii.JsiiSerializable
- All Known Implementing Classes:
OptionGroupProps.Jsii$Proxy
@Generated(value="jsii-pacmak/1.125.0 (build fdbe357)",
date="2026-01-19T12:04:00.903Z")
@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.default StringThe name of the option group.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
-
getOptionGroupName
The name of the option group.Default: - a CDK generated name
-
builder
- Returns:
- a
OptionGroupProps.BuilderofOptionGroupProps
-