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(); } string nextPageLink = null; List <ShareSynchronization> shareSynchronizationsList = new List <ShareSynchronization>(); do { IPage <ShareSynchronization> shareSynchronizations = string.IsNullOrEmpty(nextPageLink) ? this.DataShareManagementClient.Shares.ListSynchronizations(this.ResourceGroupName, this.AccountName, this.ShareName) : this.DataShareManagementClient.Shares.ListSynchronizationsNext(nextPageLink); shareSynchronizationsList.AddRange(shareSynchronizations.AsEnumerable()); nextPageLink = shareSynchronizations.NextPageLink; } while (nextPageLink != null); IEnumerable <PSDataShareSynchronization> synchronizationsInShare = shareSynchronizationsList.Select(shareSynchronization => shareSynchronization.ToPsObject()); this.WriteObject(synchronizationsInShare, 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)) { if (this.Name == null) { throw new PSArgumentNullException( string.Format(CultureInfo.InvariantCulture, Resources.ResourceArgumentInvalid)); } resourceId = this.InputObject.Id; } if (!string.IsNullOrEmpty(resourceId)) { var parseResourceId = new ResourceIdentifier(resourceId); this.ResourceGroupName = parseResourceId.ResourceGroupName; this.AccountName = parseResourceId.GetAccountName(); this.Name = parseResourceId.GetShareName(); } Share existingShare = null; try { existingShare = this.DataShareManagementClient.Shares.Get( this.ResourceGroupName, this.AccountName, this.Name); } catch (DataShareErrorException ex) when(ex.Response.StatusCode.Equals(HttpStatusCode.NotFound)) { throw new PSArgumentException(string.Format(Resources.ResourceNotFoundMessage, this.Name)); } if (this.Description != null || this.TermsOfUse != null) { this.ConfirmAction( Resources.ResourceUpdataConfirmation, this.Name, () => this.UpdateShare(existingShare)); } else { this.WriteObject(existingShare.ToPsObject()); } }
public override void ExecuteCmdlet() { if (this.ParameterSetName.Equals(ParameterSetNames.ProviderShareSubscriptionIdParameterSet)) { var parsedResourceId = new ResourceIdentifier(this.ResourceId); this.AccountName = parsedResourceId.GetAccountName(); this.ResourceGroupName = parsedResourceId.ResourceGroupName; this.ShareName = parsedResourceId.GetShareName(); } if (this.ShareSubscriptionId != null) { try { ProviderShareSubscription providerShareSubscription = this.DataShareManagementClient.ProviderShareSubscriptions.GetByShare( this.ResourceGroupName, this.AccountName, this.ShareName, this.ShareSubscriptionId); this.WriteObject(providerShareSubscription.ToPsObject()); } catch (DataShareErrorException ex) when(ex.Response.StatusCode.Equals(HttpStatusCode.NotFound)) { throw new PSArgumentException(string.Format(Resources.ResourceNotFoundMessage, this.ShareSubscriptionId)); } } else { string nextPageLink = null; List <ProviderShareSubscription> providerShareSubscriptionList = new List <ProviderShareSubscription>(); do { IPage <ProviderShareSubscription> providerShareSubscriptionPage = string.IsNullOrEmpty(nextPageLink) ? this.DataShareManagementClient.ProviderShareSubscriptions.ListByShare( this.ResourceGroupName, this.AccountName, this.ShareName) : this.DataShareManagementClient.ProviderShareSubscriptions.ListByShareNext( nextPageLink); providerShareSubscriptionList.AddRange(providerShareSubscriptionPage.AsEnumerable()); nextPageLink = providerShareSubscriptionPage.NextPageLink; } while (nextPageLink != null); IEnumerable <PSDataShareProviderShareSubscription> providerShareSubscriptions = providerShareSubscriptionList.Select( providerShareSubscription => providerShareSubscription.ToPsObject()); this.WriteObject(providerShareSubscriptions.ToArray(), true); } }
public override void ExecuteCmdlet() { if (this.ParameterSetName.Equals( ParameterSetNames.ResourceIdParameterSet, StringComparison.OrdinalIgnoreCase)) { var resourceId = new ResourceIdentifier(this.ResourceId); this.ResourceGroupName = resourceId.ResourceGroupName; this.AccountName = resourceId.GetAccountName(); this.ShareName = resourceId.GetShareName(); this.Name = resourceId.GetSynchronizationSettingName(); } if (this.Name == null) { var settingsPage = this.DataShareManagementClient.SynchronizationSettings.ListByShare( this.ResourceGroupName, accountName: this.AccountName, shareName: this.ShareName); this.WriteObject( settingsPage.AsEnumerable().Select( syncSettings => (syncSettings as ScheduledSynchronizationSetting).ToPsObject()), true); while (settingsPage.NextPageLink != null) { settingsPage = this.DataShareManagementClient.SynchronizationSettings.ListByShareNext( settingsPage.NextPageLink); this.WriteObject( settingsPage.AsEnumerable().Select( syncSettings => (syncSettings as ScheduledSynchronizationSetting).ToPsObject()), true); } } else { try { var setting = this.DataShareManagementClient.SynchronizationSettings.Get( resourceGroupName: this.ResourceGroupName, accountName: this.AccountName, shareName: this.ShareName, synchronizationSettingName: this.Name) as ScheduledSynchronizationSetting; this.WriteObject(setting.ToPsObject()); } catch (DataShareErrorException exception) when(exception.Response.StatusCode.Equals( HttpStatusCode.NotFound)) { throw new PSArgumentException(string.Format(Resources.ResourceNotFoundMessage, this.Name)); } } }
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.Name = parsedResourceId.GetShareName(); } if (this.AccountName != null && this.ResourceGroupName != null) { if (this.Name != null) { try { Share share = this.DataShareManagementClient.Shares.Get( this.ResourceGroupName, this.AccountName, this.Name); this.WriteObject(share.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 <Share> shareList = new List <Share>(); do { IPage <Share> shares = string.IsNullOrEmpty(nextPageLink) ? this.DataShareManagementClient.Shares.ListByAccount(this.ResourceGroupName, this.AccountName) : this.DataShareManagementClient.Shares.ListByAccountNext(nextPageLink); shareList.AddRange(shares.AsEnumerable()); nextPageLink = shares.NextPageLink; } while (nextPageLink != null); IEnumerable <PSDataShare> sharesInAccount = shareList.Select(share => share.ToPsObject()); this.WriteObject(sharesInAccount, true); } } }
public override void ExecuteCmdlet() { string resourceId = null; if (ParameterSetNames.ResourceIdParameterSet.Equals( this.ParameterSetName, StringComparison.OrdinalIgnoreCase)) { resourceId = this.ResourceId; } if (ParameterSetNames.ObjectParameterSet.Equals(this.ParameterSetName, StringComparison.OrdinalIgnoreCase)) { resourceId = this.InputObject.Id; } if (!string.IsNullOrEmpty(resourceId)) { var parsedResourceIdentifier = new ResourceIdentifier(resourceId); this.ResourceGroupName = parsedResourceIdentifier.ResourceGroupName; this.AccountName = parsedResourceIdentifier.GetAccountName(); this.ShareName = parsedResourceIdentifier.GetShareName(); this.Name = parsedResourceIdentifier.GetSynchronizationSettingName(); } var func = (Func <string, string, string, string, OperationResponse>) this.DataShareManagementClient .SynchronizationSettings.Delete; void Action() => func(this.ResourceGroupName, this.AccountName, this.ShareName, this.Name); this.ConfirmAction( string.Format(Resources.ResourceRemovalConfirmation, this.Name), this.Name, Action); if (this.PassThru) { this.WriteObject(true); } }
public override void ExecuteCmdlet() { if (this.ShouldProcess(this.ShareSubscriptionId, Resources.RevokeShareSubscriptionAccess)) { if (this.ParameterSetName.Equals(ParameterSetNames.ProviderShareSubscriptionIdParameterSet)) { var parsedResourceId = new ResourceIdentifier(this.ResourceId); this.AccountName = parsedResourceId.GetAccountName(); this.ResourceGroupName = parsedResourceId.ResourceGroupName; this.ShareName = parsedResourceId.GetShareName(); } ProviderShareSubscription providerShareSubscription = this.DataShareManagementClient.ProviderShareSubscriptions.Revoke( resourceGroupName: this.ResourceGroupName, accountName: this.AccountName, shareName: this.ShareName, providerShareSubscriptionId: this.ShareSubscriptionId); this.WriteObject(providerShareSubscription.ToPsObject()); } }
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.GetShareName(); } this.ConfirmAction( string.Format(Resources.ResourceRemovalConfirmation, this.Name), this.Name, () => this.DataShareManagementClient.Shares.Delete( this.ResourceGroupName, this.AccountName, this.Name)); if (this.PassThru) { this.WriteObject(true); } }