Class ReplicationConfigurationTemplate


  • public class ReplicationConfigurationTemplate
    extends com.pulumi.resources.CustomResource
    Provides an Elastic Disaster Recovery replication configuration template resource. Before using DRS, your account must be [initialized](https://docs.aws.amazon.com/drs/latest/userguide/getting-started-initializing.html). > **NOTE:** Your configuration must use the PIT policy shown in the basic configuration due to AWS rules. The only value that you can change is the `retentionDuration` of `ruleId` 3. ## Example Usage ### Basic configuration
     
     package generated_program;
     
     import com.pulumi.Context;
     import com.pulumi.Pulumi;
     import com.pulumi.core.Output;
     import com.pulumi.aws.drs.ReplicationConfigurationTemplate;
     import com.pulumi.aws.drs.ReplicationConfigurationTemplateArgs;
     import com.pulumi.aws.drs.inputs.ReplicationConfigurationTemplatePitPolicyArgs;
     import java.util.ArrayList;
     import java.util.Arrays;
     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 ReplicationConfigurationTemplate("example", ReplicationConfigurationTemplateArgs.builder()
                 .pitPolicies(            
                     ReplicationConfigurationTemplatePitPolicyArgs.builder()
                         .enabled(true)
                         .interval(10)
                         .retentionDuration(60)
                         .units("MINUTE")
                         .ruleId(1)
                         .build(),
                     ReplicationConfigurationTemplatePitPolicyArgs.builder()
                         .enabled(true)
                         .interval(1)
                         .retentionDuration(24)
                         .units("HOUR")
                         .ruleId(2)
                         .build(),
                     ReplicationConfigurationTemplatePitPolicyArgs.builder()
                         .enabled(true)
                         .interval(1)
                         .retentionDuration(3)
                         .units("DAY")
                         .ruleId(3)
                         .build())
                 .associateDefaultSecurityGroup(false)
                 .bandwidthThrottling(12)
                 .createPublicIp(false)
                 .dataPlaneRouting("PRIVATE_IP")
                 .defaultLargeStagingDiskType("GP2")
                 .ebsEncryption("DEFAULT")
                 .ebsEncryptionKeyArn("arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab")
                 .replicationServerInstanceType("t3.small")
                 .replicationServersSecurityGroupsIds(exampleAwsSecurityGroup.stream().map(element -> element.id()).collect(toList()))
                 .stagingAreaSubnetId(exampleAwsSubnet.id())
                 .useDedicatedReplicationServer(false)
                 .build());
     
         }
     }
     
     
    ## Import Using `pulumi import`, import DRS Replication Configuration Template using the `id`. For example: ```sh $ pulumi import aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate example templateid ```
    • Constructor Detail

      • ReplicationConfigurationTemplate

        public ReplicationConfigurationTemplate​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • ReplicationConfigurationTemplate

        public ReplicationConfigurationTemplate​(java.lang.String name,
                                                ReplicationConfigurationTemplateArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • ReplicationConfigurationTemplate

        public ReplicationConfigurationTemplate​(java.lang.String name,
                                                ReplicationConfigurationTemplateArgs 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

      • arn

        public com.pulumi.core.Output<java.lang.String> arn()
        Returns:
        Replication configuration template ARN.
      • associateDefaultSecurityGroup

        public com.pulumi.core.Output<java.lang.Boolean> associateDefaultSecurityGroup()
        Returns:
        Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration Template.
      • autoReplicateNewDisks

        public com.pulumi.core.Output<java.lang.Boolean> autoReplicateNewDisks()
        Returns:
        Whether to allow the AWS replication agent to automatically replicate newly added disks.
      • bandwidthThrottling

        public com.pulumi.core.Output<java.lang.Integer> bandwidthThrottling()
        Returns:
        Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.
      • createPublicIp

        public com.pulumi.core.Output<java.lang.Boolean> createPublicIp()
        Returns:
        Whether to create a Public IP for the Recovery Instance by default.
      • dataPlaneRouting

        public com.pulumi.core.Output<java.lang.String> dataPlaneRouting()
        Returns:
        Data plane routing mechanism that will be used for replication. Valid values are `PUBLIC_IP` and `PRIVATE_IP`.
      • defaultLargeStagingDiskType

        public com.pulumi.core.Output<java.lang.String> defaultLargeStagingDiskType()
        Returns:
        Staging Disk EBS volume type to be used during replication. Valid values are `GP2`, `GP3`, `ST1`, or `AUTO`.
      • ebsEncryption

        public com.pulumi.core.Output<java.lang.String> ebsEncryption()
        Returns:
        Type of EBS encryption to be used during replication. Valid values are `DEFAULT` and `CUSTOM`.
      • ebsEncryptionKeyArn

        public com.pulumi.core.Output<java.util.Optional<java.lang.String>> ebsEncryptionKeyArn()
        Returns:
        ARN of the EBS encryption key to be used during replication.
      • pitPolicies

        public com.pulumi.core.Output<java.util.Optional<java.util.List<ReplicationConfigurationTemplatePitPolicy>>> pitPolicies()
        Returns:
        Configuration block for Point in time (PIT) policy to manage snapshots taken during replication. See below.
      • region

        public com.pulumi.core.Output<java.lang.String> region()
        Returns:
        Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
      • replicationServerInstanceType

        public com.pulumi.core.Output<java.lang.String> replicationServerInstanceType()
        Returns:
        Instance type to be used for the replication server.
      • replicationServersSecurityGroupsIds

        public com.pulumi.core.Output<java.util.List<java.lang.String>> replicationServersSecurityGroupsIds()
        Returns:
        Security group IDs that will be used by the replication server.
      • stagingAreaSubnetId

        public com.pulumi.core.Output<java.lang.String> stagingAreaSubnetId()
        Returns:
        Subnet to be used by the replication staging area.
      • stagingAreaTags

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> stagingAreaTags()
        Returns:
        Set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.
      • tags

        public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>>> tags()
        Returns:
        Set of tags to be associated with the Replication Configuration Template resource.
      • tagsAll

        public com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tagsAll()
        Returns:
        Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
      • useDedicatedReplicationServer

        public com.pulumi.core.Output<java.lang.Boolean> useDedicatedReplicationServer()
        Returns:
        Whether to use a dedicated Replication Server in the replication staging area. The following arguments are optional:
      • get

        public static ReplicationConfigurationTemplate get​(java.lang.String name,
                                                           com.pulumi.core.Output<java.lang.String> id,
                                                           @Nullable
                                                           ReplicationConfigurationTemplateState 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.