Endpoint

/v2/replication/source-relationships/{id}/status

GET

Get current status of the specified replication relationship where this cluster is the source.

Parameters

Name Description Required
id Relationship identifier Yes

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "api_source_relationship_status",
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier of the replication relationship",
      "type": "string"
    },
    "target_address": {
      "description": "The target IP address",
      "type": "string"
    },
    "target_port": {
      "description": "Network port to replicate to on the target",
      "type": "number"
    },
    "source_root_read_only": {
      "description": "Whether the source directory is read-only",
      "type": "boolean"
    },
    "map_local_ids_to_nfs_ids": {
      "description": "Whether to map local user/group identities to their associated NFS UID/GID when replicating them to the target cluster. Replication of local identities fails if this option is False.",
      "type": "boolean"
    },
    "replication_enabled": {
      "description": "Whether automatic replication is enabled",
      "type": "boolean"
    },
    "replication_mode": {
      "type": "string",
      "enum": [
        "REPLICATION_CONTINUOUS",
        "REPLICATION_SNAPSHOT_POLICY",
        "REPLICATION_SNAPSHOT_POLICY_WITH_CONTINUOUS"
      ],
      "description": "Whether to replicate continuously, replicate snapshots from linked snapshot policies, or both:\n * `REPLICATION_CONTINUOUS` - REPLICATION_CONTINUOUS,\n * `REPLICATION_SNAPSHOT_POLICY` - REPLICATION_SNAPSHOT_POLICY,\n * `REPLICATION_SNAPSHOT_POLICY_WITH_CONTINUOUS` - REPLICATION_SNAPSHOT_POLICY_WITH_CONTINUOUS"
    },
    "blackout_window_timezone": {
      "description": "The timezone in which the blackout windows should be interpreted (e.g, America/Los_Angeles or UTC)",
      "type": "string"
    },
    "blackout_windows": {
      "type": "array",
      "items": {
        "description": "List of blackout windows for the relationship",
        "type": "object",
        "properties": {
          "start_hour": {
            "description": "Hour of day [0, 23] at which the blackout window begins",
            "type": "number"
          },
          "start_minute": {
            "description": "Minute of hour [0, 59] at which the blackout window begins",
            "type": "number"
          },
          "end_hour": {
            "description": "Hour of day [0, 23] at which the blackout window ends",
            "type": "number"
          },
          "end_minute": {
            "description": "Minute of hour [0, 59] at which the blackout window ends",
            "type": "number"
          },
          "on_days": {
            "description": "List of days of the week on which the replication schedule applies. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "SUN",
                "MON",
                "TUE",
                "WED",
                "THU",
                "FRI",
                "SAT",
                "EVERY_DAY"
              ],
              "description": "List of days of the week on which the replication schedule applies. Choose from SUN, MON, TUE, WED, THU, FRI, and/or SAT. EVERY_DAY can be used to specify all days.:\n * `EVERY_DAY` - EVERY_DAY,\n * `FRI` - FRI,\n * `MON` - MON,\n * `SAT` - SAT,\n * `SUN` - SUN,\n * `THU` - THU,\n * `TUE` - TUE,\n * `WED` - WED"
            }
          }
        }
      }
    },
    "snapshot_policies": {
      "type": "array",
      "items": {
        "description": "List of snapshot policies linked with the relationship along with the corresponding expiration time of the replicated snapshots on the target for each linked policy",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier for the snapshot policy linked with the relationship",
            "type": "number"
          },
          "target_expiration": {
            "description": "Duration after which to expire snapshots on the target cluster that were replicated from this snapshot policy, in format <quantity><units>, where <quantity> is a positive integer less than 100 and <units> is one of [months, weeks, days, hours, minutes], e.g. 5days or 1hours. 'never' indicates snapshots should never expire and 'same_as_policy' indicates snapshots should expire at the same time as the snapshot policy specifies.",
            "type": "string"
          }
        }
      }
    },
    "state": {
      "type": "string",
      "enum": [
        "AWAITING_AUTHORIZATION",
        "DISCONNECTED",
        "DISCONNECTING",
        "ENDED",
        "ESTABLISHED",
        "RECONNECTING",
        "REESTABLISHING"
      ],
      "description": "Current state of replication relationship:\n * `AWAITING_AUTHORIZATION` - AWAITING_AUTHORIZATION,\n * `DISCONNECTED` - DISCONNECTED,\n * `DISCONNECTING` - DISCONNECTING,\n * `ENDED` - ENDED,\n * `ESTABLISHED` - ESTABLISHED,\n * `RECONNECTING` - RECONNECTING,\n * `REESTABLISHING` - REESTABLISHING"
    },
    "end_reason": {
      "description": "If the relationship has ENDED, this states the reason. Otherwise, this field is empty",
      "type": "string"
    },
    "source_cluster_name": {
      "description": "Name of the source cluster",
      "type": "string"
    },
    "source_cluster_uuid": {
      "description": "UUID of the source cluster",
      "type": "string"
    },
    "source_root_path": {
      "description": "Path to the source directory",
      "type": "string"
    },
    "target_cluster_name": {
      "description": "Name of the target cluster",
      "type": "string"
    },
    "target_cluster_uuid": {
      "description": "UUID of the target cluster",
      "type": "string"
    },
    "target_root_path": {
      "description": "Path to the target directory",
      "type": "string"
    },
    "target_root_read_only": {
      "description": "Whether the target directory is read-only",
      "type": "boolean"
    },
    "job_state": {
      "type": "string",
      "enum": [
        "REPLICATION_NOT_RUNNING",
        "REPLICATION_RUNNING"
      ],
      "description": "Current state of the job:\n * `REPLICATION_NOT_RUNNING` - REPLICATION_NOT_RUNNING,\n * `REPLICATION_RUNNING` - REPLICATION_RUNNING"
    },
    "job_start_time": {
      "description": "If the job state is REPLICATION_RUNNING, this is the time that the job started, encoded as RFC 3339",
      "type": "string"
    },
    "recovery_point": {
      "description": "The time that the last successful job started, encoded as RFC 3339",
      "type": "string"
    },
    "error_from_last_job": {
      "description": "The error message from the previous job. If the previous job succeeded or no job has ever run, this field will be empty",
      "type": "string"
    },
    "duration_of_last_job": {
      "description": "The elapsed execution time of the previous job, in nanoseconds. If no job has ever run, this field will be null.",
      "type": "object",
      "properties": {
        "nanoseconds": {
          "description": "nanoseconds",
          "type": "string"
        }
      }
    },
    "source_root_id": {
      "description": "File ID of the source directory",
      "type": "string"
    },
    "next_active_time": {
      "description": "The time when the current blackout period ends (in UTC). If replication is currently enabled and not in a blackout period, this field will be empty",
      "type": "string"
    },
    "replication_job_status": {
      "description": "Information about the progress of a job. This field is null if there is no job status available.",
      "type": "object",
      "properties": {
        "percent_complete": {
          "description": "Percent of way through the job, computed from a weighting of data and files processed",
          "type": "number"
        },
        "estimated_seconds_remaining": {
          "description": "Estimated number of seconds remaining in the job, derived from percent_complete. This may be null if there is no estimate.",
          "type": "string"
        },
        "bytes_transferred": {
          "description": "Number of bytes copied",
          "type": "string"
        },
        "bytes_unchanged": {
          "description": "Number of bytes not copied because they didn't change",
          "type": "string"
        },
        "bytes_remaining": {
          "description": "Number of bytes left to be processed in order to complete this job",
          "type": "string"
        },
        "bytes_deleted": {
          "description": "Number of bytes deleted",
          "type": "string"
        },
        "bytes_total": {
          "description": "Total number of bytes that will be processed during this job (this will be close but not exact)",
          "type": "string"
        },
        "files_transferred": {
          "description": "Number of files copied",
          "type": "string"
        },
        "files_unchanged": {
          "description": "Number of files not copied because they didn't change",
          "type": "string"
        },
        "files_remaining": {
          "description": "Number of files left to be processed in order to complete this job",
          "type": "string"
        },
        "files_deleted": {
          "description": "Number of files deleted",
          "type": "string"
        },
        "files_total": {
          "description": "Total number of files that will be processed during this job (this will be close but not exact)",
          "type": "string"
        },
        "throughput_overall": {
          "description": "Overall average throughput in bytes per second of data copied since the beginning of the job",
          "type": "string"
        },
        "throughput_current": {
          "description": "Average throughput in bytes per second of data copied in the last one minute",
          "type": "string"
        }
      }
    },
    "queued_snapshot_count": {
      "description": "The number of snapshots from linked snapshot policies awaiting replication by this relationship",
      "type": "number"
    },
    "recovery_point_snapshot": {
      "description": "The snapshot replicated by the last successful job. This field is null if no job has ever run successfully.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Unique identifier of the snapshot",
          "type": "number"
        },
        "name": {
          "description": "Name of the snapshot",
          "type": "string"
        },
        "timestamp": {
          "description": "Creation timestamp of the snapshot, encoded as RFC 3339, which is a normalized subset of ISO 8601. See http://tools.ietf.org/rfc/rfc3339.txt, section 5.6 for ABNF.",
          "type": "string"
        },
        "directory_name": {
          "description": "Snapshot directory name, as would be seen in the .snapshot directory over SMB or NFS.",
          "type": "string"
        },
        "source_file_id": {
          "description": "Source directory of the snapshot",
          "type": "string"
        },
        "created_by_policy": {
          "description": "This snapshot was created by a policy. The name of that policy will be stored in the name field in place of a user-defined name.",
          "type": "boolean"
        },
        "expiration": {
          "description": "Time at which snapshot will be expired. Empty string if no expiration time set. Encoded as RFC 3339, which is a normalized subset of ISO 8601. See http://tools.ietf.org/rfc/rfc3339.txt, section 5.6 for ABNF.",
          "type": "string"
        },
        "in_delete": {
          "description": "Whether or not the snapshot is in the process of being deleted",
          "type": "boolean"
        }
      }
    },
    "replicating_snapshot": {
      "description": "The snapshot that is being replicated by the current job. This field is null if no job is in progress.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Unique identifier of the snapshot",
          "type": "number"
        },
        "name": {
          "description": "Name of the snapshot",
          "type": "string"
        },
        "timestamp": {
          "description": "Creation timestamp of the snapshot, encoded as RFC 3339, which is a normalized subset of ISO 8601. See http://tools.ietf.org/rfc/rfc3339.txt, section 5.6 for ABNF.",
          "type": "string"
        },
        "directory_name": {
          "description": "Snapshot directory name, as would be seen in the .snapshot directory over SMB or NFS.",
          "type": "string"
        },
        "source_file_id": {
          "description": "Source directory of the snapshot",
          "type": "string"
        },
        "created_by_policy": {
          "description": "This snapshot was created by a policy. The name of that policy will be stored in the name field in place of a user-defined name.",
          "type": "boolean"
        },
        "expiration": {
          "description": "Time at which snapshot will be expired. Empty string if no expiration time set. Encoded as RFC 3339, which is a normalized subset of ISO 8601. See http://tools.ietf.org/rfc/rfc3339.txt, section 5.6 for ABNF.",
          "type": "string"
        },
        "in_delete": {
          "description": "Whether or not the snapshot is in the process of being deleted",
          "type": "boolean"
        }
      }
    }
  }
}