private void TriggerInquiry(string vaultName, string vaultResourceGroupName, string storageContainerName) { ODataQuery <BMSContainersInquiryQueryObject> queryParams = new ODataQuery <BMSContainersInquiryQueryObject>( q => q.WorkloadType == ServiceClientModel.WorkloadType.AzureFileShare); string errorMessage = string.Empty; var inquiryResponse = ServiceClientAdapter.InquireContainer( storageContainerName, queryParams, vaultName, vaultResourceGroupName); var operationStatus = TrackingHelpers.GetOperationResult( inquiryResponse, operationId => ServiceClientAdapter.GetContainerRefreshOrInquiryOperationResult( operationId, vaultName: vaultName, resourceGroupName: vaultResourceGroupName)); //Now wait for the operation to Complete if (inquiryResponse.Response.StatusCode != SystemNet.HttpStatusCode.NoContent) { errorMessage = string.Format(Resources.TriggerEnquiryFailureErrorCode, inquiryResponse.Response.StatusCode); Logger.Instance.WriteDebug(errorMessage); } }
public override void ExecuteCmdlet() { ExecutionBlock(() => { base.ExecuteCmdlet(); ResourceIdentifier resourceIdentifier = new ResourceIdentifier(VaultId); string vaultName = resourceIdentifier.ResourceName; string vaultResourceGroupName = resourceIdentifier.ResourceGroupName; string workloadType = ConversionUtils.GetServiceClientWorkloadType(WorkloadType.ToString()); string backupManagementType = Container.BackupManagementType.ToString(); ODataQuery <BMSContainersInquiryQueryObject> queryParams = new ODataQuery <BMSContainersInquiryQueryObject>( q => q.WorkloadType == workloadType && q.BackupManagementType == backupManagementType); string errorMessage = string.Empty; var inquiryResponse = ServiceClientAdapter.InquireContainer( Container.Name, queryParams, vaultName, vaultResourceGroupName); var operationStatus = TrackingHelpers.GetOperationResult( inquiryResponse, operationId => ServiceClientAdapter.GetContainerRefreshOrInquiryOperationResult( operationId, vaultName: vaultName, resourceGroupName: vaultResourceGroupName)); if (inquiryResponse.Response.StatusCode == SystemNet.HttpStatusCode.OK) { Logger.Instance.WriteDebug(errorMessage); } //Now wait for the operation to Complete if (inquiryResponse.Response.StatusCode != SystemNet.HttpStatusCode.NoContent) { errorMessage = string.Format(Resources.TriggerEnquiryFailureErrorCode, inquiryResponse.Response.StatusCode); Logger.Instance.WriteDebug(errorMessage); } if (PassThru.IsPresent) { WriteObject(Container); } }, ShouldProcess(Container.Name, VerbsLifecycle.Invoke)); }
public override void ExecuteCmdlet() { ExecutionBlock(() => { base.ExecuteCmdlet(); ResourceIdentifier resourceIdentifier = new ResourceIdentifier(VaultId); string vaultName = resourceIdentifier.ResourceName; string resourceGroupName = resourceIdentifier.ResourceGroupName; if (!((Container.ContainerType == ContainerType.Windows && Container.BackupManagementType == BackupManagementType.MAB) || (Container.ContainerType == ContainerType.AzureSQL && Container.BackupManagementType == BackupManagementType.AzureSQL) || (Container.ContainerType == ContainerType.AzureStorage && Container.BackupManagementType == BackupManagementType.AzureStorage) || (Container.ContainerType == ContainerType.AzureVMAppContainer && Container.BackupManagementType == BackupManagementType.AzureWorkload))) { throw new ArgumentException(string.Format(Resources.UnsupportedContainerException, Container.ContainerType, Container.BackupManagementType)); } bool yesToAll = Force.IsPresent; bool noToAll = false; if (ShouldContinue(Resources.DeleteContainerRegistration, Resources.UnregisterContainer, ref yesToAll, ref noToAll)) { string containerName = Container.Name; if (Container.ContainerType == ContainerType.AzureSQL) { containerName = ContainerConstansts.SqlContainerNamePrefix + containerName; } if (Container.ContainerType == ContainerType.AzureVMAppContainer || Container.ContainerType == ContainerType.AzureStorage) { if (Container.ContainerType == ContainerType.AzureStorage) { containerName = "StorageContainer;" + containerName; } var unRegisterResponse = ServiceClientAdapter.UnregisterWorkloadContainers( containerName, vaultName: vaultName, resourceGroupName: resourceGroupName); var operationStatus = TrackingHelpers.GetOperationResult( unRegisterResponse, operationId => ServiceClientAdapter.GetContainerRefreshOrInquiryOperationResult( operationId, vaultName: vaultName, resourceGroupName: resourceGroupName)); //Now wait for the operation to Complete if (unRegisterResponse.Response.StatusCode != SystemNet.HttpStatusCode.NoContent) { string errorMessage = string.Format(Resources.UnRegisterFailureErrorCode, unRegisterResponse.Response.StatusCode); Logger.Instance.WriteDebug(errorMessage); } } else { ServiceClientAdapter.UnregisterContainers( containerName, vaultName: vaultName, resourceGroupName: resourceGroupName); } if (PassThru.IsPresent) { WriteObject(Container); } } }, ShouldProcess(Container.Name, VerbsLifecycle.Unregister)); }