コード例 #1
0
        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);
            }
        }
コード例 #2
0
        public static bool IsAfdProfile(PSAfdProfile psAfdProfile)
        {
            if (psAfdProfile.Sku == AfdSkuConstants.PremiumAzureFrontDoor || psAfdProfile.Sku == AfdSkuConstants.StandardAzureFrontDoor)
            {
                return(true);
            }

            return(false);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
        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);
            }
        }