diff --git a/inttests/replication_test.go b/inttests/replication_test.go index d314361..389188a 100644 --- a/inttests/replication_test.go +++ b/inttests/replication_test.go @@ -327,6 +327,17 @@ func TestQueryReplicationPairs(t *testing.T) { } } +// Query Specific Replication Pair +func TestQueryReplicationPair(t *testing.T) { + if C2 == nil { + t.Skip("no client connection to replication target system") + } + + pair, err := C.GetReplicationPair(rep.pair.ReplicaitonPair.ID) + assert.Nil(t, err) + assert.NotNil(t, pair) +} + // Query Replication Pair Statistics func TestQueryReplicationPairsStatistics(t *testing.T) { if C2 == nil { diff --git a/replication.go b/replication.go index 9f956d0..661f3f3 100644 --- a/replication.go +++ b/replication.go @@ -212,6 +212,17 @@ func (c *Client) GetAllReplicationPairs() ([]*types.ReplicationPair, error) { return pairs, err } +// GetReplicationPair returns a specific replication pair on the system. +func (c *Client) GetReplicationPair(id string) (*types.ReplicationPair, error) { + defer TimeSpent("GetReplicationPairs", time.Now()) + + path := "/api/instances/ReplicationPair::" + id + + var pair *types.ReplicationPair + err := c.getJSONWithRetry(http.MethodGet, path, nil, &pair) + return pair, err +} + // GetReplicationPairs returns a list of replication pairs associated to the rcg. func (rcg *ReplicationConsistencyGroup) GetReplicationPairs() ([]*types.ReplicationPair, error) { defer TimeSpent("GetReplicationPairs", time.Now())