private PSResourceModel CreateResourceModel() { return(new PSResourceModel(SharesOperationsExtensions.CreateOrUpdate( DataBoxEdgeManagementClient.Shares, this.DeviceName, this.Name, _share, this.ResourceGroupName))); }
public override void ExecuteCmdlet() { if (this.IsParameterBound(c => c.InputObject)) { this.DeviceName = this.InputObject.DeviceName; this.Name = this.InputObject.Name; this.ResourceGroupName = this.InputObject.ResourceGroupName; } if (this.IsParameterBound(c => c.ResourceId)) { var resource = new DataBoxEdgeResourceIdentifier(this.ResourceId); this.DeviceName = resource.DeviceName; this.ResourceGroupName = resource.ResourceGroupName; this.Name = resource.Name; } var share = this.GetResourceModel(); if (this.IsParameterBound(c => c.ClientAccessRight)) { share.ClientAccessRights = new List <ClientAccessRight>(); foreach (var clientAccessRight in this.ClientAccessRight) { var accessRightPolicy = HashtableToDictionary <string, string>(clientAccessRight); share.ClientAccessRights.Add( new ClientAccessRight( accessRightPolicy.GetOrNull("ClientId"), accessRightPolicy.GetOrNull("AccessRight") ) ); } } if (this.IsParameterBound(c => c.UserAccessRight)) { share.UserAccessRights = new List <UserAccessRight>(); foreach (var userAccessRight in this.UserAccessRight) { var accessRightPolicy = HashtableToDictionary <string, string>(userAccessRight); share.UserAccessRights.Add( new UserAccessRight( GetUserId(accessRightPolicy.GetOrNull("Username")), accessRightPolicy.GetOrNull("AccessRight") )); } } if (this.ShouldProcess(this.Name, string.Format("Updating '{0}' in device '{1}' with name '{2}'.", HelpMessageShare.ObjectName, this.DeviceName, this.Name))) { share = SharesOperationsExtensions.CreateOrUpdate( DataBoxEdgeManagementClient.Shares, this.DeviceName, this.Name, share, this.ResourceGroupName); var results = new List <PSResourceModel>() { new PSResourceModel(share) }; WriteObject(results, true); } }