<filename>sdk/dotnet/Outputs/AviatrixAppDomainSelectorMatchExpression.cs// *** 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;

namespace Pulumi.Aviatrix.Outputs
{

    [OutputType]
    public sealed class AviatrixAppDomainSelectorMatchExpression
    {
        /// <summary>
        /// - Account ID this expression matches.
        /// </summary>
        public readonly string? AccountId;
        /// <summary>
        /// - Account name this expression matches.
        /// </summary>
        public readonly string? AccountName;
        /// <summary>
        /// - CIDR block or IP Address this expression matches. `cidr` cannot be used with any other filters in the same `match_expressions` block.
        /// </summary>
        public readonly string? Cidr;
        /// <summary>
        /// - Region this expression matches.
        /// </summary>
        public readonly string? Region;
        /// <summary>
        /// - Resource ID this expression matches.
        /// </summary>
        public readonly string? ResId;
        /// <summary>
        /// - Map of tags this expression matches.
        /// </summary>
        public readonly ImmutableDictionary<string, string>? Tags;
        /// <summary>
        /// - Type of resource this expression matches. Must be one of "vm", "vpc" or "subnet". `type` is required when `cidr` is not used.
        /// </summary>
        public readonly string? Type;
        /// <summary>
        /// - Zone this expression matches.
        /// </summary>
        public readonly string? Zone;

        [OutputConstructor]
        private AviatrixAppDomainSelectorMatchExpression(
            string? accountId,

            string? accountName,

            string? cidr,

            string? region,

            string? resId,

            ImmutableDictionary<string, string>? tags,

            string? type,

            string? zone)
        {
            AccountId = accountId;
            AccountName = accountName;
            Cidr = cidr;
            Region = region;
            ResId = resId;
            Tags = tags;
            Type = type;
            Zone = zone;
        }
    }
}
