private void CreateAfdProfile() { try { Sku afdSku = AfdUtilities.GenerateAfdProfileSku(this.Sku); if (afdSku == null) { throw new PSArgumentException($"{this.Sku} is not a valid SKU. Please use {AfdSkuConstants.PremiumAzureFrontDoor} or {AfdSkuConstants.StandardAzureFrontDoor}."); } Management.Cdn.Models.Profile afdProfile = new Management.Cdn.Models.Profile { Location = AfdResourceConstants.AfdResourceLocation, Sku = afdSku, Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, true) }; PSAfdProfile psAfdProfile = this.CdnManagementClient.Profiles.Create(this.ResourceGroupName, this.ProfileName, afdProfile).ToPSAfdProfile(); WriteObject(psAfdProfile); } catch (AfdErrorResponseException errorResponseException) { throw new PSArgumentException(errorResponseException.Response.Content); } }
public static bool IsAfdProfile(PSAfdProfile psAfdProfile) { if (psAfdProfile.Sku == AfdSkuConstants.PremiumAzureFrontDoor || psAfdProfile.Sku == AfdSkuConstants.StandardAzureFrontDoor) { return(true); } return(false); }
private void ResourceIdParameterSetCmdlet() { ResourceIdentifier parsedAfdProfileResourceId = new ResourceIdentifier(this.ResourceId); this.ProfileName = parsedAfdProfileResourceId.ResourceName; this.ResourceGroupName = parsedAfdProfileResourceId.ResourceGroupName; PSAfdProfile psAfdProfile = CdnManagementClient.Profiles.Get(this.ResourceGroupName, this.ProfileName).ToPSAfdProfile(); WriteObject(psAfdProfile); }
private void UpdateAfdProfile() { PSAfdProfile profile = CdnManagementClient.Profiles.Get(this.ResourceGroupName, this.ProfileName).ToPSAfdProfile(); if (!AfdUtilities.IsAfdProfile(profile)) { throw new PSArgumentException($"You are attempting to update a {profile.Sku} profile. Please use Set-AzCdnProfile instead."); } Dictionary <string, string> afdProfileTags = TagsConversionHelper.CreateTagDictionary(this.Tags, true); PSAfdProfile psAfdProfile = this.CdnManagementClient.Profiles.Update(this.ResourceGroupName, this.ProfileName, afdProfileTags).ToPSAfdProfile(); WriteObject(psAfdProfile); }
private void FieldsParameterSetCmdlet() { if (AfdUtilities.IsValuePresent(this.ResourceGroupName) && AfdUtilities.IsValuePresent(this.ProfileName)) { PSAfdProfile psAfdProfile = CdnManagementClient.Profiles.Get(this.ResourceGroupName, this.ProfileName).ToPSAfdProfile(); WriteObject(psAfdProfile); } else if (AfdUtilities.IsValuePresent(this.ResourceGroupName) && this.ProfileName == null) { List <PSAfdProfile> psAfdProfiles = CdnManagementClient.Profiles.ListByResourceGroup(this.ResourceGroupName) .Where(afdProfile => (afdProfile.Sku.Name == AfdSkuConstants.PremiumAzureFrontDoor || afdProfile.Sku.Name == AfdSkuConstants.StandardAzureFrontDoor)) .Select(afdProfile => afdProfile.ToPSAfdProfile()) .ToList(); WriteObject(psAfdProfiles); } else if (this.ResourceGroupName == null && AfdUtilities.IsValuePresent(this.ProfileName)) { // not all profiles are delivered by the payload, limitation somewhere in the RP? List <PSAfdProfile> psAfdProfiles = CdnManagementClient.Profiles.List() .Where(afdProfile => afdProfile.Name == this.ProfileName) .Select(afdProfile => afdProfile.ToPSAfdProfile()) .ToList(); PSAfdProfile psAfdProfile = psAfdProfiles.Count > 0 ? psAfdProfiles.First() : null; WriteObject(psAfdProfile); } else { // both resource group and profile name are null // show all profiles in the subscription // not all profiles are delivered by the payload, limitation somewhere in the RP? List <PSAfdProfile> psAfdProfiles = CdnManagementClient.Profiles.List() .Where(afdProfile => (afdProfile.Sku.Name == AfdSkuConstants.PremiumAzureFrontDoor || afdProfile.Sku.Name == AfdSkuConstants.StandardAzureFrontDoor)) .Select(afdProfile => afdProfile.ToPSAfdProfile()) .ToList(); WriteObject(psAfdProfiles); } }
private void DeleteAfdProfile() { try { PSAfdProfile profile = this.CdnManagementClient.Profiles.Get(this.ResourceGroupName, this.ProfileName).ToPSAfdProfile(); if (!AfdUtilities.IsAfdProfile(profile)) { throw new PSArgumentException($"You are attempting to delete a {profile.Sku} profile. Please use Remove-AzCdnProfile instead."); } this.CdnManagementClient.Profiles.Delete(this.ResourceGroupName, this.ProfileName); } catch (Microsoft.Azure.Management.Cdn.Models.AfdErrorResponseException errorResponseException) { throw new PSArgumentException(errorResponseException.Response.Content); } if (this.PassThru.IsPresent) { WriteObject(true); } }