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

    [OutputType]
    public sealed class GetApisListResult
    {
        /// <summary>
        /// Custom API description.
        /// </summary>
        public readonly string ApiDesc;
        /// <summary>
        /// Custom API name.
        /// </summary>
        public readonly string ApiName;
        /// <summary>
        /// API authentication type. Valid values: `SECRET`, `NONE`. `SECRET` means key pair authentication, `NONE` means no authentication.
        /// </summary>
        public readonly string AuthType;
        /// <summary>
        /// Creation time in the format of YYYY-MM-DDThh:mm:ssZ according to ISO 8601 standard. UTC time is used.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// Whether to enable CORS.
        /// </summary>
        public readonly bool EnableCors;
        /// <summary>
        /// Last modified time in the format of YYYY-MM-DDThh:mm:ssZ according to ISO 8601 standard. UTC time is used.
        /// </summary>
        public readonly string ModifyTime;
        /// <summary>
        /// API frontend request type, such as `HTTP`,`WEBSOCKET`.
        /// </summary>
        public readonly string Protocol;
        /// <summary>
        /// Request frontend method configuration. Like `GET`,`POST`,`PUT`,`DELETE`,`HEAD`,`ANY`.
        /// </summary>
        public readonly string RequestConfigMethod;
        /// <summary>
        /// Request frontend path configuration. Like `/user/getinfo`.
        /// </summary>
        public readonly string RequestConfigPath;
        /// <summary>
        /// Frontend request parameters.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApisListRequestParameterResult> RequestParameters;
        /// <summary>
        /// Custom error code configuration. Must keep at least one after set.
        /// </summary>
        public readonly ImmutableArray<Outputs.GetApisListResponseErrorCodeResult> ResponseErrorCodes;
        /// <summary>
        /// Response failure sample of custom response configuration.
        /// </summary>
        public readonly string ResponseFailExample;
        /// <summary>
        /// Successful response sample of custom response configuration.
        /// </summary>
        public readonly string ResponseSuccessExample;
        /// <summary>
        /// Return type.
        /// </summary>
        public readonly string ResponseType;
        /// <summary>
        /// API backend service request method, such as `GET`. If `service_config_type` is `HTTP`, this parameter will be required. The frontend `request_config_method` and backend method `service_config_method` can be different.
        /// </summary>
        public readonly string ServiceConfigMethod;
        /// <summary>
        /// Returned information of API backend mocking.
        /// </summary>
        public readonly string ServiceConfigMockReturnMessage;
        /// <summary>
        /// API backend service path, such as /path. If `service_config_type` is `HTTP`, this parameter will be required. The frontend `request_config_path` and backend path `service_config_path` can be different.
        /// </summary>
        public readonly string ServiceConfigPath;
        /// <summary>
        /// Backend type. This parameter takes effect when VPC is enabled. Currently, only `clb` is supported.
        /// </summary>
        public readonly string ServiceConfigProduct;
        /// <summary>
        /// SCF function name. This parameter takes effect when `service_config_type` is `SCF`.
        /// </summary>
        public readonly string ServiceConfigScfFunctionName;
        /// <summary>
        /// SCF function namespace. This parameter takes effect when  `service_config_type` is `SCF`.
        /// </summary>
        public readonly string ServiceConfigScfFunctionNamespace;
        /// <summary>
        /// SCF function version. This parameter takes effect when `service_config_type`  is `SCF`.
        /// </summary>
        public readonly string ServiceConfigScfFunctionQualifier;
        /// <summary>
        /// API backend service timeout period in seconds.
        /// </summary>
        public readonly int ServiceConfigTimeout;
        /// <summary>
        /// API backend service type.
        /// </summary>
        public readonly string ServiceConfigType;
        /// <summary>
        /// API backend service url. This parameter is required when `service_config_type` is `HTTP`.
        /// </summary>
        public readonly string ServiceConfigUrl;
        /// <summary>
        /// Unique VPC ID.
        /// </summary>
        public readonly string ServiceConfigVpcId;
        /// <summary>
        /// Service ID for query.
        /// </summary>
        public readonly string ServiceId;

        [OutputConstructor]
        private GetApisListResult(
            string apiDesc,

            string apiName,

            string authType,

            string createTime,

            bool enableCors,

            string modifyTime,

            string protocol,

            string requestConfigMethod,

            string requestConfigPath,

            ImmutableArray<Outputs.GetApisListRequestParameterResult> requestParameters,

            ImmutableArray<Outputs.GetApisListResponseErrorCodeResult> responseErrorCodes,

            string responseFailExample,

            string responseSuccessExample,

            string responseType,

            string serviceConfigMethod,

            string serviceConfigMockReturnMessage,

            string serviceConfigPath,

            string serviceConfigProduct,

            string serviceConfigScfFunctionName,

            string serviceConfigScfFunctionNamespace,

            string serviceConfigScfFunctionQualifier,

            int serviceConfigTimeout,

            string serviceConfigType,

            string serviceConfigUrl,

            string serviceConfigVpcId,

            string serviceId)
        {
            ApiDesc = apiDesc;
            ApiName = apiName;
            AuthType = authType;
            CreateTime = createTime;
            EnableCors = enableCors;
            ModifyTime = modifyTime;
            Protocol = protocol;
            RequestConfigMethod = requestConfigMethod;
            RequestConfigPath = requestConfigPath;
            RequestParameters = requestParameters;
            ResponseErrorCodes = responseErrorCodes;
            ResponseFailExample = responseFailExample;
            ResponseSuccessExample = responseSuccessExample;
            ResponseType = responseType;
            ServiceConfigMethod = serviceConfigMethod;
            ServiceConfigMockReturnMessage = serviceConfigMockReturnMessage;
            ServiceConfigPath = serviceConfigPath;
            ServiceConfigProduct = serviceConfigProduct;
            ServiceConfigScfFunctionName = serviceConfigScfFunctionName;
            ServiceConfigScfFunctionNamespace = serviceConfigScfFunctionNamespace;
            ServiceConfigScfFunctionQualifier = serviceConfigScfFunctionQualifier;
            ServiceConfigTimeout = serviceConfigTimeout;
            ServiceConfigType = serviceConfigType;
            ServiceConfigUrl = serviceConfigUrl;
            ServiceConfigVpcId = serviceConfigVpcId;
            ServiceId = serviceId;
        }
    }
}
