Interface ParameterGroupProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
ParameterGroupProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.95.0 (build f1ff514)", date="2024-03-26T18:09:29.047Z") @Stability(Stable) public interface ParameterGroupProps extends software.amazon.jsii.JsiiSerializable
Properties for a parameter 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_18_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());
 
  • Method Details

    • getEngine

      @Stability(Stable) @NotNull IEngine getEngine()
      The database engine for this parameter group.
    • getDescription

      @Stability(Stable) @Nullable default String getDescription()
      Description for this parameter group.

      Default: a CDK generated description

    • getParameters

      @Stability(Stable) @Nullable default Map<String,String> getParameters()
      The parameters in this parameter group.

      Default: - None

    • getRemovalPolicy

      @Stability(Stable) @Nullable default RemovalPolicy getRemovalPolicy()
      The CloudFormation policy to apply when the instance is removed from the stack or replaced during an update.

      Default: - RemovalPolicy.DESTROY

    • builder

      @Stability(Stable) static ParameterGroupProps.Builder builder()
      Returns:
      a ParameterGroupProps.Builder of ParameterGroupProps