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();
            }
        }
Beispiel #2
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);
                }
            }
        }