All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.cloudsnorkel.cdk.rds.sanitizedsnapshots.IRdsSanitizedSnapshotter Maven / Gradle / Ivy

package com.cloudsnorkel.cdk.rds.sanitizedsnapshots;

/**
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.103.1 (build bef2dea)", date = "2024-10-01T15:09:06.907Z")
@software.amazon.jsii.Jsii(module = com.cloudsnorkel.cdk.rds.sanitizedsnapshots.$Module.class, fqn = "@cloudsnorkel/cdk-rds-sanitized-snapshots.IRdsSanitizedSnapshotter")
@software.amazon.jsii.Jsii.Proxy(IRdsSanitizedSnapshotter.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface IRdsSanitizedSnapshotter extends software.amazon.jsii.JsiiSerializable {

    /**
     * (experimental) SQL script used to sanitize the database. It will be executed against the temporary database.
     * 

* You would usually want to start this with USE mydatabase;. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getScript(); /** * (experimental) VPC where temporary database and sanitizing task will be created. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ec2.IVpc getVpc(); /** * (experimental) Database cluster to snapshot and sanitize. *

* Only one of databaseCluster and databaseInstance can be specified. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.IDatabaseCluster getDatabaseCluster() { return null; } /** * (experimental) Database instance to snapshot and sanitize. *

* Only one of databaseCluster and databaseInstance can be specified. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.IDatabaseInstance getDatabaseInstance() { return null; } /** * (experimental) KMS key used to encrypt original database, if any. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kms.IKey getDatabaseKey() { return null; } /** * (experimental) Name of database to connect to inside the RDS cluster or instance. *

* This database will be used to execute the SQL script. *

* Default: 'postgres' for PostgreSQL and not set for MySQL */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getDatabaseName() { return null; } /** * (experimental) VPC subnets to use for temporary databases. *

* Default: ec2.SubnetType.PRIVATE_ISOLATED */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getDbSubnets() { return null; } /** * (experimental) Cluster where sanitization task will be executed. *

* Default: a new cluster running on given VPC */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ecs.ICluster getFargateCluster() { return null; } /** * (experimental) VPC subnets to use for sanitization task. *

* Default: ec2.SubnetType.PRIVATE_WITH_EGRESS */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getSanitizeSubnets() { return null; } /** * (experimental) The schedule or rate (frequency) that determines when the sanitized snapshot runs automatically. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.events.Schedule getSchedule() { return null; } /** * (experimental) List of accounts the sanitized snapshot should be shared with. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getShareAccounts() { return null; } /** * (experimental) Limit the number of snapshot history. *

* Set this to delete old snapshots and only leave a certain number of snapshots. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Number getSnapshotHistoryLimit() { return null; } /** * (experimental) Optional KMS key to encrypt target snapshot. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kms.IKey getSnapshotKey() { return null; } /** * (experimental) Prefix for sanitized snapshot name. *

* The current date and time will be added to it. *

* Default: cluster identifier (which might be too long) */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getSnapshotPrefix() { return null; } /** * (experimental) Prefix for all temporary snapshots and databases. *

* The step function execution id will be added to it. *

* Default: 'sanitize' */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getTempPrefix() { return null; } /** * (experimental) Use the latest available snapshot instead of taking a new one. *

* This can be used to shorten the process at the cost of using a possibly older snapshot. *

* This will use the latest snapshot whether it's an automatic system snapshot or a manual snapshot. *

* Default: false */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Boolean getUseExistingSnapshot() { return null; } /** * 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 com.cloudsnorkel.cdk.rds.sanitizedsnapshots.IRdsSanitizedSnapshotter.Jsii$Default { protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } /** * (experimental) SQL script used to sanitize the database. It will be executed against the temporary database. *

* You would usually want to start this with USE mydatabase;. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.NotNull java.lang.String getScript() { return software.amazon.jsii.Kernel.get(this, "script", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) VPC where temporary database and sanitizing task will be created. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ec2.IVpc getVpc() { return software.amazon.jsii.Kernel.get(this, "vpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class)); } /** * (experimental) Database cluster to snapshot and sanitize. *

* Only one of databaseCluster and databaseInstance can be specified. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.IDatabaseCluster getDatabaseCluster() { return software.amazon.jsii.Kernel.get(this, "databaseCluster", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.IDatabaseCluster.class)); } /** * (experimental) Database instance to snapshot and sanitize. *

* Only one of databaseCluster and databaseInstance can be specified. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.IDatabaseInstance getDatabaseInstance() { return software.amazon.jsii.Kernel.get(this, "databaseInstance", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.IDatabaseInstance.class)); } /** * (experimental) KMS key used to encrypt original database, if any. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kms.IKey getDatabaseKey() { return software.amazon.jsii.Kernel.get(this, "databaseKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kms.IKey.class)); } /** * (experimental) Name of database to connect to inside the RDS cluster or instance. *

* This database will be used to execute the SQL script. *

* Default: 'postgres' for PostgreSQL and not set for MySQL */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable java.lang.String getDatabaseName() { return software.amazon.jsii.Kernel.get(this, "databaseName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) VPC subnets to use for temporary databases. *

* Default: ec2.SubnetType.PRIVATE_ISOLATED */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getDbSubnets() { return software.amazon.jsii.Kernel.get(this, "dbSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); } /** * (experimental) Cluster where sanitization task will be executed. *

* Default: a new cluster running on given VPC */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ecs.ICluster getFargateCluster() { return software.amazon.jsii.Kernel.get(this, "fargateCluster", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.ICluster.class)); } /** * (experimental) VPC subnets to use for sanitization task. *

* Default: ec2.SubnetType.PRIVATE_WITH_EGRESS */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getSanitizeSubnets() { return software.amazon.jsii.Kernel.get(this, "sanitizeSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); } /** * (experimental) The schedule or rate (frequency) that determines when the sanitized snapshot runs automatically. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.events.Schedule getSchedule() { return software.amazon.jsii.Kernel.get(this, "schedule", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.events.Schedule.class)); } /** * (experimental) List of accounts the sanitized snapshot should be shared with. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable java.util.List getShareAccounts() { return java.util.Optional.ofNullable((java.util.List)(software.amazon.jsii.Kernel.get(this, "shareAccounts", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))))).map(java.util.Collections::unmodifiableList).orElse(null); } /** * (experimental) Limit the number of snapshot history. *

* Set this to delete old snapshots and only leave a certain number of snapshots. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable java.lang.Number getSnapshotHistoryLimit() { return software.amazon.jsii.Kernel.get(this, "snapshotHistoryLimit", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); } /** * (experimental) Optional KMS key to encrypt target snapshot. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kms.IKey getSnapshotKey() { return software.amazon.jsii.Kernel.get(this, "snapshotKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kms.IKey.class)); } /** * (experimental) Prefix for sanitized snapshot name. *

* The current date and time will be added to it. *

* Default: cluster identifier (which might be too long) */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable java.lang.String getSnapshotPrefix() { return software.amazon.jsii.Kernel.get(this, "snapshotPrefix", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) Prefix for all temporary snapshots and databases. *

* The step function execution id will be added to it. *

* Default: 'sanitize' */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable java.lang.String getTempPrefix() { return software.amazon.jsii.Kernel.get(this, "tempPrefix", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) Use the latest available snapshot instead of taking a new one. *

* This can be used to shorten the process at the cost of using a possibly older snapshot. *

* This will use the latest snapshot whether it's an automatic system snapshot or a manual snapshot. *

* Default: false */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public final @org.jetbrains.annotations.Nullable java.lang.Boolean getUseExistingSnapshot() { return software.amazon.jsii.Kernel.get(this, "useExistingSnapshot", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); } } /** * Internal default implementation for {@link IRdsSanitizedSnapshotter}. */ @software.amazon.jsii.Internal interface Jsii$Default extends IRdsSanitizedSnapshotter { /** * (experimental) SQL script used to sanitize the database. It will be executed against the temporary database. *

* You would usually want to start this with USE mydatabase;. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.NotNull java.lang.String getScript() { return software.amazon.jsii.Kernel.get(this, "script", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) VPC where temporary database and sanitizing task will be created. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.NotNull software.amazon.awscdk.services.ec2.IVpc getVpc() { return software.amazon.jsii.Kernel.get(this, "vpc", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.IVpc.class)); } /** * (experimental) Database cluster to snapshot and sanitize. *

* Only one of databaseCluster and databaseInstance can be specified. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.IDatabaseCluster getDatabaseCluster() { return software.amazon.jsii.Kernel.get(this, "databaseCluster", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.IDatabaseCluster.class)); } /** * (experimental) Database instance to snapshot and sanitize. *

* Only one of databaseCluster and databaseInstance can be specified. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.rds.IDatabaseInstance getDatabaseInstance() { return software.amazon.jsii.Kernel.get(this, "databaseInstance", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.rds.IDatabaseInstance.class)); } /** * (experimental) KMS key used to encrypt original database, if any. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kms.IKey getDatabaseKey() { return software.amazon.jsii.Kernel.get(this, "databaseKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kms.IKey.class)); } /** * (experimental) Name of database to connect to inside the RDS cluster or instance. *

* This database will be used to execute the SQL script. *

* Default: 'postgres' for PostgreSQL and not set for MySQL */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getDatabaseName() { return software.amazon.jsii.Kernel.get(this, "databaseName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) VPC subnets to use for temporary databases. *

* Default: ec2.SubnetType.PRIVATE_ISOLATED */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getDbSubnets() { return software.amazon.jsii.Kernel.get(this, "dbSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); } /** * (experimental) Cluster where sanitization task will be executed. *

* Default: a new cluster running on given VPC */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ecs.ICluster getFargateCluster() { return software.amazon.jsii.Kernel.get(this, "fargateCluster", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ecs.ICluster.class)); } /** * (experimental) VPC subnets to use for sanitization task. *

* Default: ec2.SubnetType.PRIVATE_WITH_EGRESS */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.ec2.SubnetSelection getSanitizeSubnets() { return software.amazon.jsii.Kernel.get(this, "sanitizeSubnets", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.ec2.SubnetSelection.class)); } /** * (experimental) The schedule or rate (frequency) that determines when the sanitized snapshot runs automatically. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.events.Schedule getSchedule() { return software.amazon.jsii.Kernel.get(this, "schedule", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.events.Schedule.class)); } /** * (experimental) List of accounts the sanitized snapshot should be shared with. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getShareAccounts() { return java.util.Optional.ofNullable((java.util.List)(software.amazon.jsii.Kernel.get(this, "shareAccounts", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))))).map(java.util.Collections::unmodifiableList).orElse(null); } /** * (experimental) Limit the number of snapshot history. *

* Set this to delete old snapshots and only leave a certain number of snapshots. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Number getSnapshotHistoryLimit() { return software.amazon.jsii.Kernel.get(this, "snapshotHistoryLimit", software.amazon.jsii.NativeType.forClass(java.lang.Number.class)); } /** * (experimental) Optional KMS key to encrypt target snapshot. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable software.amazon.awscdk.services.kms.IKey getSnapshotKey() { return software.amazon.jsii.Kernel.get(this, "snapshotKey", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.services.kms.IKey.class)); } /** * (experimental) Prefix for sanitized snapshot name. *

* The current date and time will be added to it. *

* Default: cluster identifier (which might be too long) */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getSnapshotPrefix() { return software.amazon.jsii.Kernel.get(this, "snapshotPrefix", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) Prefix for all temporary snapshots and databases. *

* The step function execution id will be added to it. *

* Default: 'sanitize' */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getTempPrefix() { return software.amazon.jsii.Kernel.get(this, "tempPrefix", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) Use the latest available snapshot instead of taking a new one. *

* This can be used to shorten the process at the cost of using a possibly older snapshot. *

* This will use the latest snapshot whether it's an automatic system snapshot or a manual snapshot. *

* Default: false */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Boolean getUseExistingSnapshot() { return software.amazon.jsii.Kernel.get(this, "useExistingSnapshot", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy