<reponame>Dwonczykj/gember_deploy// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Teo.Outputs
{

    [OutputType]
    public sealed class OriginGroupOriginRecord
    {
        /// <summary>
        /// Indicating origin site&amp;#39;s area when `Type` field is `area`. An empty List indicate the default area. Valid value:- Asia, Americas, Europe, Africa or Oceania.- 2 characters ISO 3166 area code.
        /// </summary>
        public readonly ImmutableArray<string> Areas;
        /// <summary>
        /// Port of the origin site. Valid value range: 1-65535.
        /// </summary>
        public readonly int Port;
        /// <summary>
        /// Whether origin site is using private authentication. Only valid when `OriginType` is `third_party`.
        /// </summary>
        public readonly bool? Private;
        /// <summary>
        /// Parameters for private authentication. Only valid when `Private` is `true`.
        /// </summary>
        public readonly ImmutableArray<Outputs.OriginGroupOriginRecordPrivateParameter> PrivateParameters;
        /// <summary>
        /// Record value, which could be an IPv4/IPv6 address or a domain.
        /// </summary>
        public readonly string Record;
        public readonly string? RecordId;
        /// <summary>
        /// Indicating origin site&amp;#39;s weight when `Type` field is `weight`. Valid value range: 1-100. Sum of all weights should be 100.
        /// </summary>
        public readonly int? Weight;

        [OutputConstructor]
        private OriginGroupOriginRecord(
            ImmutableArray<string> areas,

            int port,

            bool? @private,

            ImmutableArray<Outputs.OriginGroupOriginRecordPrivateParameter> privateParameters,

            string record,

            string? recordId,

            int? weight)
        {
            Areas = areas;
            Port = port;
            Private = @private;
            PrivateParameters = privateParameters;
            Record = record;
            RecordId = recordId;
            Weight = weight;
        }
    }
}
