public override void ExecuteCmdlet() { var name = Name; var assessedResourceId = AssessedResourceId; switch (ParameterSetName) { case ParameterSetNames.SubscriptionLevelResource: case ParameterSetNames.ResourceIdLevelResource: break; case ParameterSetNames.ResourceId: name = AzureIdUtilities.GetResourceName(ResourceId); assessedResourceId = AzureIdUtilities.GetExtendedResourceId(ResourceId); break; case ParameterSetNames.InputObject: name = InputObject.Name; assessedResourceId = AzureIdUtilities.GetExtendedResourceId(InputObject.Id); break; default: throw new PSInvalidOperationException(); } if (ShouldProcess(name, VerbsCommon.Remove)) { SecurityCenterClient.Assessments.DeleteWithHttpMessagesAsync(assessedResourceId ?? $"/subscriptions/{DefaultContext.Subscription.Id}", name).GetAwaiter().GetResult(); } if (PassThru.IsPresent) { WriteObject(true); } }
public override void ExecuteCmdlet() { switch (ParameterSetName) { case ParameterSetNames.SubscriptionScope: int fetchedItems = 0; string nextLink = null; var assessments = SecurityCenterClient.SubAssessments.ListAllWithHttpMessagesAsync(AssessedResourceId ?? $"subscriptions/{DefaultContext.Subscription.Id}").GetAwaiter().GetResult().Body; var psAssessments = assessments.ConvertToPSType(); WriteObject(psAssessments, enumerateCollection: true); fetchedItems += psAssessments.Count; nextLink = assessments?.NextPageLink; while (!string.IsNullOrWhiteSpace(nextLink) && fetchedItems < MaxItemsToFetch) { assessments = SecurityCenterClient.SubAssessments.ListAllNextWithHttpMessagesAsync(nextLink).GetAwaiter().GetResult().Body; psAssessments = assessments.ConvertToPSType(); WriteObject(psAssessments, enumerateCollection: true); fetchedItems += psAssessments.Count; nextLink = assessments?.NextPageLink; } break; case ParameterSetNames.ResourceIdScope: fetchedItems = 0; nextLink = null; assessments = SecurityCenterClient.SubAssessments.ListWithHttpMessagesAsync(AssessedResourceId ?? $"subscriptions/{DefaultContext.Subscription.Id}", AssessmentName).GetAwaiter().GetResult().Body; psAssessments = assessments.ConvertToPSType(); WriteObject(psAssessments, enumerateCollection: true); fetchedItems += psAssessments.Count; nextLink = assessments?.NextPageLink; while (!string.IsNullOrWhiteSpace(nextLink) && fetchedItems < MaxItemsToFetch) { assessments = SecurityCenterClient.SubAssessments.ListNextWithHttpMessagesAsync(nextLink).GetAwaiter().GetResult().Body; psAssessments = assessments.ConvertToPSType(); WriteObject(psAssessments, enumerateCollection: true); fetchedItems += psAssessments.Count; nextLink = assessments?.NextPageLink; } break; case ParameterSetNames.SubscriptionLevelResource: case ParameterSetNames.ResourceIdLevelResource: var assessment = SecurityCenterClient.SubAssessments.GetWithHttpMessagesAsync(AssessedResourceId ?? $"subscriptions/{DefaultContext.Subscription.Id}", AssessmentName, Name).GetAwaiter().GetResult().Body; WriteObject(assessment.ConvertToPSType(), enumerateCollection: false); break; case ParameterSetNames.ResourceId: assessment = SecurityCenterClient.SubAssessments.GetWithHttpMessagesAsync(AzureIdUtilities.GetExtendedResourceId(ResourceId), AzureIdUtilities.GetAssessmentResourceName(ResourceId), AzureIdUtilities.GetResourceName(ResourceId)).GetAwaiter().GetResult().Body; WriteObject(assessment.ConvertToPSType(), enumerateCollection: false); break; default: throw new PSInvalidOperationException(); } }