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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }