// *** 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.AliCloud.Amqp.Outputs
{

    [OutputType]
    public sealed class GetBindingsBindingResult
    {
        /// <summary>
        /// X-match Attributes. Valid Values: All: Default Value, All the Message Header of Key-Value Pairs Stored in the Must Match. Any: at Least One Pair of the Message Header of Key-Value Pairs Stored in the Must Match. This Parameter Applies Only to Headers Exchange Other Types of Exchange Is Invalid. Other Types of Exchange Here Can Either Be an Arbitrary Value.
        /// </summary>
        public readonly string Argument;
        /// <summary>
        /// The Binding Key. The Source of the Binding Exchange Non-Topic Type: Can Only Contain Letters, Lowercase Letters, Numbers, and the Dash (-), the Underscore Character (_), English Periods (.) and the at Sign (@). Length from 1 to 255 Characters. The Source of the Binding Exchange Topic Type: Can Contain Letters, Lowercase Letters, Numbers, and the Dash (-), the Underscore Character (_), English Periods (.) and the at Sign (@). If You Include the Hash (.
        /// </summary>
        public readonly string BindingKey;
        /// <summary>
        /// The Target Binding Types.
        /// </summary>
        public readonly string BindingType;
        /// <summary>
        /// The Target Queue Or Exchange of the Name.
        /// </summary>
        public readonly string DestinationName;
        /// <summary>
        /// The ID of the Binding. The value formats as `&lt;instance_id&gt;:&lt;virtual_host_name&gt;:&lt;source_exchange&gt;:&lt;destination_name&gt;`.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// Instance Id.
        /// </summary>
        public readonly string InstanceId;
        /// <summary>
        /// The Source Exchange Name.
        /// </summary>
        public readonly string SourceExchange;
        /// <summary>
        /// Virtualhost Name.
        /// </summary>
        public readonly string VirtualHostName;

        [OutputConstructor]
        private GetBindingsBindingResult(
            string argument,

            string bindingKey,

            string bindingType,

            string destinationName,

            string id,

            string instanceId,

            string sourceExchange,

            string virtualHostName)
        {
            Argument = argument;
            BindingKey = bindingKey;
            BindingType = bindingType;
            DestinationName = destinationName;
            Id = id;
            InstanceId = instanceId;
            SourceExchange = sourceExchange;
            VirtualHostName = virtualHostName;
        }
    }
}
