public List <CrrModel.JobResource> GetCrrJobs(string vaultId, string jobId, string status, string operation, DateTime startTime, DateTime endTime, string backupManagementType, string azureRegion = null) { ODataQuery <CrrModel.JobQueryObject> queryFilter = GetQueryObjectCrr( backupManagementType, startTime, endTime, jobId, status, operation); CrrModel.CrrJobRequest crrJobRequest = new CrrModel.CrrJobRequest(); crrJobRequest.ResourceId = vaultId; Func <RestAzureNS.IPage <CrrModel.JobResource> > listAsync = () => CrrAdapter.Client.BackupCrrJobs.ListWithHttpMessagesAsync(azureRegion, crrJobRequest, queryFilter, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; Func <string, RestAzureNS.IPage <CrrModel.JobResource> > listNextAsync = nextLink => CrrAdapter.Client.BackupCrrJobs.ListNextWithHttpMessagesAsync( nextLink, cancellationToken: BmsAdapter.CmdletCancellationToken).Result.Body; return(HelperUtils.GetPagedListCrr(listAsync, listNextAsync)); }
/// <summary> /// Gets CRR job details /// </summary> /// <param name="secondaryRegion">secondaryRegion for the vault </param> /// <param name="jobRequest">JobId, ResourceId for the Job to be fetched </param> /// <returns>Job response returned by the service</returns> public CrrModel.JobResource GetCRRJobDetails( string secondaryRegion, CrrModel.CrrJobRequest jobRequest ) { return(CrrAdapter.Client.BackupCrrJobDetails.GetWithHttpMessagesAsync(secondaryRegion, jobRequest).Result.Body); }
/// <summary> /// Get the job PS model after fetching the job object from the service given the job ID. /// </summary> /// <param name="jobId">ID of the job to be fetched</param> /// <returns></returns> public CmdletModel.JobBase GetCrrJobObject(string secondaryRegion, string vaultId, string jobId) { CrrModel.CrrJobRequest jobRequest = new CrrModel.CrrJobRequest(); jobRequest.JobName = jobId; jobRequest.ResourceId = vaultId; JobBase job = JobConversions.GetPSJobCrr(ServiceClientAdapter.GetCRRJobDetails( secondaryRegion, jobRequest)); return(job); }
public override void ExecuteCmdlet() { ExecutionBlock(() => { base.ExecuteCmdlet(); ResourceIdentifier resourceIdentifier = new ResourceIdentifier(VaultId); string vaultName = resourceIdentifier.ResourceName; string resourceGroupName = resourceIdentifier.ResourceGroupName; if (ParameterSetName == JobFilterSet) { JobId = Job.JobId; } WriteDebug("Fetching job with ID: " + JobId); if (UseSecondaryRegion.IsPresent) { CrrModel.CrrJobRequest jobRequest = new CrrModel.CrrJobRequest(); jobRequest.JobName = JobId; jobRequest.ResourceId = VaultId; // check this GetVault for rainy day scenario ARSVault vault = ServiceClientAdapter.GetVault(resourceGroupName, vaultName); string secondaryRegion = BackupUtils.regionMap[vault.Location]; CrrModel.JobResource jobDetailsCrr = ServiceClientAdapter.GetCRRJobDetails(secondaryRegion, jobRequest); WriteObject(JobConversions.GetPSJobCrr(jobDetailsCrr)); } else { JobResource jobDetails = ServiceClientAdapter.GetJob( JobId, vaultName: vaultName, resourceGroupName: resourceGroupName); WriteObject(JobConversions.GetPSJob(jobDetails)); } }); }
/// <summary> /// Initializes a new instance of the CrrJobRequestResource class. /// </summary> /// <param name="id">Resource Id represents the complete path to the /// resource.</param> /// <param name="name">Resource name associated with the /// resource.</param> /// <param name="type">Resource type represents the complete path of /// the form Namespace/ResourceType/ResourceType/...</param> /// <param name="location">Resource location.</param> /// <param name="tags">Resource tags.</param> /// <param name="eTag">Optional ETag.</param> /// <param name="properties">CrrJobRequestResource properties</param> public CrrJobRequestResource(string id = default(string), string name = default(string), string type = default(string), string location = default(string), IDictionary <string, string> tags = default(IDictionary <string, string>), string eTag = default(string), CrrJobRequest properties = default(CrrJobRequest)) : base(id, name, type, location, tags, eTag) { Properties = properties; CustomInit(); }