コード例 #1
0
        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));
        }
コード例 #2
0
 /// <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);
 }
コード例 #3
0
        /// <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));
                }
            });
        }
コード例 #5
0
 /// <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();
 }