'Provides the status of the asynchronous operations like backup,
restore. The status can be in progress, completed or failed. You can
refer to the Operation Status enum for all the possible states of an
operation. Some operations create jobs. This method returns the list of
jobs associated with operation.
:param vault_name: The name of the recovery services vault.
:type vault_name: str
:param resource_group_name: The name of the resource group where the
recovery services vault is present.
:type resource_group_name: str
:param policy_name: Backup policy name whose operation\'s status needs
to be fetched.
:type policy_name: str
:param operation_id: Operation ID which represents an operation whose
status needs to be fetched.
:type operation_id: str
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:param operation_config: :ref:`Operation configuration
overrides<msrest:optionsforoperations>`.
:return: :class:`OperationStatus
<azure.mgmt.recoveryservicesbackup.models.OperationStatus>` or
:class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>` if
raw=true
:rtype: :class:`OperationStatus
<azure.mgmt.recoveryservicesbackup.models.OperationStatus>` or
:class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
:raises: :class:`CloudError<msrestazure.azure_exceptions.CloudError>`'

def get(self, vault_name, resource_group_name, policy_name, operation_id, custom_headers=None, raw=False, **operation_config):

    url = '/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operations/{operationId}'
    path_format_arguments = {'vaultName': self._serialize.url('vault_name', vault_name, 'str'), 'resourceGroupName': self._serialize.url('resource_group_name', resource_group_name, 'str'), 'subscriptionId': self._serialize.url('self.config.subscription_id', self.config.subscription_id, 'str'), 'policyName': self._serialize.url('policy_name', policy_name, 'str'), 'operationId': self._serialize.url('operation_id', operation_id, 'str')}
    url = self._client.format_url(url, **path_format_arguments)
    query_parameters = {}
    query_parameters['api-version'] = self._serialize.query('self.api_version', self.api_version, 'str')
    header_parameters = {}
    header_parameters['Content-Type'] = 'application/json;    charset=utf-8'
    if self.config.generate_client_request_id:
        header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
    if custom_headers:
        header_parameters.update(custom_headers)
    if (self.config.accept_language is not None):
        header_parameters['accept-language'] = self._serialize.header('self.config.accept_language', self.config.accept_language, 'str')
    request = self._client.get(url, query_parameters)
    response = self._client.send(request, header_parameters, **operation_config)
    if (response.status_code not in [200]):
        exp = CloudError(response)
        exp.request_id = response.headers.get('x-ms-request-id')
        raise exp
    deserialized = None
    if (response.status_code == 200):
        deserialized = self._deserialize('OperationStatus', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized
