private void SetParametersIfNeeded()
        {
            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 (resourceId != null)
            {
                var parsedResourceId = new ResourceIdentifier(resourceId);
                this.ResourceGroupName     = parsedResourceId.ResourceGroupName;
                this.AccountName           = parsedResourceId.GetAccountName();
                this.ShareSubscriptionName = parsedResourceId.GetShareSubscriptionName();
                this.Name = parsedResourceId.GetTriggerName();
            }
        }
        public override void ExecuteCmdlet()
        {
            if (this.ParameterSetName.Equals(
                    ParameterSetNames.ResourceIdParameterSet,
                    StringComparison.OrdinalIgnoreCase))
            {
                var parsedResourceId = new ResourceIdentifier(this.ShareSubscriptionResourceId);
                this.ResourceGroupName     = parsedResourceId.ResourceGroupName;
                this.AccountName           = parsedResourceId.GetAccountName();
                this.ShareSubscriptionName = parsedResourceId.GetShareSubscriptionName();
            }

            string nextPageLink = null;
            var    consumerSourceDataSetList = new List <ConsumerSourceDataSet>();

            do
            {
                IPage <ConsumerSourceDataSet> sourceDataSets = string.IsNullOrEmpty(nextPageLink)
                    ? this.DataShareManagementClient.ConsumerSourceDataSets.ListByShareSubscription(
                    this.ResourceGroupName,
                    this.AccountName,
                    this.ShareSubscriptionName)
                    : this.DataShareManagementClient.ConsumerSourceDataSets.ListByShareSubscriptionNext(
                    nextPageLink);

                consumerSourceDataSetList.AddRange(sourceDataSets.AsEnumerable());
                nextPageLink = sourceDataSets.NextPageLink;
            } while (nextPageLink != null);

            IEnumerable <PSDataShareSourceDataSet> dataSetsInShareSubscription =
                consumerSourceDataSetList.Select(dataSet => dataSet.ToPsObject());

            this.WriteObject(dataSetsInShareSubscription, true);
        }
Пример #3
0
        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();
            }

            try
            {
                string nextPageLink = null;
                List <SynchronizationDetails> shareSubscriptionSynchronizationDetailsList =
                    new List <SynchronizationDetails>();
                do
                {
                    IPage <SynchronizationDetails> shareSubscriptionSynchronizationDetails =
                        string.IsNullOrEmpty(nextPageLink)
                            ? this.DataShareManagementClient.ShareSubscriptions.ListSynchronizationDetails(
                            this.ResourceGroupName,
                            this.AccountName,
                            this.ShareSubscriptionName,
                            new ShareSubscriptionSynchronization()
                    {
                        SynchronizationId = this.SynchronizationId
                    })
                            : this.DataShareManagementClient.ShareSubscriptions
                        .ListSynchronizationDetailsNext(nextPageLink);

                    shareSubscriptionSynchronizationDetailsList.AddRange(
                        shareSubscriptionSynchronizationDetails.AsEnumerable());
                    nextPageLink = shareSubscriptionSynchronizationDetails.NextPageLink;
                } while (nextPageLink != null);

                IEnumerable <PSDataShareSynchronizationDetail> synchronizationDetailsInShareSubscription =
                    shareSubscriptionSynchronizationDetailsList.Select(
                        shareSubscriptionSynchronizationDetails =>
                        shareSubscriptionSynchronizationDetails.ToPsObject());

                this.WriteObject(synchronizationDetailsInShareSubscription, true);
            }
            catch (DataShareErrorException ex) when(ex.Response.StatusCode.Equals(HttpStatusCode.NotFound))
            {
                throw new PSArgumentException(string.Format(Resources.ResourceNotFoundMessage, this.ShareSubscriptionName));
            }
        }
        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);
            }
        }
Пример #5
0
        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.GetTriggerName();
            }

            if (this.Name != null)
            {
                try
                {
                    var trigger = this.DataShareManagementClient.Triggers.Get(
                        resourceGroupName: this.ResourceGroupName,
                        accountName: this.AccountName,
                        shareSubscriptionName: this.ShareSubscriptionName,
                        triggerName: this.Name) as ScheduledTrigger;
                    this.WriteObject(trigger.ToPsObject());
                }
                catch (DataShareErrorException ex) when(ex.Response.StatusCode.Equals(HttpStatusCode.NotFound))
                {
                    throw new PSArgumentException(string.Format(Resources.ResourceNotFoundMessage, this.Name));
                }
            }
            else
            {
                var triggersPage = this.DataShareManagementClient.Triggers.ListByShareSubscription(
                    resourceGroupName: this.ResourceGroupName,
                    accountName: this.AccountName,
                    shareSubscriptionName: this.ShareSubscriptionName);
                this.WriteTriggerPageToConsole(triggersPage);
                while (triggersPage.NextPageLink != null)
                {
                    triggersPage = this.DataShareManagementClient.Triggers.ListByShareSubscriptionNext(triggersPage.NextPageLink);
                    this.WriteTriggerPageToConsole(triggersPage);
                }
            }
        }
        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.Name = parseResourceId.GetShareSubscriptionName();
            }

            this.ConfirmAction(
                string.Format(Resources.ResourceRemovalConfirmation, this.Name),
                this.Name,
                () => this.DataShareManagementClient.ShareSubscriptions.Delete(
                    this.ResourceGroupName,
                    this.AccountName,
                    this.Name));


            if (this.PassThru)
            {
                this.WriteObject(true);
            }
        }