/// <summary> /// Get an existing resource or resources. /// </summary> /// <param name="parameters">The get parameters</param> /// <returns>List of resources</returns> public virtual List <PSResource> FilterPSResources(BasePSResourceParameters parameters) { List <PSResource> resources = new List <PSResource>(); if (!string.IsNullOrEmpty(parameters.Name)) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); GenericResource getResult; try { getResult = ResourceManagementClient.Resources.Get( parameters.ResourceGroupName, resourceIdentity.ResourceProviderNamespace, resourceIdentity.ParentResourcePath, resourceIdentity.ResourceType, resourceIdentity.ResourceName, resourceIdentity.ResourceProviderApiVersion); } catch (CloudException) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } resources.Add(getResult.ToPSResource(this, false)); } else { PSTagValuePair tagValuePair = new PSTagValuePair(); if (parameters.Tag != null && parameters.Tag.Length == 1 && parameters.Tag[0] != null) { tagValuePair = TagsConversionHelper.Create(parameters.Tag[0]); if (tagValuePair == null) { throw new ArgumentException(ProjectResources.InvalidTagFormat); } } var listResult = ResourceManagementClient.Resources.List( new Rest.Azure.OData.ODataQuery <GenericResourceFilter>( ResourceManager.Cmdlets.Components.QueryFilterBuilder.CreateFilter( null, parameters.ResourceGroupName, parameters.ResourceType, null, tagValuePair.Name, tagValuePair.Value, null))); if (listResult != null) { resources.AddRange(listResult.Select(r => r.ToPSResource(this, false))); } } return(resources); }
/// <summary> /// Get an existing resource or resources. /// </summary> /// <param name="parameters">The get parameters</param> /// <returns>List of resources</returns> public virtual List <PSResource> FilterPSResources(BasePSResourceParameters parameters) { List <PSResource> resources = new List <PSResource>(); if (!string.IsNullOrEmpty(parameters.ResourceGroupName)) { if (!ResourceManagementClient.ResourceGroups.CheckExistence(parameters.ResourceGroupName).Exists) { throw new ArgumentException(ProjectResources.ResourceGroupDoesntExists); } } if (!string.IsNullOrEmpty(parameters.Name)) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); ResourceGetResult getResult; try { getResult = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); } catch (CloudException) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } resources.Add(getResult.Resource.ToPSResource(this)); } else { PSTagValuePair tagValuePair = new PSTagValuePair(); if (parameters.Tag != null && parameters.Tag.Length == 1 && parameters.Tag[0] != null) { tagValuePair = TagsConversionHelper.Create(parameters.Tag[0]); if (tagValuePair == null) { throw new ArgumentException(ProjectResources.InvalidTagFormat); } } ResourceListResult listResult = ResourceManagementClient.Resources.List(new ResourceListParameters { ResourceGroupName = parameters.ResourceGroupName, ResourceType = parameters.ResourceType, TagName = tagValuePair.Name, TagValue = tagValuePair.Value }); if (listResult.Resources != null) { resources.AddRange(listResult.Resources.Select(r => r.ToPSResource(this))); } } return(resources); }
/// <summary> /// Deletes a given resource /// </summary> /// <param name="parameters">The resource identification</param> public virtual void DeleteResource(BasePSResourceParameters parameters) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); if (!ResourceManagementClient.Resources.CheckExistence(parameters.ResourceGroupName, resourceIdentity).Exists) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } ResourceManagementClient.Resources.Delete(parameters.ResourceGroupName, resourceIdentity); }
/// <summary> /// Get an existing resource or resources. /// </summary> /// <param name="parameters">The get parameters</param> /// <returns>List of resources</returns> public virtual List<PSResource> FilterPSResources(BasePSResourceParameters parameters) { List<PSResource> resources = new List<PSResource>(); if (!string.IsNullOrEmpty(parameters.Name)) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); ResourceGetResult getResult; try { getResult = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); } catch (CloudException) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } resources.Add(getResult.Resource.ToPSResource(this, false)); } else { PSTagValuePair tagValuePair = new PSTagValuePair(); if (parameters.Tag != null && parameters.Tag.Length == 1 && parameters.Tag[0] != null) { tagValuePair = TagsConversionHelper.Create(parameters.Tag[0]); if (tagValuePair == null) { throw new ArgumentException(ProjectResources.InvalidTagFormat); } } ResourceListResult listResult = ResourceManagementClient.Resources.List(new ResourceListParameters { ResourceGroupName = parameters.ResourceGroupName, ResourceType = parameters.ResourceType, TagName = tagValuePair.Name, TagValue = tagValuePair.Value }); if (listResult.Resources != null) { resources.AddRange(listResult.Resources.Select(r => r.ToPSResource(this, false))); } } return resources; }
/// <summary> /// Get an existing resource or resources. /// </summary> /// <param name="parameters">The get parameters</param> /// <returns>List of resources</returns> public virtual List <PSResource> FilterPSResources(BasePSResourceParameters parameters) { List <PSResource> resources = new List <PSResource>(); if (!string.IsNullOrEmpty(parameters.ResourceGroupName)) { if (!ResourceManagementClient.ResourceGroups.CheckExistence(parameters.ResourceGroupName).Exists) { throw new ArgumentException(ProjectResources.ResourceGroupDoesntExists); } } if (!string.IsNullOrEmpty(parameters.Name)) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); ResourceGetResult getResult; try { getResult = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); } catch (CloudException) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } resources.Add(getResult.Resource.ToPSResource(this)); } else { ResourceListResult listResult = ResourceManagementClient.Resources.List(new ResourceListParameters { ResourceGroupName = parameters.ResourceGroupName, ResourceType = parameters.ResourceType }); if (listResult.Resources != null) { resources.AddRange(listResult.Resources.Select(r => r.ToPSResource(this))); } } return(resources); }
/// <summary> /// Get an existing resource or resources. /// </summary> /// <param name="parameters">The get parameters</param> /// <returns>List of resources</returns> public virtual List<PSResource> FilterPSResources(BasePSResourceParameters parameters) { List<PSResource> resources = new List<PSResource>(); if (!string.IsNullOrEmpty(parameters.ResourceGroupName)) { if (!ResourceManagementClient.ResourceGroups.CheckExistence(parameters.ResourceGroupName).Exists) { throw new ArgumentException(ProjectResources.ResourceGroupDoesntExists); } } if (!string.IsNullOrEmpty(parameters.Name)) { ResourceIdentity resourceIdentity = parameters.ToResourceIdentity(); ResourceGetResult getResult; try { getResult = ResourceManagementClient.Resources.Get(parameters.ResourceGroupName, resourceIdentity); } catch (CloudException) { throw new ArgumentException(ProjectResources.ResourceDoesntExists); } resources.Add(getResult.Resource.ToPSResource(this)); } else { ResourceListResult listResult = ResourceManagementClient.Resources.List(new ResourceListParameters { ResourceGroupName = parameters.ResourceGroupName, ResourceType = parameters.ResourceType }); if (listResult.Resources != null) { resources.AddRange(listResult.Resources.Select(r => r.ToPSResource(this))); } } return resources; }