listCopyJobs method

Future<ListCopyJobsOutput> listCopyJobs({
  1. String? byAccountId,
  2. DateTime? byCompleteAfter,
  3. DateTime? byCompleteBefore,
  4. DateTime? byCreatedAfter,
  5. DateTime? byCreatedBefore,
  6. String? byDestinationVaultArn,
  7. String? byMessageCategory,
  8. String? byParentJobId,
  9. String? byResourceArn,
  10. String? byResourceType,
  11. String? bySourceRecoveryPointArn,
  12. CopyJobState? byState,
  13. int? maxResults,
  14. String? nextToken,
})

Returns metadata about your copy jobs.

May throw InvalidParameterValueException. May throw ServiceUnavailableException.

Parameter byAccountId : The account ID to list the jobs from. Returns only copy jobs associated with the specified account ID.

Parameter byCompleteAfter : Returns only copy jobs completed after a date expressed in Unix format and Coordinated Universal Time (UTC).

Parameter byCompleteBefore : Returns only copy jobs completed before a date expressed in Unix format and Coordinated Universal Time (UTC).

Parameter byCreatedAfter : Returns only copy jobs that were created after the specified date.

Parameter byCreatedBefore : Returns only copy jobs that were created before the specified date.

Parameter byDestinationVaultArn : An Amazon Resource Name (ARN) that uniquely identifies a source backup vault to copy from; for example, arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault.

Parameter byMessageCategory : This is an optional parameter that can be used to filter out jobs with a MessageCategory which matches the value you input.

Example strings may include AccessDenied, SUCCESS, AGGREGATE_ALL, and INVALIDPARAMETERS.

View Monitoring for a list of accepted strings.

The the value ANY returns count of all message categories.

AGGREGATE_ALL aggregates job counts for all message categories and returns the sum.

Parameter byParentJobId : This is a filter to list child (nested) jobs based on parent job ID.

Parameter byResourceArn : Returns only copy jobs that match the specified resource Amazon Resource Name (ARN).

Parameter byResourceType : Returns only backup jobs for the specified resources:

  • Aurora for Amazon Aurora
  • CloudFormation for CloudFormation
  • DocumentDB for Amazon DocumentDB (with MongoDB compatibility)
  • DynamoDB for Amazon DynamoDB
  • EBS for Amazon Elastic Block Store
  • EC2 for Amazon Elastic Compute Cloud
  • EFS for Amazon Elastic File System
  • EKS for Amazon Elastic Kubernetes Service
  • FSx for Amazon FSx
  • Neptune for Amazon Neptune
  • RDS for Amazon Relational Database Service
  • Redshift for Amazon Redshift
  • S3 for Amazon Simple Storage Service (Amazon S3)
  • SAP HANA on Amazon EC2 for SAP HANA databases on Amazon Elastic Compute Cloud instances
  • Storage Gateway for Storage Gateway
  • Timestream for Amazon Timestream
  • VirtualMachine for VMware virtual machines

Parameter bySourceRecoveryPointArn : Filters copy jobs by the specified source recovery point ARN.

Parameter byState : Returns only copy jobs that are in the specified state.

Parameter maxResults : The maximum number of items to be returned.

Parameter nextToken : The next item following a partial list of returned items. For example, if a request is made to return MaxResults number of items, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

Implementation

Future<ListCopyJobsOutput> listCopyJobs({
  String? byAccountId,
  DateTime? byCompleteAfter,
  DateTime? byCompleteBefore,
  DateTime? byCreatedAfter,
  DateTime? byCreatedBefore,
  String? byDestinationVaultArn,
  String? byMessageCategory,
  String? byParentJobId,
  String? byResourceArn,
  String? byResourceType,
  String? bySourceRecoveryPointArn,
  CopyJobState? byState,
  int? maxResults,
  String? nextToken,
}) async {
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    1000,
  );
  final $query = <String, List<String>>{
    if (byAccountId != null) 'accountId': [byAccountId],
    if (byCompleteAfter != null)
      'completeAfter': [_s.iso8601ToJson(byCompleteAfter).toString()],
    if (byCompleteBefore != null)
      'completeBefore': [_s.iso8601ToJson(byCompleteBefore).toString()],
    if (byCreatedAfter != null)
      'createdAfter': [_s.iso8601ToJson(byCreatedAfter).toString()],
    if (byCreatedBefore != null)
      'createdBefore': [_s.iso8601ToJson(byCreatedBefore).toString()],
    if (byDestinationVaultArn != null)
      'destinationVaultArn': [byDestinationVaultArn],
    if (byMessageCategory != null) 'messageCategory': [byMessageCategory],
    if (byParentJobId != null) 'parentJobId': [byParentJobId],
    if (byResourceArn != null) 'resourceArn': [byResourceArn],
    if (byResourceType != null) 'resourceType': [byResourceType],
    if (bySourceRecoveryPointArn != null)
      'sourceRecoveryPointArn': [bySourceRecoveryPointArn],
    if (byState != null) 'state': [byState.value],
    if (maxResults != null) 'maxResults': [maxResults.toString()],
    if (nextToken != null) 'nextToken': [nextToken],
  };
  final response = await _protocol.send(
    payload: null,
    method: 'GET',
    requestUri: '/copy-jobs',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return ListCopyJobsOutput.fromJson(response);
}