import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Replication resource in Oracle Cloud Infrastructure File Storage service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/filestorage/latest/Replication * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/ * * Creates a new replication in the specified compartment. * Replications are the primary resource that governs the policy of cross-region replication between source * and target file systems. Replications are associated with a secondary resource called a [`ReplicationTarget`](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/ReplicationTarget) * located in another availability domain. * The associated replication target resource is automatically created along with the replication resource. * The replication retrieves the delta of data between two snapshots of a source file system * and sends it to the associated `ReplicationTarget`, which retrieves the delta and applies it to the target * file system. * Only unexported file systems can be used as target file systems. * For more information, see [Using Replication](https://docs.cloud.oracle.com/iaas/Content/File/Tasks/FSreplication.htm). * * For information about access control and compartments, see * [Overview of the IAM * Service](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/overview.htm). * * For information about availability domains, see [Regions and * Availability Domains](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/regions.htm). * To get a list of availability domains, use the * `ListAvailabilityDomains` operation in the Identity and Access * Management Service API. * * All Oracle Cloud Infrastructure Services resources, including * replications, get an Oracle-assigned, unique ID called an * Oracle Cloud Identifier ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)). * When you create a resource, you can find its OCID in the response. * You can also retrieve a resource's OCID by using a List API operation on that resource * type, or by viewing the resource in the Console. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testReplication = new oci.filestorage.Replication("test_replication", { * compartmentId: compartmentId, * sourceId: testSource.id, * targetId: testTarget.id, * definedTags: { * "Operations.CostCenter": "42", * }, * displayName: replicationDisplayName, * freeformTags: { * Department: "Finance", * }, * locks: [{ * type: replicationLocksType, * message: replicationLocksMessage, * relatedResourceId: testResource.id, * timeCreated: replicationLocksTimeCreated, * }], * replicationInterval: replicationReplicationInterval, * }); * ``` * * ## Import * * Replications can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:FileStorage/replication:Replication test_replication "id" * ``` */ export declare class Replication extends pulumi.CustomResource { /** * Get an existing Replication resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: ReplicationState, opts?: pulumi.CustomResourceOptions): Replication; /** * Returns true if the given object is an instance of Replication. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Replication; /** * The availability domain the replication is in. The replication must be in the same availability domain as the source file system. Example: `Uocm:PHX-AD-1` */ readonly availabilityDomain: pulumi.Output; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the replication. */ readonly compartmentId: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * Percentage progress of the current replication cycle. */ readonly deltaProgress: pulumi.Output; /** * The current state of the snapshot during replication operations. */ readonly deltaStatus: pulumi.Output; /** * (Updatable) A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information. An associated replication target will also created with the same `displayName`. Example: `My replication` */ readonly displayName: pulumi.Output; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; readonly isLockOverride: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last snapshot that has been replicated completely. Empty if the copy of the initial snapshot is not complete. */ readonly lastSnapshotId: pulumi.Output; /** * Additional information about the current 'lifecycleState'. */ readonly lifecycleDetails: pulumi.Output; /** * Locks associated with this resource. */ readonly locks: pulumi.Output; /** * The [`snapshotTime`](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Snapshot/snapshotTime) of the most recent recoverable replication snapshot in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format. Example: `2021-04-04T20:01:29.100Z` */ readonly recoveryPointTime: pulumi.Output; /** * (Updatable) Duration in minutes between replication snapshots. */ readonly replicationInterval: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the [`ReplicationTarget`](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/ReplicationTarget). */ readonly replicationTargetId: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the source file system. */ readonly sourceId: pulumi.Output; /** * The current state of this replication. This resource can be in a `FAILED` state if replication target is deleted instead of the replication resource. */ readonly state: pulumi.Output; /** * System tags for this resource. System tags are applied to resources by internal Oracle Cloud Infrastructure services. */ readonly systemTags: pulumi.Output<{ [key: string]: string; }>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the target file system. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly targetId: pulumi.Output; /** * The date and time the replication was created in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format. Example: `2021-01-04T20:01:29.100Z` */ readonly timeCreated: pulumi.Output; /** * Create a Replication resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ReplicationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Replication resources. */ export interface ReplicationState { /** * The availability domain the replication is in. The replication must be in the same availability domain as the source file system. Example: `Uocm:PHX-AD-1` */ availabilityDomain?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the replication. */ compartmentId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Percentage progress of the current replication cycle. */ deltaProgress?: pulumi.Input; /** * The current state of the snapshot during replication operations. */ deltaStatus?: pulumi.Input; /** * (Updatable) A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information. An associated replication target will also created with the same `displayName`. Example: `My replication` */ displayName?: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; isLockOverride?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last snapshot that has been replicated completely. Empty if the copy of the initial snapshot is not complete. */ lastSnapshotId?: pulumi.Input; /** * Additional information about the current 'lifecycleState'. */ lifecycleDetails?: pulumi.Input; /** * Locks associated with this resource. */ locks?: pulumi.Input[] | undefined>; /** * The [`snapshotTime`](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Snapshot/snapshotTime) of the most recent recoverable replication snapshot in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format. Example: `2021-04-04T20:01:29.100Z` */ recoveryPointTime?: pulumi.Input; /** * (Updatable) Duration in minutes between replication snapshots. */ replicationInterval?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the [`ReplicationTarget`](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/ReplicationTarget). */ replicationTargetId?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the source file system. */ sourceId?: pulumi.Input; /** * The current state of this replication. This resource can be in a `FAILED` state if replication target is deleted instead of the replication resource. */ state?: pulumi.Input; /** * System tags for this resource. System tags are applied to resources by internal Oracle Cloud Infrastructure services. */ systemTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the target file system. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ targetId?: pulumi.Input; /** * The date and time the replication was created in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format. Example: `2021-01-04T20:01:29.100Z` */ timeCreated?: pulumi.Input; } /** * The set of arguments for constructing a Replication resource. */ export interface ReplicationArgs { /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment that contains the replication. */ compartmentId: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information. An associated replication target will also created with the same `displayName`. Example: `My replication` */ displayName?: pulumi.Input; /** * (Updatable) Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; isLockOverride?: pulumi.Input; /** * Locks associated with this resource. */ locks?: pulumi.Input[] | undefined>; /** * (Updatable) Duration in minutes between replication snapshots. */ replicationInterval?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the source file system. */ sourceId: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the target file system. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ targetId: pulumi.Input; } //# sourceMappingURL=replication.d.ts.map