Package com.pulumi.aws.efs
Class ReplicationConfiguration
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.efs.ReplicationConfiguration
-
public class ReplicationConfiguration extends com.pulumi.resources.CustomResourceCreates a replica of an existing EFS file system in the same or another region. Creating this resource causes the source EFS file system to be replicated to a new read-only destination EFS file system (unless using the `destination.file_system_id` attribute). Deleting this resource will cause the replication from source to destination to stop and the destination file system will no longer be read only. > **NOTE:** Deleting this resource does **not** delete the destination file system that was created. ## Example Usage Will create a replica using regional storage in us-west-2 that will be encrypted by the default EFS KMS key `/aws/elasticfilesystem`.
Replica will be created as One Zone storage in the us-west-2b Availability Zone and encrypted with the specified KMS key.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.efs.FileSystem; import com.pulumi.aws.efs.ReplicationConfiguration; import com.pulumi.aws.efs.ReplicationConfigurationArgs; import com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs; 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 FileSystem("example"); var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() .destination(ReplicationConfigurationDestinationArgs.builder() .region("us-west-2") .build()) .sourceFileSystemId(example.id()) .build()); } }
Will create a replica and set the existing file system with ID `fs-1234567890` in us-west-2 as destination.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.efs.FileSystem; import com.pulumi.aws.efs.ReplicationConfiguration; import com.pulumi.aws.efs.ReplicationConfigurationArgs; import com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs; 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 FileSystem("example"); var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() .destination(ReplicationConfigurationDestinationArgs.builder() .availabilityZoneName("us-west-2b") .kmsKeyId("1234abcd-12ab-34cd-56ef-1234567890ab") .build()) .sourceFileSystemId(example.id()) .build()); } }
## Import ### Identity Schema #### Required * `id` (String) ID of the file system. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import EFS Replication Configurations using the file system ID of either the source or destination file system. When importing, the `availabilityZoneName` and `kmsKeyId` attributes must **not** be set in the configuration. The AWS API does not return these values when querying the replication configuration and their presence will therefore show as a diff in a subsequent plan. For example: ```sh $ pulumi import aws:efs/replicationConfiguration:ReplicationConfiguration example fs-6fa144c6 ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.efs.FileSystem; import com.pulumi.aws.efs.ReplicationConfiguration; import com.pulumi.aws.efs.ReplicationConfigurationArgs; import com.pulumi.aws.efs.inputs.ReplicationConfigurationDestinationArgs; 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 FileSystem("example"); var exampleReplicationConfiguration = new ReplicationConfiguration("exampleReplicationConfiguration", ReplicationConfigurationArgs.builder() .destination(ReplicationConfigurationDestinationArgs.builder() .fileSystemId("fs-1234567890") .region("us-west-2") .build()) .sourceFileSystemId(example.id()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description ReplicationConfiguration(java.lang.String name)ReplicationConfiguration(java.lang.String name, ReplicationConfigurationArgs args)ReplicationConfiguration(java.lang.String name, ReplicationConfigurationArgs 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.lang.String>creationTime()com.pulumi.core.Output<ReplicationConfigurationDestination>destination()static ReplicationConfigurationget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ReplicationConfigurationState 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>originalSourceFileSystemArn()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.lang.String>sourceFileSystemArn()com.pulumi.core.Output<java.lang.String>sourceFileSystemId()com.pulumi.core.Output<java.lang.String>sourceFileSystemRegion()
-
-
-
Constructor Detail
-
ReplicationConfiguration
public ReplicationConfiguration(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
ReplicationConfiguration
public ReplicationConfiguration(java.lang.String name, ReplicationConfigurationArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
ReplicationConfiguration
public ReplicationConfiguration(java.lang.String name, ReplicationConfigurationArgs 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
-
creationTime
public com.pulumi.core.Output<java.lang.String> creationTime()
- Returns:
- When the replication configuration was created. * `destination[0].file_system_id` - The fs ID of the replica. * `destination[0].status` - The status of the replication.
-
destination
public com.pulumi.core.Output<ReplicationConfigurationDestination> destination()
- Returns:
- A destination configuration block (documented below).
-
originalSourceFileSystemArn
public com.pulumi.core.Output<java.lang.String> originalSourceFileSystemArn()
- Returns:
- ARN of the original source Amazon EFS file system in the replication configuration.
-
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.
-
sourceFileSystemArn
public com.pulumi.core.Output<java.lang.String> sourceFileSystemArn()
- Returns:
- ARN of the current source file system in the replication configuration.
-
sourceFileSystemId
public com.pulumi.core.Output<java.lang.String> sourceFileSystemId()
- Returns:
- The ID of the file system that is to be replicated.
-
sourceFileSystemRegion
public com.pulumi.core.Output<java.lang.String> sourceFileSystemRegion()
- Returns:
- The AWS Region in which the source Amazon EFS file system is located.
-
get
public static ReplicationConfiguration get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable ReplicationConfigurationState 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.
-
-