public override void ExecuteCmdlet() { if (this.ParameterSetName.Equals(ParameterSetNames.ResourceIdParameterSet, StringComparison.OrdinalIgnoreCase)) { var parsedResourceId = new ResourceIdentifier(this.ResourceId); this.ResourceGroupName = parsedResourceId.ResourceGroupName; this.AccountName = parsedResourceId.GetAccountName(); this.ShareSubscriptionName = parsedResourceId.GetShareSubscriptionName(); this.Name = parsedResourceId.GetDataSetMappingName(); } if (this.Name != null) { try { DataSetMapping dataSetMapping = this.DataShareManagementClient.DataSetMappings.Get( this.ResourceGroupName, this.AccountName, this.ShareSubscriptionName, this.Name); this.WriteObject(dataSetMapping.ToPsObject()); } catch (DataShareErrorException ex) when(ex.Response.StatusCode.Equals(HttpStatusCode.NotFound)) { throw new PSArgumentException(string.Format(Resources.ResourceNotFoundMessage, this.Name)); } } else { string nextPageLink = null; List <DataSetMapping> dataSetMappingList = new List <DataSetMapping>(); do { IPage <DataSetMapping> datasetMappings = string.IsNullOrEmpty(nextPageLink) ? this.DataShareManagementClient.DataSetMappings.ListByShareSubscription(this.ResourceGroupName, this.AccountName, this.ShareSubscriptionName) : this.DataShareManagementClient.DataSetMappings.ListByShareSubscriptionNext(nextPageLink); dataSetMappingList.AddRange(datasetMappings.AsEnumerable()); nextPageLink = datasetMappings.NextPageLink; } while (nextPageLink != null); IEnumerable <PSDataShareDataSetMapping> datasetsInShareSubscription = dataSetMappingList.Select(dataSetMapping => dataSetMapping.ToPsObject()); this.WriteObject(datasetsInShareSubscription, true); } }
public override void ExecuteCmdlet() { string resourceId = null; if (this.ParameterSetName.Equals( ParameterSetNames.ResourceIdParameterSet, StringComparison.OrdinalIgnoreCase)) { resourceId = this.ResourceId; } if (this.ParameterSetName.Equals(ParameterSetNames.ObjectParameterSet, StringComparison.OrdinalIgnoreCase)) { resourceId = this.InputObject.Id; } if (!string.IsNullOrEmpty(resourceId)) { var parseResourceId = new ResourceIdentifier(resourceId); this.ResourceGroupName = parseResourceId.ResourceGroupName; this.AccountName = parseResourceId.GetAccountName(); this.ShareSubscriptionName = parseResourceId.GetShareSubscriptionName(); this.Name = parseResourceId.GetDataSetMappingName(); } this.ConfirmAction( string.Format(Resources.ResourceRemovalConfirmation, this.Name), this.Name, () => this.DataShareManagementClient.DataSetMappings.Delete( this.ResourceGroupName, this.AccountName, this.ShareSubscriptionName, this.Name)); if (this.PassThru) { this.WriteObject(true); } }