
com.pulumi.aws.drs.ReplicationConfigurationTemplate Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.drs;
import com.pulumi.aws.Utilities;
import com.pulumi.aws.drs.ReplicationConfigurationTemplateArgs;
import com.pulumi.aws.drs.inputs.ReplicationConfigurationTemplateState;
import com.pulumi.aws.drs.outputs.ReplicationConfigurationTemplatePitPolicy;
import com.pulumi.aws.drs.outputs.ReplicationConfigurationTemplateTimeouts;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* 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 `retention_duration` of `rule_id` 3.
*
* ## Example Usage
*
* ## Import
*
* Using `pulumi import`, import DRS Replication Configuration Template using the `id`. For example:
*
* ```sh
* $ pulumi import aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate example templateid
* ```
*
*/
@ResourceType(type="aws:drs/replicationConfigurationTemplate:ReplicationConfigurationTemplate")
public class ReplicationConfigurationTemplate extends com.pulumi.resources.CustomResource {
/**
* Replication configuration template ARN.
*
*/
@Export(name="arn", refs={String.class}, tree="[0]")
private Output arn;
/**
* @return Replication configuration template ARN.
*
*/
public Output arn() {
return this.arn;
}
/**
* Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration Template.
*
*/
@Export(name="associateDefaultSecurityGroup", refs={Boolean.class}, tree="[0]")
private Output associateDefaultSecurityGroup;
/**
* @return Whether to associate the default Elastic Disaster Recovery Security group with the Replication Configuration Template.
*
*/
public Output associateDefaultSecurityGroup() {
return this.associateDefaultSecurityGroup;
}
/**
* Whether to allow the AWS replication agent to automatically replicate newly added disks.
*
*/
@Export(name="autoReplicateNewDisks", refs={Boolean.class}, tree="[0]")
private Output autoReplicateNewDisks;
/**
* @return Whether to allow the AWS replication agent to automatically replicate newly added disks.
*
*/
public Output autoReplicateNewDisks() {
return this.autoReplicateNewDisks;
}
/**
* Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.
*
*/
@Export(name="bandwidthThrottling", refs={Integer.class}, tree="[0]")
private Output bandwidthThrottling;
/**
* @return Configure bandwidth throttling for the outbound data transfer rate of the Source Server in Mbps.
*
*/
public Output bandwidthThrottling() {
return this.bandwidthThrottling;
}
/**
* Whether to create a Public IP for the Recovery Instance by default.
*
*/
@Export(name="createPublicIp", refs={Boolean.class}, tree="[0]")
private Output createPublicIp;
/**
* @return Whether to create a Public IP for the Recovery Instance by default.
*
*/
public Output createPublicIp() {
return this.createPublicIp;
}
/**
* Data plane routing mechanism that will be used for replication. Valid values are `PUBLIC_IP` and `PRIVATE_IP`.
*
*/
@Export(name="dataPlaneRouting", refs={String.class}, tree="[0]")
private Output dataPlaneRouting;
/**
* @return Data plane routing mechanism that will be used for replication. Valid values are `PUBLIC_IP` and `PRIVATE_IP`.
*
*/
public Output dataPlaneRouting() {
return this.dataPlaneRouting;
}
/**
* Staging Disk EBS volume type to be used during replication. Valid values are `GP2`, `GP3`, `ST1`, or `AUTO`.
*
*/
@Export(name="defaultLargeStagingDiskType", refs={String.class}, tree="[0]")
private Output defaultLargeStagingDiskType;
/**
* @return Staging Disk EBS volume type to be used during replication. Valid values are `GP2`, `GP3`, `ST1`, or `AUTO`.
*
*/
public Output defaultLargeStagingDiskType() {
return this.defaultLargeStagingDiskType;
}
/**
* Type of EBS encryption to be used during replication. Valid values are `DEFAULT` and `CUSTOM`.
*
*/
@Export(name="ebsEncryption", refs={String.class}, tree="[0]")
private Output ebsEncryption;
/**
* @return Type of EBS encryption to be used during replication. Valid values are `DEFAULT` and `CUSTOM`.
*
*/
public Output ebsEncryption() {
return this.ebsEncryption;
}
/**
* ARN of the EBS encryption key to be used during replication.
*
*/
@Export(name="ebsEncryptionKeyArn", refs={String.class}, tree="[0]")
private Output* @Nullable */ String> ebsEncryptionKeyArn;
/**
* @return ARN of the EBS encryption key to be used during replication.
*
*/
public Output> ebsEncryptionKeyArn() {
return Codegen.optional(this.ebsEncryptionKeyArn);
}
/**
* Configuration block for Point in time (PIT) policy to manage snapshots taken during replication. See below.
*
*/
@Export(name="pitPolicies", refs={List.class,ReplicationConfigurationTemplatePitPolicy.class}, tree="[0,1]")
private Output* @Nullable */ List> pitPolicies;
/**
* @return Configuration block for Point in time (PIT) policy to manage snapshots taken during replication. See below.
*
*/
public Output>> pitPolicies() {
return Codegen.optional(this.pitPolicies);
}
/**
* Instance type to be used for the replication server.
*
*/
@Export(name="replicationServerInstanceType", refs={String.class}, tree="[0]")
private Output replicationServerInstanceType;
/**
* @return Instance type to be used for the replication server.
*
*/
public Output replicationServerInstanceType() {
return this.replicationServerInstanceType;
}
/**
* Security group IDs that will be used by the replication server.
*
*/
@Export(name="replicationServersSecurityGroupsIds", refs={List.class,String.class}, tree="[0,1]")
private Output> replicationServersSecurityGroupsIds;
/**
* @return Security group IDs that will be used by the replication server.
*
*/
public Output> replicationServersSecurityGroupsIds() {
return this.replicationServersSecurityGroupsIds;
}
/**
* Subnet to be used by the replication staging area.
*
*/
@Export(name="stagingAreaSubnetId", refs={String.class}, tree="[0]")
private Output stagingAreaSubnetId;
/**
* @return Subnet to be used by the replication staging area.
*
*/
public Output stagingAreaSubnetId() {
return this.stagingAreaSubnetId;
}
/**
* Set of tags to be associated with all resources created in the replication staging area: EC2 replication server, EBS volumes, EBS snapshots, etc.
*
*/
@Export(name="stagingAreaTags", refs={Map.class,String.class}, tree="[0,1,1]")
private Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy