Package com.pulumi.aws.rds
Class ExportTask
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.rds.ExportTask
-
public class ExportTask extends com.pulumi.resources.CustomResource
Resource for managing an AWS RDS (Relational Database) Export Task. ## Example Usage ### Basic Usage <!--Start PulumiCodeChooser -->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(exampleAwsDbSnapshot.dbSnapshotArn()) .s3BucketName(exampleAwsS3Bucket.id()) .iamRoleArn(exampleAwsIamRole.arn()) .kmsKeyId(exampleAwsKmsKey.arn()) .build()); } }
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() .bucket("example") .forceDestroy(true) .build()); var exampleBucketAclV2 = new BucketAclV2("exampleBucketAclV2", BucketAclV2Args.builder() .bucket(exampleBucketV2.id()) .acl("private") .build()); var exampleRole = new Role("exampleRole", RoleArgs.builder() .name("example") .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 example = 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() .name("example") .policy(example.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(example -> example.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()); } }
-
-
Constructor Summary
Constructors Constructor Description ExportTask(java.lang.String name)
ExportTask(java.lang.String name, ExportTaskArgs args)
ExportTask(java.lang.String name, ExportTaskArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>>
exportOnlies()
com.pulumi.core.Output<java.lang.String>
exportTaskIdentifier()
com.pulumi.core.Output<java.lang.String>
failureCause()
static ExportTask
get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ExportTaskState state, com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>
iamRoleArn()
com.pulumi.core.Output<java.lang.String>
kmsKeyId()
com.pulumi.core.Output<java.lang.Integer>
percentProgress()
com.pulumi.core.Output<java.lang.String>
s3BucketName()
com.pulumi.core.Output<java.lang.String>
s3Prefix()
com.pulumi.core.Output<java.lang.String>
snapshotTime()
com.pulumi.core.Output<java.lang.String>
sourceArn()
com.pulumi.core.Output<java.lang.String>
sourceType()
com.pulumi.core.Output<java.lang.String>
status()
com.pulumi.core.Output<java.lang.String>
taskEndTime()
com.pulumi.core.Output<java.lang.String>
taskStartTime()
com.pulumi.core.Output<java.util.Optional<ExportTaskTimeouts>>
timeouts()
com.pulumi.core.Output<java.lang.String>
warningMessage()
-
-
-
Constructor Detail
-
ExportTask
public ExportTask(java.lang.String name)
- Parameters:
name
- The _unique_ name of the resulting resource.
-
ExportTask
public ExportTask(java.lang.String name, ExportTaskArgs args)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.
-
ExportTask
public ExportTask(java.lang.String name, ExportTaskArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)
- Parameters:
name
- The _unique_ name of the resulting resource.args
- The arguments to use to populate this resource's properties.options
- A bag of options that control this resource's behavior.
-
-
Method Detail
-
exportOnlies
public com.pulumi.core.Output<java.util.Optional<java.util.List<java.lang.String>>> exportOnlies()
- Returns:
- 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](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartExportTask.html#API_StartExportTask_RequestParameters).
-
exportTaskIdentifier
public com.pulumi.core.Output<java.lang.String> exportTaskIdentifier()
- Returns:
- Unique identifier for the snapshot export task.
-
failureCause
public com.pulumi.core.Output<java.lang.String> failureCause()
- Returns:
- Reason the export failed, if it failed.
-
iamRoleArn
public com.pulumi.core.Output<java.lang.String> iamRoleArn()
- Returns:
- ARN of the IAM role to use for writing to the Amazon S3 bucket.
-
kmsKeyId
public com.pulumi.core.Output<java.lang.String> kmsKeyId()
- Returns:
- ID of the Amazon Web Services KMS key to use to encrypt the snapshot.
-
percentProgress
public com.pulumi.core.Output<java.lang.Integer> percentProgress()
- Returns:
- Progress of the snapshot export task as a percentage.
-
s3BucketName
public com.pulumi.core.Output<java.lang.String> s3BucketName()
- Returns:
- Name of the Amazon S3 bucket to export the snapshot to.
-
s3Prefix
public com.pulumi.core.Output<java.lang.String> s3Prefix()
- Returns:
- Amazon S3 bucket prefix to use as the file name and path of the exported snapshot.
-
snapshotTime
public com.pulumi.core.Output<java.lang.String> snapshotTime()
- Returns:
- Time that the snapshot was created.
-
sourceArn
public com.pulumi.core.Output<java.lang.String> sourceArn()
- Returns:
- Amazon Resource Name (ARN) of the snapshot to export. The following arguments are optional:
-
sourceType
public com.pulumi.core.Output<java.lang.String> sourceType()
- Returns:
- Type of source for the export.
-
status
public com.pulumi.core.Output<java.lang.String> status()
- Returns:
- Status of the export task.
-
taskEndTime
public com.pulumi.core.Output<java.lang.String> taskEndTime()
- Returns:
- Time that the snapshot export task completed.
-
taskStartTime
public com.pulumi.core.Output<java.lang.String> taskStartTime()
- Returns:
- Time that the snapshot export task started.
-
timeouts
public com.pulumi.core.Output<java.util.Optional<ExportTaskTimeouts>> timeouts()
-
warningMessage
public com.pulumi.core.Output<java.lang.String> warningMessage()
- Returns:
- Warning about the snapshot export task, if any.
-
get
public static ExportTask get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable ExportTaskState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name
- The _unique_ name of the resulting resource.id
- The _unique_ provider ID of the resource to lookup.state
-options
- Optional settings to control the behavior of the CustomResource.
-
-