Export Task Args
data class ExportTaskArgs(val exportOnlies: Output<List<String>>? = null, val exportTaskIdentifier: Output<String>? = null, val iamRoleArn: Output<String>? = null, val kmsKeyId: Output<String>? = null, val s3BucketName: Output<String>? = null, val s3Prefix: Output<String>? = null, val sourceArn: Output<String>? = null, val timeouts: Output<ExportTaskTimeoutsArgs>? = null) : ConvertibleToJava<ExportTaskArgs>
Resource for managing an AWS RDS (Relational Database) Export Task.
Example Usage
Basic Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.rds.ExportTask;
import com.pulumi.aws.rds.ExportTaskArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ExportTask("example", ExportTaskArgs.builder()
.exportTaskIdentifier("example")
.sourceArn(aws_db_snapshot.example().db_snapshot_arn())
.s3BucketName(aws_s3_bucket.example().id())
.iamRoleArn(aws_iam_role.example().arn())
.kmsKeyId(aws_kms_key.example().arn())
.build());
}
}
Content copied to clipboard
Complete Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.s3.BucketV2;
import com.pulumi.aws.s3.BucketV2Args;
import com.pulumi.aws.s3.BucketAclV2;
import com.pulumi.aws.s3.BucketAclV2Args;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
import com.pulumi.aws.iam.Policy;
import com.pulumi.aws.iam.PolicyArgs;
import com.pulumi.aws.iam.RolePolicyAttachment;
import com.pulumi.aws.iam.RolePolicyAttachmentArgs;
import com.pulumi.aws.kms.Key;
import com.pulumi.aws.kms.KeyArgs;
import com.pulumi.aws.rds.Instance;
import com.pulumi.aws.rds.InstanceArgs;
import com.pulumi.aws.rds.Snapshot;
import com.pulumi.aws.rds.SnapshotArgs;
import com.pulumi.aws.rds.ExportTask;
import com.pulumi.aws.rds.ExportTaskArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleBucketV2 = new BucketV2("exampleBucketV2", BucketV2Args.builder()
.forceDestroy(true)
.build());
var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder()
.bucket(exampleBucketV2.id())
.acl("private")
.build());
var exampleRole = new Role("exampleRole", RoleArgs.builder()
.assumeRolePolicy(serializeJson(
jsonObject(
jsonProperty("Version", "2012-10-17"),
jsonProperty("Statement", jsonArray(jsonObject(
jsonProperty("Action", "sts:AssumeRole"),
jsonProperty("Effect", "Allow"),
jsonProperty("Sid", ""),
jsonProperty("Principal", jsonObject(
jsonProperty("Service", "export.rds.amazonaws.com")
))
)))
)))
.build());
final var examplePolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(
GetPolicyDocumentStatementArgs.builder()
.actions("s3:ListAllMyBuckets")
.resources("*")
.build(),
GetPolicyDocumentStatementArgs.builder()
.actions(
"s3:GetBucketLocation",
"s3:ListBucket")
.resources(exampleBucketV2.arn())
.build(),
GetPolicyDocumentStatementArgs.builder()
.actions(
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject")
.resources(exampleBucketV2.arn().applyValue(arn -> String.format("%s/*", arn)))
.build())
.build());
var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder()
.policy(examplePolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(examplePolicyDocument -> examplePolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())))
.build());
var exampleRolePolicyAttachment = new RolePolicyAttachment("exampleRolePolicyAttachment", RolePolicyAttachmentArgs.builder()
.role(exampleRole.name())
.policyArn(examplePolicy.arn())
.build());
var exampleKey = new Key("exampleKey", KeyArgs.builder()
.deletionWindowInDays(10)
.build());
var exampleInstance = new Instance("exampleInstance", InstanceArgs.builder()
.identifier("example")
.allocatedStorage(10)
.dbName("test")
.engine("mysql")
.engineVersion("5.7")
.instanceClass("db.t3.micro")
.username("foo")
.password("foobarbaz")
.parameterGroupName("default.mysql5.7")
.skipFinalSnapshot(true)
.build());
var exampleSnapshot = new Snapshot("exampleSnapshot", SnapshotArgs.builder()
.dbInstanceIdentifier(exampleInstance.identifier())
.dbSnapshotIdentifier("example")
.build());
var exampleExportTask = new ExportTask("exampleExportTask", ExportTaskArgs.builder()
.exportTaskIdentifier("example")
.sourceArn(exampleSnapshot.dbSnapshotArn())
.s3BucketName(exampleBucketV2.id())
.iamRoleArn(exampleRole.arn())
.kmsKeyId(exampleKey.arn())
.exportOnlies("database")
.s3Prefix("my_prefix/example")
.build());
}
}
Content copied to clipboard
Import
Using pulumi import
, import a RDS (Relational Database) Export Task using the export_task_identifier
. For example:
$ pulumi import aws:rds/exportTask:ExportTask example example
Content copied to clipboard
Constructors
Link copied to clipboard
fun ExportTaskArgs(exportOnlies: Output<List<String>>? = null, exportTaskIdentifier: Output<String>? = null, iamRoleArn: Output<String>? = null, kmsKeyId: Output<String>? = null, s3BucketName: Output<String>? = null, s3Prefix: Output<String>? = null, sourceArn: Output<String>? = null, timeouts: Output<ExportTaskTimeoutsArgs>? = null)
Functions
Properties
Link copied to clipboard
Data to be exported from the snapshot. If this parameter is not provided, all the snapshot data is exported. Valid values are documented in the AWS StartExportTask API documentation.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard