示例#1
0
        public void SetOriginGroup()
        {
            OriginGroupUpdateParameters originGroup = new OriginGroupUpdateParameters();

            if (ParameterSetName == ObjectParameterSet)
            {
                originGroup.Origins = CdnOriginGroup.Origins;
            }
            else
            {
                originGroup.Origins = new List <ResourceReference>();

                // OriginId refers to the list of origin ids, needed to be singular name per PS guidelines
                foreach (string originId in OriginId)
                {
                    ResourceReference originIdResourceReference = new ResourceReference(originId);
                    originGroup.Origins.Add(originIdResourceReference);
                }
            }

            bool isProbeIntervalInSecondsNotZero = ProbeIntervalInSeconds != 0 ? true : false;

            if (isProbeIntervalInSecondsNotZero || !String.IsNullOrWhiteSpace(ProbePath) || !String.IsNullOrWhiteSpace(ProbeProtocol) || !String.IsNullOrWhiteSpace(ProbeRequestType))
            {
                int probeIntervalCopy = ProbeIntervalInSeconds;

                // when probe interval is 0 or not specified, set the probe interval to the default value
                if (!isProbeIntervalInSecondsNotZero)
                {
                    probeIntervalCopy = 240;
                }

                originGroup.HealthProbeSettings = new HealthProbeParameters
                {
                    ProbeIntervalInSeconds = probeIntervalCopy,
                    ProbePath        = ProbePath,
                    ProbeProtocol    = OriginGroupUtilities.NormalizeProbeProtocol(ProbeProtocol),
                    ProbeRequestType = OriginGroupUtilities.NormalizeProbeRequestType(ProbeRequestType)
                };
            }

            try
            {
                var updatedOriginGroup = CdnManagementClient.OriginGroups.Update(
                    ResourceGroupName,
                    ProfileName,
                    EndpointName,
                    OriginGroupName,
                    originGroup);

                WriteVerbose(Resources.Success);
                WriteObject(updatedOriginGroup.ToPsOriginGroup());
            }
            catch (ErrorResponseException e)
            {
                throw new PSArgumentException(string.Format("Error response received.Error Message: '{0}'",
                                                            e.Response.Content));
            }
        }
        private DeepCreatedOriginGroup CreateOriginGroup()
        {
            DeepCreatedOriginGroup originGroup = new DeepCreatedOriginGroup();

            originGroup.Name = OriginGroupName;

            originGroup.Origins = new List <ResourceReference>();

            if (OriginId != null)
            {
                // OriginId refers to the list of origin ids, needed to be singular name per PS guidelines
                foreach (string originId in OriginId)
                {
                    ResourceReference originIdResourceReference = new ResourceReference(originId);
                    originGroup.Origins.Add(originIdResourceReference);
                }
            }

            bool isProbeIntervalInSecondsNotZero = OriginGroupProbeIntervalInSeconds != 0 ? true : false;

            if (isProbeIntervalInSecondsNotZero || !String.IsNullOrWhiteSpace(OriginGroupProbePath) || !String.IsNullOrWhiteSpace(OriginGroupProbeProtocol) || !String.IsNullOrWhiteSpace(OriginGroupProbeRequestType))
            {
                int probeIntervalCopy = OriginGroupProbeIntervalInSeconds;

                // when probe interval is 0 or not specified, set the probe interval to the default value
                if (!isProbeIntervalInSecondsNotZero)
                {
                    probeIntervalCopy = 240;
                }

                originGroup.HealthProbeSettings = new HealthProbeParameters
                {
                    ProbeIntervalInSeconds = probeIntervalCopy,
                    ProbePath        = OriginGroupProbePath,
                    ProbeProtocol    = OriginGroupUtilities.NormalizeProbeProtocol(OriginGroupProbeProtocol),
                    ProbeRequestType = OriginGroupUtilities.NormalizeProbeRequestType(OriginGroupProbeRequestType)
                };
            }

            return(originGroup);
        }