io.burkard.cdk.services.rds.DatabaseInstanceFromSnapshot.scala Maven / Gradle / Ivy
The newest version!
package io.burkard.cdk.services.rds
import scala.collection.JavaConverters._
@scala.annotation.nowarn("cat=deprecation")
@SuppressWarnings(Array("org.wartremover.warts.DefaultArguments", "org.wartremover.warts.Null", "DisableSyntax.null"))
object DatabaseInstanceFromSnapshot {
def apply(
internalResourceId: String,
snapshotIdentifier: String,
s3ExportRole: Option[software.amazon.awscdk.services.iam.IRole] = None,
subnetGroup: Option[software.amazon.awscdk.services.rds.ISubnetGroup] = None,
backupRetention: Option[software.amazon.awscdk.Duration] = None,
iamAuthentication: Option[Boolean] = None,
s3ImportBuckets: Option[List[_ <: software.amazon.awscdk.services.s3.IBucket]] = None,
performanceInsightEncryptionKey: Option[software.amazon.awscdk.services.kms.IKey] = None,
multiAz: Option[Boolean] = None,
domain: Option[String] = None,
timezone: Option[String] = None,
instanceIdentifier: Option[String] = None,
availabilityZone: Option[String] = None,
storageType: Option[software.amazon.awscdk.services.rds.StorageType] = None,
preferredMaintenanceWindow: Option[String] = None,
autoMinorVersionUpgrade: Option[Boolean] = None,
processorFeatures: Option[software.amazon.awscdk.services.rds.ProcessorFeatures] = None,
s3ImportRole: Option[software.amazon.awscdk.services.iam.IRole] = None,
instanceType: Option[software.amazon.awscdk.services.ec2.InstanceType] = None,
maxAllocatedStorage: Option[Number] = None,
monitoringRole: Option[software.amazon.awscdk.services.iam.IRole] = None,
parameterGroup: Option[software.amazon.awscdk.services.rds.IParameterGroup] = None,
vpcSubnets: Option[software.amazon.awscdk.services.ec2.SubnetSelection] = None,
cloudwatchLogsExports: Option[List[String]] = None,
deletionProtection: Option[Boolean] = None,
copyTagsToSnapshot: Option[Boolean] = None,
allocatedStorage: Option[Number] = None,
allowMajorVersionUpgrade: Option[Boolean] = None,
port: Option[Number] = None,
iops: Option[Number] = None,
deleteAutomatedBackups: Option[Boolean] = None,
performanceInsightRetention: Option[software.amazon.awscdk.services.rds.PerformanceInsightRetention] = None,
optionGroup: Option[software.amazon.awscdk.services.rds.IOptionGroup] = None,
securityGroups: Option[List[_ <: software.amazon.awscdk.services.ec2.ISecurityGroup]] = None,
domainRole: Option[software.amazon.awscdk.services.iam.IRole] = None,
licenseModel: Option[software.amazon.awscdk.services.rds.LicenseModel] = None,
vpc: Option[software.amazon.awscdk.services.ec2.IVpc] = None,
cloudwatchLogsRetentionRole: Option[software.amazon.awscdk.services.iam.IRole] = None,
databaseName: Option[String] = None,
publiclyAccessible: Option[Boolean] = None,
cloudwatchLogsRetention: Option[software.amazon.awscdk.services.logs.RetentionDays] = None,
preferredBackupWindow: Option[String] = None,
parameters: Option[Map[String, String]] = None,
s3ExportBuckets: Option[List[_ <: software.amazon.awscdk.services.s3.IBucket]] = None,
removalPolicy: Option[software.amazon.awscdk.RemovalPolicy] = None,
credentials: Option[software.amazon.awscdk.services.rds.SnapshotCredentials] = None,
engine: Option[software.amazon.awscdk.services.rds.IInstanceEngine] = None,
monitoringInterval: Option[software.amazon.awscdk.Duration] = None,
enablePerformanceInsights: Option[Boolean] = None
)(implicit stackCtx: software.amazon.awscdk.Stack): software.amazon.awscdk.services.rds.DatabaseInstanceFromSnapshot =
software.amazon.awscdk.services.rds.DatabaseInstanceFromSnapshot.Builder
.create(stackCtx, internalResourceId)
.snapshotIdentifier(snapshotIdentifier)
.s3ExportRole(s3ExportRole.orNull)
.subnetGroup(subnetGroup.orNull)
.backupRetention(backupRetention.orNull)
.iamAuthentication(iamAuthentication.map(Boolean.box).orNull)
.s3ImportBuckets(s3ImportBuckets.map(_.asJava).orNull)
.performanceInsightEncryptionKey(performanceInsightEncryptionKey.orNull)
.multiAz(multiAz.map(Boolean.box).orNull)
.domain(domain.orNull)
.timezone(timezone.orNull)
.instanceIdentifier(instanceIdentifier.orNull)
.availabilityZone(availabilityZone.orNull)
.storageType(storageType.orNull)
.preferredMaintenanceWindow(preferredMaintenanceWindow.orNull)
.autoMinorVersionUpgrade(autoMinorVersionUpgrade.map(Boolean.box).orNull)
.processorFeatures(processorFeatures.orNull)
.s3ImportRole(s3ImportRole.orNull)
.instanceType(instanceType.orNull)
.maxAllocatedStorage(maxAllocatedStorage.orNull)
.monitoringRole(monitoringRole.orNull)
.parameterGroup(parameterGroup.orNull)
.vpcSubnets(vpcSubnets.orNull)
.cloudwatchLogsExports(cloudwatchLogsExports.map(_.asJava).orNull)
.deletionProtection(deletionProtection.map(Boolean.box).orNull)
.copyTagsToSnapshot(copyTagsToSnapshot.map(Boolean.box).orNull)
.allocatedStorage(allocatedStorage.orNull)
.allowMajorVersionUpgrade(allowMajorVersionUpgrade.map(Boolean.box).orNull)
.port(port.orNull)
.iops(iops.orNull)
.deleteAutomatedBackups(deleteAutomatedBackups.map(Boolean.box).orNull)
.performanceInsightRetention(performanceInsightRetention.orNull)
.optionGroup(optionGroup.orNull)
.securityGroups(securityGroups.map(_.asJava).orNull)
.domainRole(domainRole.orNull)
.licenseModel(licenseModel.orNull)
.vpc(vpc.orNull)
.cloudwatchLogsRetentionRole(cloudwatchLogsRetentionRole.orNull)
.databaseName(databaseName.orNull)
.publiclyAccessible(publiclyAccessible.map(Boolean.box).orNull)
.cloudwatchLogsRetention(cloudwatchLogsRetention.orNull)
.preferredBackupWindow(preferredBackupWindow.orNull)
.parameters(parameters.map(_.asJava).orNull)
.s3ExportBuckets(s3ExportBuckets.map(_.asJava).orNull)
.removalPolicy(removalPolicy.orNull)
.credentials(credentials.orNull)
.engine(engine.orNull)
.monitoringInterval(monitoringInterval.orNull)
.enablePerformanceInsights(enablePerformanceInsights.map(Boolean.box).orNull)
.build()
}