Class 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());
     
         }
     }
     
     
    <!--End PulumiCodeChooser --> ### Complete Usage <!--Start PulumiCodeChooser -->
     
     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());
     
         }
     }
     
     
    <!--End PulumiCodeChooser --> ## Import Using `pulumi import`, import a RDS (Relational Database) Export Task using the `export_task_identifier`. For example: ```sh $ pulumi import aws:rds/exportTask:ExportTask example example ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • 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()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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.