# NetApp API . projects . locations . volumes . replications

## Instance Methods

Close httplib2 connections.

Create a new replication for a volume.

Deletes a replication.

Establish replication peering.

Describe a replication for a volume.

Returns descriptions of all replications for a volume.

Retrieves the next page of results.

Updates the settings of a specific replication.

Resume Cross Region Replication.

Reverses direction of replication. Source becomes destination and destination becomes source.

Stop Cross Region Replication.

Syncs the replication. This will invoke one time volume data transfer from source to destination.

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, replicationId=None, x__xgafv=None)`

    Create a new replication for a volume.

    Args:
      parent: string, Required. The NetApp volume to create the replications of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}` (required)
      body: object, The request body.
        The object takes the form of:

    { # Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.
      "clusterLocation": "A String", # Optional. Location of the user cluster.
      "createTime": "A String", # Output only. Replication create time.
      "description": "A String", # A description about this replication relationship.
      "destinationVolume": "A String", # Output only. Full name of destination volume resource. Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
      "destinationVolumeParameters": { # DestinationVolumeParameters specify input parameters used for creating destination volume. # Required. Input only. Destination volume parameters
        "description": "A String", # Description for the destination volume.
        "shareName": "A String", # Destination volume's share name. If not specified, source volume's share name will be used.
        "storagePool": "A String", # Required. Existing destination StoragePool name.
        "tieringPolicy": { # Defines tiering policy for the volume. # Optional. Tiering policy for the volume.
          "coolingThresholdDays": 42, # Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31.
          "tierAction": "A String", # Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.
        },
        "volumeId": "A String", # Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
      },
      "healthy": True or False, # Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer.
      "hybridPeeringDetails": { # HybridPeeringDetails contains details about the hybrid peering. # Output only. Hybrid peering details.
        "command": "A String", # Optional. Copy-paste-able commands to be used on user's ONTAP to accept peering requests.
        "commandExpiryTime": "A String", # Optional. Expiration time for the peering command to be executed on user's ONTAP.
        "passphrase": "A String", # Optional. Temporary passphrase generated to accept cluster peering command.
        "peerClusterName": "A String", # Optional. Name of the user's local source cluster to be peered with the destination cluster.
        "peerSvmName": "A String", # Optional. Name of the user's local source vserver svm to be peered with the destination vserver svm.
        "peerVolumeName": "A String", # Optional. Name of the user's local source volume to be peered with the destination volume.
        "subnetIp": "A String", # Optional. IP address of the subnet.
      },
      "hybridReplicationType": "A String", # Output only. Type of the hybrid replication.
      "labels": { # Resource labels to represent user provided metadata.
        "a_key": "A String",
      },
      "mirrorState": "A String", # Output only. Indicates the state of mirroring.
      "name": "A String", # Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.
      "replicationSchedule": "A String", # Required. Indicates the schedule for replication.
      "role": "A String", # Output only. Indicates whether this points to source or destination.
      "sourceVolume": "A String", # Output only. Full name of source volume resource. Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
      "state": "A String", # Output only. State of the replication.
      "stateDetails": "A String", # Output only. State details of the replication.
      "transferStats": { # TransferStats reports all statistics related to replication transfer. # Output only. Replication transfer statistics.
        "lagDuration": "A String", # Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content.
        "lastTransferBytes": "A String", # Last transfer size in bytes.
        "lastTransferDuration": "A String", # Time taken during last transfer.
        "lastTransferEndTime": "A String", # Time when last transfer completed.
        "lastTransferError": "A String", # A message describing the cause of the last transfer failure.
        "totalTransferDuration": "A String", # Cumulative time taken across all transfers for the replication relationship.
        "transferBytes": "A String", # Cumulative bytes trasferred so far for the replication relatinonship.
        "updateTime": "A String", # Time when progress was updated last.
      },
    }

      replicationId: string, Required. ID of the replication to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`delete(name, x__xgafv=None)`

    Deletes a replication.

    Args:
      name: string, Required. The replication resource name, in the format `projects/*/locations/*/volumes/*/replications/{replication_id}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`establishPeering(name, body=None, x__xgafv=None)`

    Establish replication peering.

    Args:
      name: string, Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. (required)
      body: object, The request body.
        The object takes the form of:

    { # EstablishPeeringRequest establishes cluster and svm peerings between the source and the destination replications.
      "peerClusterName": "A String", # Required. Name of the user's local source cluster to be peered with the destination cluster.
      "peerIpAddresses": [ # Optional. List of IPv4 ip addresses to be used for peering.
        "A String",
      ],
      "peerSvmName": "A String", # Required. Name of the user's local source vserver svm to be peered with the destination vserver svm.
      "peerVolumeName": "A String", # Required. Name of the user's local source volume to be peered with the destination volume.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`get(name, x__xgafv=None)`

    Describe a replication for a volume.

    Args:
      name: string, Required. The replication resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.
      "clusterLocation": "A String", # Optional. Location of the user cluster.
      "createTime": "A String", # Output only. Replication create time.
      "description": "A String", # A description about this replication relationship.
      "destinationVolume": "A String", # Output only. Full name of destination volume resource. Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
      "destinationVolumeParameters": { # DestinationVolumeParameters specify input parameters used for creating destination volume. # Required. Input only. Destination volume parameters
        "description": "A String", # Description for the destination volume.
        "shareName": "A String", # Destination volume's share name. If not specified, source volume's share name will be used.
        "storagePool": "A String", # Required. Existing destination StoragePool name.
        "tieringPolicy": { # Defines tiering policy for the volume. # Optional. Tiering policy for the volume.
          "coolingThresholdDays": 42, # Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31.
          "tierAction": "A String", # Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.
        },
        "volumeId": "A String", # Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
      },
      "healthy": True or False, # Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer.
      "hybridPeeringDetails": { # HybridPeeringDetails contains details about the hybrid peering. # Output only. Hybrid peering details.
        "command": "A String", # Optional. Copy-paste-able commands to be used on user's ONTAP to accept peering requests.
        "commandExpiryTime": "A String", # Optional. Expiration time for the peering command to be executed on user's ONTAP.
        "passphrase": "A String", # Optional. Temporary passphrase generated to accept cluster peering command.
        "peerClusterName": "A String", # Optional. Name of the user's local source cluster to be peered with the destination cluster.
        "peerSvmName": "A String", # Optional. Name of the user's local source vserver svm to be peered with the destination vserver svm.
        "peerVolumeName": "A String", # Optional. Name of the user's local source volume to be peered with the destination volume.
        "subnetIp": "A String", # Optional. IP address of the subnet.
      },
      "hybridReplicationType": "A String", # Output only. Type of the hybrid replication.
      "labels": { # Resource labels to represent user provided metadata.
        "a_key": "A String",
      },
      "mirrorState": "A String", # Output only. Indicates the state of mirroring.
      "name": "A String", # Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.
      "replicationSchedule": "A String", # Required. Indicates the schedule for replication.
      "role": "A String", # Output only. Indicates whether this points to source or destination.
      "sourceVolume": "A String", # Output only. Full name of source volume resource. Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
      "state": "A String", # Output only. State of the replication.
      "stateDetails": "A String", # Output only. State details of the replication.
      "transferStats": { # TransferStats reports all statistics related to replication transfer. # Output only. Replication transfer statistics.
        "lagDuration": "A String", # Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content.
        "lastTransferBytes": "A String", # Last transfer size in bytes.
        "lastTransferDuration": "A String", # Time taken during last transfer.
        "lastTransferEndTime": "A String", # Time when last transfer completed.
        "lastTransferError": "A String", # A message describing the cause of the last transfer failure.
        "totalTransferDuration": "A String", # Cumulative time taken across all transfers for the replication relationship.
        "transferBytes": "A String", # Cumulative bytes trasferred so far for the replication relatinonship.
        "updateTime": "A String", # Time when progress was updated last.
      },
    }

`list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)`

    Returns descriptions of all replications for a volume.

    Args:
      parent: string, Required. The volume for which to retrieve replication information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`. (required)
      filter: string, List filter.
      orderBy: string, Sort results. Supported values are "name", "name desc" or "" (unsorted).
      pageSize: integer, The maximum number of items to return.
      pageToken: string, The next_page_token value to use if there are additional results to retrieve for this list request.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # ListReplicationsResponse is the result of ListReplicationsRequest.
      "nextPageToken": "A String", # The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.
      "replications": [ # A list of replications in the project for the specified volume.
        { # Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.
          "clusterLocation": "A String", # Optional. Location of the user cluster.
          "createTime": "A String", # Output only. Replication create time.
          "description": "A String", # A description about this replication relationship.
          "destinationVolume": "A String", # Output only. Full name of destination volume resource. Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
          "destinationVolumeParameters": { # DestinationVolumeParameters specify input parameters used for creating destination volume. # Required. Input only. Destination volume parameters
            "description": "A String", # Description for the destination volume.
            "shareName": "A String", # Destination volume's share name. If not specified, source volume's share name will be used.
            "storagePool": "A String", # Required. Existing destination StoragePool name.
            "tieringPolicy": { # Defines tiering policy for the volume. # Optional. Tiering policy for the volume.
              "coolingThresholdDays": 42, # Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31.
              "tierAction": "A String", # Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.
            },
            "volumeId": "A String", # Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
          },
          "healthy": True or False, # Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer.
          "hybridPeeringDetails": { # HybridPeeringDetails contains details about the hybrid peering. # Output only. Hybrid peering details.
            "command": "A String", # Optional. Copy-paste-able commands to be used on user's ONTAP to accept peering requests.
            "commandExpiryTime": "A String", # Optional. Expiration time for the peering command to be executed on user's ONTAP.
            "passphrase": "A String", # Optional. Temporary passphrase generated to accept cluster peering command.
            "peerClusterName": "A String", # Optional. Name of the user's local source cluster to be peered with the destination cluster.
            "peerSvmName": "A String", # Optional. Name of the user's local source vserver svm to be peered with the destination vserver svm.
            "peerVolumeName": "A String", # Optional. Name of the user's local source volume to be peered with the destination volume.
            "subnetIp": "A String", # Optional. IP address of the subnet.
          },
          "hybridReplicationType": "A String", # Output only. Type of the hybrid replication.
          "labels": { # Resource labels to represent user provided metadata.
            "a_key": "A String",
          },
          "mirrorState": "A String", # Output only. Indicates the state of mirroring.
          "name": "A String", # Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.
          "replicationSchedule": "A String", # Required. Indicates the schedule for replication.
          "role": "A String", # Output only. Indicates whether this points to source or destination.
          "sourceVolume": "A String", # Output only. Full name of source volume resource. Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
          "state": "A String", # Output only. State of the replication.
          "stateDetails": "A String", # Output only. State details of the replication.
          "transferStats": { # TransferStats reports all statistics related to replication transfer. # Output only. Replication transfer statistics.
            "lagDuration": "A String", # Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content.
            "lastTransferBytes": "A String", # Last transfer size in bytes.
            "lastTransferDuration": "A String", # Time taken during last transfer.
            "lastTransferEndTime": "A String", # Time when last transfer completed.
            "lastTransferError": "A String", # A message describing the cause of the last transfer failure.
            "totalTransferDuration": "A String", # Cumulative time taken across all transfers for the replication relationship.
            "transferBytes": "A String", # Cumulative bytes trasferred so far for the replication relatinonship.
            "updateTime": "A String", # Time when progress was updated last.
          },
        },
      ],
      "unreachable": [ # Locations that could not be reached.
        "A String",
      ],
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.

`patch(name, body=None, updateMask=None, x__xgafv=None)`

    Updates the settings of a specific replication.

    Args:
      name: string, Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.
      "clusterLocation": "A String", # Optional. Location of the user cluster.
      "createTime": "A String", # Output only. Replication create time.
      "description": "A String", # A description about this replication relationship.
      "destinationVolume": "A String", # Output only. Full name of destination volume resource. Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
      "destinationVolumeParameters": { # DestinationVolumeParameters specify input parameters used for creating destination volume. # Required. Input only. Destination volume parameters
        "description": "A String", # Description for the destination volume.
        "shareName": "A String", # Destination volume's share name. If not specified, source volume's share name will be used.
        "storagePool": "A String", # Required. Existing destination StoragePool name.
        "tieringPolicy": { # Defines tiering policy for the volume. # Optional. Tiering policy for the volume.
          "coolingThresholdDays": 42, # Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31.
          "tierAction": "A String", # Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.
        },
        "volumeId": "A String", # Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
      },
      "healthy": True or False, # Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer.
      "hybridPeeringDetails": { # HybridPeeringDetails contains details about the hybrid peering. # Output only. Hybrid peering details.
        "command": "A String", # Optional. Copy-paste-able commands to be used on user's ONTAP to accept peering requests.
        "commandExpiryTime": "A String", # Optional. Expiration time for the peering command to be executed on user's ONTAP.
        "passphrase": "A String", # Optional. Temporary passphrase generated to accept cluster peering command.
        "peerClusterName": "A String", # Optional. Name of the user's local source cluster to be peered with the destination cluster.
        "peerSvmName": "A String", # Optional. Name of the user's local source vserver svm to be peered with the destination vserver svm.
        "peerVolumeName": "A String", # Optional. Name of the user's local source volume to be peered with the destination volume.
        "subnetIp": "A String", # Optional. IP address of the subnet.
      },
      "hybridReplicationType": "A String", # Output only. Type of the hybrid replication.
      "labels": { # Resource labels to represent user provided metadata.
        "a_key": "A String",
      },
      "mirrorState": "A String", # Output only. Indicates the state of mirroring.
      "name": "A String", # Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.
      "replicationSchedule": "A String", # Required. Indicates the schedule for replication.
      "role": "A String", # Output only. Indicates whether this points to source or destination.
      "sourceVolume": "A String", # Output only. Full name of source volume resource. Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
      "state": "A String", # Output only. State of the replication.
      "stateDetails": "A String", # Output only. State details of the replication.
      "transferStats": { # TransferStats reports all statistics related to replication transfer. # Output only. Replication transfer statistics.
        "lagDuration": "A String", # Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content.
        "lastTransferBytes": "A String", # Last transfer size in bytes.
        "lastTransferDuration": "A String", # Time taken during last transfer.
        "lastTransferEndTime": "A String", # Time when last transfer completed.
        "lastTransferError": "A String", # A message describing the cause of the last transfer failure.
        "totalTransferDuration": "A String", # Cumulative time taken across all transfers for the replication relationship.
        "transferBytes": "A String", # Cumulative bytes trasferred so far for the replication relatinonship.
        "updateTime": "A String", # Time when progress was updated last.
      },
    }

      updateMask: string, Required. Mask of fields to update. At least one path must be supplied in this field.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`resume(name, body=None, x__xgafv=None)`

    Resume Cross Region Replication.

    Args:
      name: string, Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. (required)
      body: object, The request body.
        The object takes the form of:

    { # ResumeReplicationRequest resumes a stopped replication.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`reverseDirection(name, body=None, x__xgafv=None)`

    Reverses direction of replication. Source becomes destination and destination becomes source.

    Args:
      name: string, Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. (required)
      body: object, The request body.
        The object takes the form of:

    { # ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination becomes source.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`stop(name, body=None, x__xgafv=None)`

    Stop Cross Region Replication.

    Args:
      name: string, Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. (required)
      body: object, The request body.
        The object takes the form of:

    { # StopReplicationRequest stops a replication until resumed.
      "force": True or False, # Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is false, stop replication will fail while data transfer is in progress and you will need to retry later.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`sync(name, body=None, x__xgafv=None)`

    Syncs the replication. This will invoke one time volume data transfer from source to destination.

    Args:
      name: string, Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. (required)
      body: object, The request body.
        The object takes the form of:

    { # SyncReplicationRequest syncs the replication from source to destination.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }