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.ShareName = parsedResourceId.GetShareName(); this.Name = parsedResourceId.GetDataSetName(); } if (this.Name != null) { try { DataSet dataSet = this.DataShareManagementClient.DataSets.Get( this.ResourceGroupName, this.AccountName, this.ShareName, this.Name); this.WriteObject(dataSet.ToPsObject()); } catch (DataShareErrorException ex) when(ex.Response.StatusCode.Equals(HttpStatusCode.NotFound)) { throw new PSArgumentException(string.Format(Resources.ResourceNotFoundMessage, this.Name)); } } else { string nextPageLink = null; var dataSetList = new List <DataSet>(); do { IPage <DataSet> dataSets = string.IsNullOrEmpty(nextPageLink) ? this.DataShareManagementClient.DataSets.ListByShare(this.ResourceGroupName, this.AccountName, this.ShareName) : this.DataShareManagementClient.DataSets.ListByShareNext(nextPageLink); dataSetList.AddRange(dataSets.AsEnumerable()); nextPageLink = dataSets.NextPageLink; } while (nextPageLink != null); IEnumerable <PSDataShareDataSet> datasetsInShare = dataSetList.Select(dataSet => dataSet.ToPsObject()); this.WriteObject(datasetsInShare, 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.ShareName = parseResourceId.GetShareName(); this.Name = parseResourceId.GetDataSetName(); } this.ConfirmAction( string.Format(Resources.ResourceRemovalConfirmation, this.Name), this.Name, () => this.DataShareManagementClient.DataSets.Delete( this.ResourceGroupName, this.AccountName, this.ShareName, this.Name)); if (this.PassThru) { this.WriteObject(true); } }