/// <summary> /// Updates an existing resource. /// </summary> /// <param name="parameters">The update parameters</param> /// <returns>The updated resource</returns> public virtual PSResource UpdatePSResource(UpdatePSResourceParameters parameters) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); ResourceGetResult getResource; try { getResource = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); } catch (CloudException) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } string newProperty = SerializeHashtable(parameters.PropertyObject, addValueLayer: false); Dictionary <string, string> tagDictionary = TagsConversionHelper.CreateTagDictionary(parameters.Tag, validate: true); ResourceManagementClient.Resources.CreateOrUpdate(parameters.ResourceGroupName, resourceIdentity, new BasicResource { Location = getResource.Resource.Location, Properties = newProperty, Tags = tagDictionary }); ResourceGetResult getResult = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); return(getResult.Resource.ToPSResource(this, false)); }
/// <summary> /// Updates an existing resource. /// </summary> /// <param name="parameters">The update parameters</param> /// <returns>The updated resource</returns> public virtual PSResource UpdatePSResource(UpdatePSResourceParameters parameters) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); ResourceGetResult getResource; try { getResource = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); } catch (CloudException) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } string newProperty = SerializeHashtable(parameters.PropertyObject, addValueLayer: false); ResourceManagementClient.Resources.CreateOrUpdate(parameters.ResourceGroupName, resourceIdentity, new ResourceCreateOrUpdateParameters { Resource = new BasicResource { Location = getResource.Resource.Location, Properties = newProperty } }); ResourceGetResult getResult = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); return(getResult.Resource.ToPSResource(this)); }
/// <summary> /// Updates an existing resource. /// </summary> /// <param name="parameters">The update parameters</param> /// <returns>The updated resource</returns> public virtual PSResource UpdatePSResource(UpdatePSResourceParameters parameters) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); ResourceGetResult getResource; try { getResource = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); } catch (CloudException) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } string newProperty = SerializeHashtable(parameters.PropertyObject, addValueLayer: false); Dictionary<string, string> tagDictionary = TagsConversionHelper.CreateTagDictionary(parameters.Tag, validate: true); ResourceManagementClient.Resources.CreateOrUpdate(parameters.ResourceGroupName, resourceIdentity, new BasicResource { Location = getResource.Resource.Location, Properties = newProperty, Tags = tagDictionary }); ResourceGetResult getResult = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); return getResult.Resource.ToPSResource(this); }