Endpoint

/v2/replication/source-relationships/status/

GET

List statuses for all existing replication relationships where this cluster is the source.

Parameters

This resource has no parameters.

Response

Codes

Code Description
200 Return value on success

Schema

{
  "type": "array",
  "items": {
    "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"
          }
        }
      }
    }
  }
}