'Fetches the status of an operation such as triggering a backup,
restore. The status can be in progress, completed or failed. You can
refer to the OperationStatus enum for all the possible states of the
operation. Some operations create jobs. This method returns the list of
jobs associated with the 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 fabric_name: Fabric name associated with the backup item.
:type fabric_name: str
:param container_name: Container name associated with the backup item.
:type container_name: str
:param protected_item_name: Backup item name whose details are to be
fetched.
:type protected_item_name: str
:param operation_id: OperationID represents the 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, fabric_name, container_name, protected_item_name, operation_id, custom_headers=None, raw=False, **operation_config):

    url = '/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationsStatus/{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'), 'fabricName': self._serialize.url('fabric_name', fabric_name, 'str'), 'containerName': self._serialize.url('container_name', container_name, 'str'), 'protectedItemName': self._serialize.url('protected_item_name', protected_item_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
